AOTG API: Delete Debtor: Difference between revisions

No edit summary
 
(21 intermediate revisions by the same user not shown)
Line 1:
==Draft==
 
==Delete Debtor==
Delete a specific Debtor.<br/>
*'''debtorId''' is a unique identifier created in AOTG.
*See [[AOTG API: Get List of Debtor#Response_From_Result|Get List of Debtor]] on how to obtain '''Id''' (that is created in AOTG).
{{AOTGApiMethodsSpec|DELETE|/api/public/v1/Debtor/{debtorId} |Params=None}}
 
==API Request Flow==
[[File:AOTGApiCompleteOrFailFlow.png|link=]]
#Submit Delete request of a debtor with an Id of the debtor
#Check the successful request status, if the action is '''Completed''' or '''Failed'''.
#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'''.
{{AOTGApiCodeSnippetTab
|PHPHttp=
Line 74 ⟶ 79:
 
===Response===
AOTG*Successful CloudResponse Serverindicates returns successful response when the'''DELETE request''' has been performed.<br/>
But this response does not indicate the status of the delete.<br/>
As such, use '''RESULT''' method to acquire the status.
====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.
<syntaxhighlight lang="json-object">
<syntaxhighlight lang="json-object" highlight="2,3">
{
"Id": "f0268032-c161-4548-a74a-adb7143274a6",
Line 88 ⟶ 92:
}
</syntaxhighlight>
 
{{Note|AOTG Cloud Server returns successful response when the request has been performed.<br/>
But this response does not indicate the status of the delete.<br/>
As such, use '''RESULT''' method to acquire the status.
}}
 
==Get Status of the DELETE==
===Code Snippets===
{{AOTGApiCodeSnippetTab
|PHPHttp=
<syntaxhighlight lang="PHP">
<?php
 
$request = new HttpRequest();
===Response===
$request->setUrl('http://aotg.cloud:8080/api/public/v1/Result/f0268032-c161-4548-a74a-adb7143274a6');
====Response Successful HTTP Request====
$request->setMethod(HTTP_METH_GET);
200 OK
 
====Response Successful Body====
$request->setHeaders(array(
<syntaxhighlight lang="json-object">
'cache-control' => 'no-cache',
{
'SOTC_AUTH' => 'SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d'
"RequestId": "87e028c2-f9f1-40ef-8b76-e3fd82d298ae",
));
"Status": "Completed"
 
try {
$response = $request->send();
 
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
</syntaxhighlight>
|RestSharp=
<syntaxhighlight lang="C#">
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);
</syntaxhighlight>
|PHPcURL=
<syntaxhighlight lang="PHP">
<?php
 
$curl = curl_init();
===Response===
 
====Response Successful HTTP Request====
curl_setopt_array($curl, array(
200 OK
CURLOPT_PORT => "8080",
====Response Successful Body====
CURLOPT_URL => "http://aotg.cloud:8080/api/public/v1/Result/f0268032-c161-4548-a74a-adb7143274a6",
<syntaxhighlight lang="json-object">
CURLOPT_RETURNTRANSFER => true,
{
CURLOPT_ENCODING => "",
"RequestId": "11eaf086-6f26-4f47-9352-6b72b94fe320",
CURLOPT_MAXREDIRS => 10,
"Status": "Failed"
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;
}
</syntaxhighlight>
}}
 
====Response Status====
===Use Result to find reason of failed===
{{AOTGResponseStatus|"f0268032-c161-4548-a74a-adb7143274a6"}}
 
==Use RESULT method to get the failed reason of DELETE request==
===Code Snippets===
{{AOTGApiCodeSnippetTab
|PHPHttp=
<syntaxhighlight lang="PHP">
<?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;
}
</syntaxhighlight>
|RestSharp=
<syntaxhighlight lang="C#">
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);
</syntaxhighlight>
|PHPcURL=
<syntaxhighlight lang="PHP">
<?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;
}
</syntaxhighlight>
}}
 
<br/>
====Response Successful from HTTP RESULT====
200 OK
====Result of Failed reason====
=====Debtor record not found=====
<tabber>
Body=
<syntaxhighlight lang="json-object">
{
"RequestId": "11eaf086f0268032-6f26c161-4f474548-9352a74a-6b72b94fe320adb7143274a6",
"RequestName": "DeleteDebtor",
"HostName": "---",
Line 135 ⟶ 263:
"ResultFileURL": null
}
</syntaxhighlight>
|-|
Readable of ResultJson=
<syntaxhighlight lang="json-object">
{
"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"
}
</syntaxhighlight>
</tabber>
 
=====Account in use, can't delete debtor=====
 
<tabber>
 
Body=
 
<syntaxhighlight lang="json-object">
{
"RequestId": "f0268032-c161-4548-a74a-adb7143274a6",
Line 159 ⟶ 299:
"ResultFileURL": null
}
</syntaxhighlight>
|-|
Readable of ResultJson=
<syntaxhighlight lang="json-object">
{
"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"
}
</syntaxhighlight>
</tabber>
 
<br/>