AOTG API: Delete Debtor

Revision as of 03:54, 4 March 2019 by DanielY (talk | contribs)

Delete Debtor

Delete a specific Debtor.

  • debtorId is a unique identifier created in AOTG.
  • See Get List of Debtor on how to obtain Id (that is created in AOTG).

API Method

Http Method: DELETE
Method: /api/public/v1/Debtor/{debtorId}
Content-Type: application/json
Parameters: None

API Request Flow

 

  1. Submit Delete request of a debtor with an Id of the debtor
  2. Check the successful request status, if the action is completed or failed.
  3. To get the failed reason, use RESULT method to retrieve the message of completed or failed.

Code Snippets

  • Add header of "SOTC_AUTH", and assign value of AccessToken.

<?php

$request = new HttpRequest();
$request->setUrl('http://aotg.cloud:8080/api/public/v1/Debtor/{[%21MzAwLUEwMDE%21]}');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'SOTC_AUTH' => 'SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}

var client = new RestClient("http://aotg.cloud:8080/api/public/v1/Debtor/{[%21MzAwLUEwMDE%21]}");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("SOTC_AUTH", "SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d");
IRestResponse response = client.Execute(request);

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_PORT => "8080",
  CURLOPT_URL => "http://aotg.cloud:8080/api/public/v1/Debtor/{[%21MzAwLUEwMDE%21]}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "SOTC_AUTH: SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d",
    "cache-control: no-cache"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Code is not available


Response

  • Successful Response indicates DELETE request has been performed.

Response Successful HTTP Request

200 OK

Response Successful Body

  • Id and Name can be used to retrieve the status and reason of the failed status.
{
    "Id": "f0268032-c161-4548-a74a-adb7143274a6",
    "Name": "DeleteDebtor",
    "StartTimestamp": "2019-02-28T05:02:28.7462812Z",
    "EndTimestamp": "2019-02-28T05:02:28.7462812Z"
}
  AOTG Cloud Server returns successful response when the request has been performed.

But this response does not indicate the status of the delete.
As such, use RESULT method to acquire the status.

Get Status of the DELETE

Code Snippets

<?php

$request = new HttpRequest();
$request->setUrl('http://aotg.cloud:8080/api/public/v1/Result/f0268032-c161-4548-a74a-adb7143274a6');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'SOTC_AUTH' => 'SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}

var client = new RestClient("http://aotg.cloud:8080/api/public/v1/Result/f0268032-c161-4548-a74a-adb7143274a6");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("SOTC_AUTH", "SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d");
IRestResponse response = client.Execute(request);

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_PORT => "8080",
  CURLOPT_URL => "http://aotg.cloud:8080/api/public/v1/Result/f0268032-c161-4548-a74a-adb7143274a6",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "SOTC_AUTH: SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d",
    "cache-control: no-cache"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Code is not available


Response

200 OK
Completed status
  • Completed status Indicates that the DELETE request has been performed and succeeded.
{
    "RequestId": "f0268032-c161-4548-a74a-adb7143274a6",
    "Status": "Completed"
}
Failed status
  • Failed status Indicates that the DELETE request has been performed but has error.
{
    "RequestId": "f0268032-c161-4548-a74a-adb7143274a6",
    "Status": "Failed"
}

Use RESULT method to get the failed reason of DELETE request

Code Snippets

<?php

$request = new HttpRequest();
$request->setUrl('http://aotg.cloud:8080/api/public/v1/Result/DeleteDebtor/f0268032-c161-4548-a74a-adb7143274a6/result');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'SOTC_AUTH' => 'SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}

var client = new RestClient("http://aotg.cloud:8080/api/public/v1/Result/DeleteDebtor/f0268032-c161-4548-a74a-adb7143274a6/result");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("SOTC_AUTH", "SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d");
IRestResponse response = client.Execute(request);

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_PORT => "8080",
  CURLOPT_URL => "http://aotg.cloud:8080/api/public/v1/Result/DeleteDebtor/f0268032-c161-4548-a74a-adb7143274a6/result",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "SOTC_AUTH: SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d",
    "cache-control: no-cache"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Code is not available


Response Successful from HTTP RESULT

200 OK

Result of Failed reason

Debtor record not found

{
    "RequestId": "f0268032-c161-4548-a74a-adb7143274a6",
    "RequestName": "DeleteDebtor",
    "HostName": "---",
    "IPAddress": "---",
    "RequestTypeName": null,
    "ResultJson": "{\"Message\":\"Debtor record not found (AccNo=300-A002).\",\"StackTrace\":\"   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\\r\\n   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)\\r\\n   at PSW.SOTC.Accounting.InProcess.AppServiceDispatcher.<DispatchRequest>d__13.MoveNext()\",\"Source\":\"PSW.SOTC.Accounting.Provider.Autocount\"}",
    "RequestParamJson": null,
    "ResultStream": null,
    "ResultTypeName": "PSW.SOTC.Accounting.Provider.Models.ExceptionEntity",
    "Status": "Failed",
    "Version": "1.2.19051.12002",
    "AccountBookInfo": "Plug-In 1.9 Test-1.0.9.77",
    "AccountBookDBInfo": "1.0.9.77",
    "Timestamp": "2019-02-28T04:52:00.3825908Z",
    "ResultedTimestamp": null,
    "ProcessingInterval": 0.3498795,
    "InQueueInterval": null,
    "ResultFileURL": null
}

{
  "Message": "Debtor record not found (AccNo=300-A002).",
  "StackTrace": "   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)   at PSW.SOTC.Accounting.InProcess.AppServiceDispatcher.<DispatchRequest>d__13.MoveNext()",
  "Source": "PSW.SOTC.Accounting.Provider.Autocount"
}

Account in use, can't delete debtor

{
    "RequestId": "f0268032-c161-4548-a74a-adb7143274a6",
    "RequestName": "DeleteDebtor",
    "HostName": "---",
    "IPAddress": "---",
    "RequestTypeName": null,
    "ResultJson": "{\"Message\":\"Account in use, can't delete debtor.\",\"StackTrace\":\"   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\\r\\n   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)\\r\\n   at PSW.SOTC.Accounting.InProcess.AppServiceDispatcher.<DispatchRequest>d__13.MoveNext()\",\"Source\":\"PSW.SOTC.Accounting.Provider.Autocount\"}",
    "RequestParamJson": null,
    "ResultStream": null,
    "ResultTypeName": "PSW.SOTC.Accounting.Provider.Models.ExceptionEntity",
    "Status": "Failed",
    "Version": "1.2.19051.12002",
    "AccountBookInfo": "Plug-In 1.9 Test-1.0.9.77",
    "AccountBookDBInfo": "1.0.9.77",
    "Timestamp": "2019-02-28T05:02:31.0804976Z",
    "ResultedTimestamp": null,
    "ProcessingInterval": 0.47969649999999997,
    "InQueueInterval": null,
    "ResultFileURL": null
}

{
  "Message": "Account in use, can't delete debtor.",
  "StackTrace": "   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)   at PSW.SOTC.Accounting.InProcess.AppServiceDispatcher.<DispatchRequest>d__13.MoveNext()",
  "Source": "PSW.SOTC.Accounting.Provider.Autocount"
}


See Also AOTG API


Go to menu

  Go to top
  Resources For AutoCount Software Developers