AOTG API: Create AR Invoice

From AutoCount Resource Center
Revision as of 07:59, 4 March 2019 by DanielY (talk | contribs)
Jump to navigation Jump to search

<DRAFT>

Incompleted!


Create AR Invoice

Add a new AR Invoice to account book

API Method

Http Method: POST
Method: /api/public/v1/ARInvoice/CreateARInvoice
Content-Type: application/json
Parameters: None

API Request Flow

AOTGApiCompleteOrFailFlow.png

  1. Submit CreateARInvoice request to add a new AR Invoice to account book.
  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/ARInvoice/CreateARInvoice');
$request->setMethod(HTTP_METH_POST);

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

$request->setBody('{
  "DebtorCode": "300-A001",
  "Description": "AOTG IMPORT TEST A",
  "DocDate": "01-01-2019",
  "DocNo": "AOTG007",
  "JournalType": "SALES",
  "RefNo2": "AOTG Web API",
  "InclusiveTax": true,
  "Agent": "TOM",
  "CreditTerm": "Net 30 days",
  "CurrencyCode": "MYR",
  "DetailsLine": [
    {
      "LineState": 0,
      "AccNo": "500-0000",
      "Description": "AOTG Sales Detail 1",
      "Tax": "S-10",
      "Amount": 350
    },
    {
      "LineState": 1,
      "AccNo": "500-0000",
      "Description": "AOTG Sales Detail 2",
      "Tax": "S-10",
      "Amount": 5
    }
  ]
}');

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

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

var client = new RestClient("http://aotg.cloud:8080/api/public/v1/ARInvoice/CreateARInvoice");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("SOTC_AUTH", "SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d");
request.AddParameter("undefined", "{\r\n  \"DebtorCode\": \"300-A001\",\r\n  \"Description\": \"AOTG IMPORT TEST A\",\r\n  \"DocDate\": \"01-01-2019\",\r\n  \"DocNo\": \"AOTG007\",\r\n  \"JournalType\": \"SALES\",\r\n  \"RefNo2\": \"AOTG Web API\",\r\n  \"InclusiveTax\": true,\r\n  \"Agent\": \"TOM\",\r\n  \"CreditTerm\": \"Net 30 days\",\r\n  \"CurrencyCode\": \"MYR\",\r\n  \"DetailsLine\": [\r\n    {\r\n      \"LineState\": 0,\r\n      \"AccNo\": \"500-0000\",\r\n      \"Description\": \"AOTG Sales Detail 1\",\r\n      \"Tax\": \"S-10\",\r\n      \"Amount\": 350\r\n    },\r\n    {\r\n      \"LineState\": 1,\r\n      \"AccNo\": \"500-0000\",\r\n      \"Description\": \"AOTG Sales Detail 2\",\r\n      \"Tax\": \"S-10\",\r\n      \"Amount\": 5\r\n    }\r\n  ]\r\n}", ParameterType.RequestBody);
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/ARInvoice/CreateARInvoice",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\r\n  \"DebtorCode\": \"300-A001\",\r\n  \"Description\": \"AOTG IMPORT TEST A\",\r\n  \"DocDate\": \"01-01-2019\",\r\n  \"DocNo\": \"AOTG007\",\r\n  \"JournalType\": \"SALES\",\r\n  \"RefNo2\": \"AOTG Web API\",\r\n  \"InclusiveTax\": true,\r\n  \"Agent\": \"TOM\",\r\n  \"CreditTerm\": \"Net 30 days\",\r\n  \"CurrencyCode\": \"MYR\",\r\n  \"DetailsLine\": [\r\n    {\r\n      \"LineState\": 0,\r\n      \"AccNo\": \"500-0000\",\r\n      \"Description\": \"AOTG Sales Detail 1\",\r\n      \"Tax\": \"S-10\",\r\n      \"Amount\": 350\r\n    },\r\n    {\r\n      \"LineState\": 1,\r\n      \"AccNo\": \"500-0000\",\r\n      \"Description\": \"AOTG Sales Detail 2\",\r\n      \"Tax\": \"S-10\",\r\n      \"Amount\": 5\r\n    }\r\n  ]\r\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "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;
}

import requests

url = "http://aotg.cloud:8080/api/public/v1/ARInvoice/CreateARInvoice"

payload = "{\r\n  \"DebtorCode\": \"300-A001\",\r\n  \"Description\": \"AOTG IMPORT TEST A\",\r\n  \"DocDate\": \"01-01-2019\",\r\n  \"DocNo\": \"AOTG007\",\r\n  \"JournalType\": \"SALES\",\r\n  \"RefNo2\": \"AOTG Web API\",\r\n  \"InclusiveTax\": true,\r\n  \"Agent\": \"TOM\",\r\n  \"CreditTerm\": \"Net 30 days\",\r\n  \"CurrencyCode\": \"MYR\",\r\n  \"DetailsLine\": [\r\n    {\r\n      \"LineState\": 0,\r\n      \"AccNo\": \"500-0000\",\r\n      \"Description\": \"AOTG Sales Detail 1\",\r\n      \"Tax\": \"S-10\",\r\n      \"Amount\": 350\r\n    },\r\n    {\r\n      \"LineState\": 1,\r\n      \"AccNo\": \"500-0000\",\r\n      \"Description\": \"AOTG Sales Detail 2\",\r\n      \"Tax\": \"S-10\",\r\n      \"Amount\": 5\r\n    }\r\n  ]\r\n}"
headers = {
    'SOTC_AUTH': "SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d",
    'Content-Type': "application/json",
    'cache-control': "no-cache"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)


Response

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": "def14c1a-cdb5-4aa4-834d-0b9c1faa1532",
    "Name": "CreateARInvoice",
    "StartTimestamp": "2019-03-04T07:43:25.2720622Z",
    "EndTimestamp": "2019-03-04T07:43:25.2720622Z"
}
Tips icons.png AOTG Cloud Server returns successful response when the request has been performed.

But this response does not indicate the status of Create AR Invoice.
Use RESULT method to acquire the status.


Get Status of the Create Debtor

Code Snippets

<?php

$request = new HttpRequest();
$request->setUrl('http://aotg.cloud:8080/api/public/v1/Result/def14c1a-cdb5-4aa4-834d-0b9c1faa1532');
$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/def14c1a-cdb5-4aa4-834d-0b9c1faa1532");
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/def14c1a-cdb5-4aa4-834d-0b9c1faa1532",
  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;
}

import requests

url = "http://aotg.cloud:8080/api/public/v1/Result/def14c1a-cdb5-4aa4-834d-0b9c1faa1532"

payload = ""
headers = {
    'SOTC_AUTH': "SAMc13a36d2-a139-e911-b8b3-000d3aa04f3d",
    'cache-control': "no-cache",
    }

response = requests.request("GET", url, data=payload, headers=headers)

print(response.text)


Response

200 OK
Completed status
  • Completed status Indicates that the Create AR Invoice request has been performed and succeeded.
{
    "RequestId": "def14c1a-cdb5-4aa4-834d-0b9c1faa1532",
    "Status": "Completed"
}
Failed status
  • Failed status Indicates that the Create AR Invoice request has been performed but has error.
{
    "RequestId": "def14c1a-cdb5-4aa4-834d-0b9c1faa1532",
    "Status": "Failed"
}





See Also AOTG API


Go to menu

IconAC81.png Go to top
ProgrammerGo.jpg Resources For AutoCount Software Developers