Indeed!
So in my case, it would be an extension to the standard, by adding the operation you need to support; having a new path with its allowed methods, which in my case would be POST /tmf-api/accountManagement/v4/billingAccount/Terminate_Account where in the body we would pass the id of the Account we would like to terminate, plus all other fields that we define for the schema that supports the path:
New Path:
/Terminate_Account
"post": {
"operationId": "createTerminate_Account",
"summary": "Creates a Terminate Account",
"description": "This operation creates a terminate account entity/task.",
"parameters": [
{
"name": "TerminateAccount",
"description": "......",
"required": true,
"schema": {
"$ref": "#/definitions/Terminate_Account_Create"
},
etc.
If Im not mistaken that is how is properly done....
------------------------------
manuel pastor
Salesforce
------------------------------
Original Message:
Sent: Jan 11, 2024 07:50
From: Jonathan Goldberg
Subject: Invoke Actions/Processes instead of CRUD Operations
Hi Manuel
You are looking for a way to express business operations that fall outside the CRUD scope. And since we are using the REST syntax, we are limited in the number of verbs that we have at our disposal, and how they can be shoehorned to have specific business semantics.
TMF Open API uses the Task Resource pattern, documented in TMF630 design guidelines. You can find examples in many APIs, such as CancelProductOrder in TMF622, or all the balance management operations in Prepay Balance Management. The idea is that the task resource is posted, and this executes the task, which might be equivalent to a synchronous operation, or could be asynchronous.
Hope it helps
------------------------------
Jonathan Goldberg
Amdocs Management Limited
Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
------------------------------