Back to Collection Items
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkXml.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Use this online tool to generate code from sample XML: Generate Code to Create XML
; The following XML is sent in the request body.
; <?xml version="1.0" encoding="utf-8"?>
; <submission>
; <documents>
; <document>
; <issuer>
; <type>B</type>
; <id>674859545</id>
; <name>الشركة المصدرة</name>
; <address>
; <buildingNumber>عمارة 40</buildingNumber>
; <room>123</room>
; <floor>16</floor>
; <street>15 احمد فخرى</street>
; <landmark>مستشفى حسبو</landmark>
; <additionalInformation>بجانب مستشفى حسبو</additionalInformation>
; <governate>القاهرة</governate>
; <regionCity>مدينة نصر</regionCity>
; <postalCode>098607</postalCode>
; <country>EG</country>
; <branchID>0</branchID>
; </address>
; </issuer>
; <receiver>
; <type>B</type>
; <id>200000640</id>
; <name>receiver</name>
; <address>
; <buildingNumber>عمارة 15</buildingNumber>
; <room>110</room>
; <floor>8</floor>
; <street>16 حوش عيسى</street>
; <landmark>جامع الرحمة</landmark>
; <additionalInformation>بجانب جامع الرحمة</additionalInformation>
; <governate>البحيرة</governate>
; <regionCity>دمنهور</regionCity>
; <postalCode>098661</postalCode>
; <country>EG</country>
; </address>
; </receiver>
; <documentType>I</documentType>
; <documentTypeVersion>0.9</documentTypeVersion>
; <dateTimeIssued>2021-02-01T00:30:22</dateTimeIssued>
; <taxpayerActivityCode>4620</taxpayerActivityCode>
; <internalID>ID1</internalID>
; <purchaseOrderReference>1230</purchaseOrderReference>
; <purchaseOrderDescription>وصف طلب الدفع</purchaseOrderDescription>
; <salesOrderReference>1452</salesOrderReference>
; <salesOrderDescription>وصف بيع الطلب</salesOrderDescription>
; <proformaInvoiceNumber>1485</proformaInvoiceNumber>
; <payment>
; <bankName>البنك الاهلى</bankName>
; <bankAddress>15 شارع النصر</bankAddress>
; <bankAccountNo>1234567</bankAccountNo>
; <bankAccountIBAN/>
; <swiftCode/>
; <terms>لا يمكن التزوير</terms>
; </payment>
; <delivery>
; <approach>جوى</approach>
; <packaging>تغليف</packaging>
; <dateValidity>2020-06-29T17:30:22Z</dateValidity>
; <exportPort>ميناء اسكندرية</exportPort>
; <countryOfOrigin>LS</countryOfOrigin>
; <grossWeight>123.45</grossWeight>
; <netWeight>122.87</netWeight>
; <terms>لا يمكن الفتح</terms>
; </delivery>
; <invoiceLines>
; <invoiceLine>
; <description>حاسب الى</description>
; <itemType>GS1</itemType>
; <itemCode>10003752</itemCode>
; <unitType>EA</unitType>
; <quantity>100.12134</quantity>
; <unitValue>
; <currencySold>EGP</currencySold>
; <amountEGP>100</amountEGP>
; </unitValue>
; <salesTotal>10012.134</salesTotal>
; <discount>
; <rate>0</rate>
; <amount>0</amount>
; </discount>
; <taxableItems>
; <taxableItem>
; <taxType>T1</taxType>
; <amount>0.0</amount>
; <subType>V001</subType>
; <rate>0.00</rate>
; </taxableItem>
; </taxableItems>
; <internalCode>IC0</internalCode>
; <itemsDiscount>0</itemsDiscount>
; <netTotal>10012.134</netTotal>
; <totalTaxableFees>0.00</totalTaxableFees>
; <valueDifference>0</valueDifference>
; <total>10012.134</total>
; </invoiceLine>
; </invoiceLines>
; <totalSalesAmount>10012.134</totalSalesAmount>
; <totalDiscountAmount>0.0</totalDiscountAmount>
; <netAmount>10012.134</netAmount>
; <taxTotals>
; <taxTotal>
; <taxType>T1</taxType>
; <amount>0.00</amount>
; </taxTotal>
; </taxTotals>
; <totalAmount>10012.134</totalAmount>
; <totalItemsDiscountAmount>0.00</totalItemsDiscountAmount>
; <extraDiscountAmount>0.00</extraDiscountAmount>
; <signatures>
; <signature>
; <signatureType>I</signatureType>
; <value/>
; </signature>
; </signatures>
; </document>
; </documents>
; </submission>
;
xml.i = CkXml::ckCreate()
If xml.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkXml::setCkTag(xml, "submission")
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|type","B")
CkXml::ckUpdateChildContentInt(xml,"documents|document|issuer|id",674859545)
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|name","الشركة المصدرة")
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|address|buildingNumber","عمارة 40")
CkXml::ckUpdateChildContentInt(xml,"documents|document|issuer|address|room",123)
CkXml::ckUpdateChildContentInt(xml,"documents|document|issuer|address|floor",16)
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|address|street","15 احمد فخرى")
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|address|landmark","مستشفى حسبو")
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|address|additionalInformation","بجانب مستشفى حسبو")
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|address|governate","القاهرة")
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|address|regionCity","مدينة نصر")
CkXml::ckUpdateChildContentInt(xml,"documents|document|issuer|address|postalCode",098607)
CkXml::ckUpdateChildContent(xml,"documents|document|issuer|address|country","EG")
CkXml::ckUpdateChildContentInt(xml,"documents|document|issuer|address|branchID",0)
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|type","B")
CkXml::ckUpdateChildContentInt(xml,"documents|document|receiver|id",200000640)
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|name","receiver")
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|address|buildingNumber","عمارة 15")
CkXml::ckUpdateChildContentInt(xml,"documents|document|receiver|address|room",110)
CkXml::ckUpdateChildContentInt(xml,"documents|document|receiver|address|floor",8)
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|address|street","16 حوش عيسى")
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|address|landmark","جامع الرحمة")
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|address|additionalInformation","بجانب جامع الرحمة")
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|address|governate","البحيرة")
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|address|regionCity","دمنهور")
CkXml::ckUpdateChildContentInt(xml,"documents|document|receiver|address|postalCode",098661)
CkXml::ckUpdateChildContent(xml,"documents|document|receiver|address|country","EG")
CkXml::ckUpdateChildContent(xml,"documents|document|documentType","I")
CkXml::ckUpdateChildContent(xml,"documents|document|documentTypeVersion","0.9")
CkXml::ckUpdateChildContent(xml,"documents|document|dateTimeIssued","2021-02-01T00:30:22")
CkXml::ckUpdateChildContentInt(xml,"documents|document|taxpayerActivityCode",4620)
CkXml::ckUpdateChildContent(xml,"documents|document|internalID","ID1")
CkXml::ckUpdateChildContentInt(xml,"documents|document|purchaseOrderReference",1230)
CkXml::ckUpdateChildContent(xml,"documents|document|purchaseOrderDescription","وصف طلب الدفع")
CkXml::ckUpdateChildContentInt(xml,"documents|document|salesOrderReference",1452)
CkXml::ckUpdateChildContent(xml,"documents|document|salesOrderDescription","وصف بيع الطلب")
CkXml::ckUpdateChildContentInt(xml,"documents|document|proformaInvoiceNumber",1485)
CkXml::ckUpdateChildContent(xml,"documents|document|payment|bankName","البنك الاهلى")
CkXml::ckUpdateChildContent(xml,"documents|document|payment|bankAddress","15 شارع النصر")
CkXml::ckUpdateChildContentInt(xml,"documents|document|payment|bankAccountNo",1234567)
CkXml::ckUpdateChildContent(xml,"documents|document|payment|bankAccountIBAN","")
CkXml::ckUpdateChildContent(xml,"documents|document|payment|swiftCode","")
CkXml::ckUpdateChildContent(xml,"documents|document|payment|terms","لا يمكن التزوير")
CkXml::ckUpdateChildContent(xml,"documents|document|delivery|approach","جوى")
CkXml::ckUpdateChildContent(xml,"documents|document|delivery|packaging","تغليف")
CkXml::ckUpdateChildContent(xml,"documents|document|delivery|dateValidity","2020-06-29T17:30:22Z")
CkXml::ckUpdateChildContent(xml,"documents|document|delivery|exportPort","ميناء اسكندرية")
CkXml::ckUpdateChildContent(xml,"documents|document|delivery|countryOfOrigin","LS")
CkXml::ckUpdateChildContent(xml,"documents|document|delivery|grossWeight","123.45")
CkXml::ckUpdateChildContent(xml,"documents|document|delivery|netWeight","122.87")
CkXml::ckUpdateChildContent(xml,"documents|document|delivery|terms","لا يمكن الفتح")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|description","حاسب الى")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|itemType","GS1")
CkXml::ckUpdateChildContentInt(xml,"documents|document|invoiceLines|invoiceLine|itemCode",10003752)
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|unitType","EA")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|quantity","100.12134")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|unitValue|currencySold","EGP")
CkXml::ckUpdateChildContentInt(xml,"documents|document|invoiceLines|invoiceLine|unitValue|amountEGP",100)
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|salesTotal","10012.134")
CkXml::ckUpdateChildContentInt(xml,"documents|document|invoiceLines|invoiceLine|discount|rate",0)
CkXml::ckUpdateChildContentInt(xml,"documents|document|invoiceLines|invoiceLine|discount|amount",0)
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|taxableItems|taxableItem|taxType","T1")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|taxableItems|taxableItem|amount","0.0")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|taxableItems|taxableItem|subType","V001")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|taxableItems|taxableItem|rate","0.00")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|internalCode","IC0")
CkXml::ckUpdateChildContentInt(xml,"documents|document|invoiceLines|invoiceLine|itemsDiscount",0)
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|netTotal","10012.134")
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|totalTaxableFees","0.00")
CkXml::ckUpdateChildContentInt(xml,"documents|document|invoiceLines|invoiceLine|valueDifference",0)
CkXml::ckUpdateChildContent(xml,"documents|document|invoiceLines|invoiceLine|total","10012.134")
CkXml::ckUpdateChildContent(xml,"documents|document|totalSalesAmount","10012.134")
CkXml::ckUpdateChildContent(xml,"documents|document|totalDiscountAmount","0.0")
CkXml::ckUpdateChildContent(xml,"documents|document|netAmount","10012.134")
CkXml::ckUpdateChildContent(xml,"documents|document|taxTotals|taxTotal|taxType","T1")
CkXml::ckUpdateChildContent(xml,"documents|document|taxTotals|taxTotal|amount","0.00")
CkXml::ckUpdateChildContent(xml,"documents|document|totalAmount","10012.134")
CkXml::ckUpdateChildContent(xml,"documents|document|totalItemsDiscountAmount","0.00")
CkXml::ckUpdateChildContent(xml,"documents|document|extraDiscountAmount","0.00")
CkXml::ckUpdateChildContent(xml,"documents|document|signatures|signature|signatureType","I")
CkXml::ckUpdateChildContent(xml,"documents|document|signatures|signature|value","")
; Adds the "Authorization: Bearer <access_token>" header.
CkHttp::setCkAuthToken(http, "<access_token>")
CkHttp::ckSetRequestHeader(http,"Content-Type","application/xml")
sbRequestBody.i = CkStringBuilder::ckCreate()
If sbRequestBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkXml::ckGetXmlSb(xml,sbRequestBody)
resp.i = CkHttp::ckPTextSb(http,"POST","https://domain.com/api/v1/documentsubmissions",sbRequestBody,"utf-8","application/xml",0,0)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkXml::ckDispose(xml)
CkStringBuilder::ckDispose(sbRequestBody)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkXml::ckDispose(xml)
CkStringBuilder::ckDispose(sbRequestBody)
ProcedureReturn
EndProcedure
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
-H "Content-Type: application/xml"
-d '<submission>
<documents>
<document>
<issuer>
<type>B</type>
<id>674859545</id>
<name>الشركة المصدرة</name>
<address>
<buildingNumber>عمارة 40</buildingNumber>
<room>123</room>
<floor>16</floor>
<street>15 احمد فخرى</street>
<landmark>مستشفى حسبو</landmark>
<additionalInformation>بجانب مستشفى حسبو</additionalInformation>
<governate>القاهرة</governate>
<regionCity>مدينة نصر</regionCity>
<postalCode>098607</postalCode>
<country>EG</country>
<branchID>0</branchID>
</address>
</issuer>
<receiver>
<type>B</type>
<id>200000640</id>
<name>receiver</name>
<address>
<buildingNumber>عمارة 15</buildingNumber>
<room>110</room>
<floor>8</floor>
<street>16 حوش عيسى</street>
<landmark>جامع الرحمة</landmark>
<additionalInformation>بجانب جامع الرحمة</additionalInformation>
<governate>البحيرة</governate>
<regionCity>دمنهور</regionCity>
<postalCode>098661</postalCode>
<country>EG</country>
</address>
</receiver>
<documentType>I</documentType>
<documentTypeVersion>0.9</documentTypeVersion>
<dateTimeIssued>2021-02-01T00:30:22</dateTimeIssued>
<taxpayerActivityCode>4620</taxpayerActivityCode>
<internalID>ID1</internalID>
<purchaseOrderReference>1230</purchaseOrderReference>
<purchaseOrderDescription>وصف طلب الدفع</purchaseOrderDescription>
<salesOrderReference>1452</salesOrderReference>
<salesOrderDescription>وصف بيع الطلب</salesOrderDescription>
<proformaInvoiceNumber>1485</proformaInvoiceNumber>
<payment>
<bankName>البنك الاهلى</bankName>
<bankAddress>15 شارع النصر</bankAddress>
<bankAccountNo>1234567</bankAccountNo>
<bankAccountIBAN></bankAccountIBAN>
<swiftCode></swiftCode>
<terms>لا يمكن التزوير</terms>
</payment>
<delivery>
<approach>جوى</approach>
<packaging>تغليف</packaging>
<dateValidity>2020-06-29T17:30:22Z</dateValidity>
<exportPort>ميناء اسكندرية</exportPort>
<countryOfOrigin>LS</countryOfOrigin>
<grossWeight>123.45</grossWeight>
<netWeight>122.87</netWeight>
<terms>لا يمكن الفتح</terms>
</delivery>
<invoiceLines>
<invoiceLine>
<description>حاسب الى</description>
<itemType>GS1</itemType>
<itemCode>10003752</itemCode>
<unitType>EA</unitType>
<quantity>100.12134</quantity>
<unitValue>
<currencySold>EGP</currencySold>
<amountEGP>100</amountEGP>
</unitValue>
<salesTotal>10012.134</salesTotal>
<discount>
<rate>0</rate>
<amount>0</amount>
</discount>
<taxableItems>
<taxableItem>
<taxType>T1</taxType>
<amount>0.0</amount>
<subType>V001</subType>
<rate>0.00</rate>
</taxableItem>
</taxableItems>
<internalCode>IC0</internalCode>
<itemsDiscount>0</itemsDiscount>
<netTotal>10012.134</netTotal>
<totalTaxableFees>0.00</totalTaxableFees>
<valueDifference>0</valueDifference>
<total>10012.134</total>
</invoiceLine>
</invoiceLines>
<totalSalesAmount>10012.134</totalSalesAmount>
<totalDiscountAmount>0.0</totalDiscountAmount>
<netAmount>10012.134</netAmount>
<taxTotals>
<taxTotal>
<taxType>T1</taxType>
<amount>0.00</amount>
</taxTotal>
</taxTotals>
<totalAmount>10012.134</totalAmount>
<totalItemsDiscountAmount>0.00</totalItemsDiscountAmount>
<extraDiscountAmount>0.00</extraDiscountAmount>
<signatures>
<signature>
<signatureType>I</signatureType>
<value></value>
</signature>
</signatures>
</document>
</documents>
</submission>'
https://domain.com/api/v1/documentsubmissions
Postman Collection Item JSON
{
"name": "1.2 Submit Documents (XML)",
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{generatedAccessToken}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/xml"
}
],
"body": {
"mode": "raw",
"raw": "<submission>\r\n <documents>\r\n <document>\r\n <issuer>\r\n <type>B</type>\r\n <id>674859545</id>\r\n <name>الشركة المصدرة</name>\r\n <address>\r\n <buildingNumber>عمارة 40</buildingNumber>\r\n <room>123</room>\r\n <floor>16</floor>\r\n <street>15 احمد فخرى</street>\r\n <landmark>مستشفى حسبو</landmark>\r\n <additionalInformation>بجانب مستشفى حسبو</additionalInformation>\r\n <governate>القاهرة</governate>\r\n <regionCity>مدينة نصر</regionCity>\r\n <postalCode>098607</postalCode>\r\n <country>EG</country>\r\n <branchID>0</branchID>\r\n </address>\r\n </issuer>\r\n <receiver>\r\n <type>B</type>\r\n <id>200000640</id>\r\n <name>receiver</name>\r\n <address>\r\n <buildingNumber>عمارة 15</buildingNumber>\r\n <room>110</room>\r\n <floor>8</floor>\r\n <street>16 حوش عيسى</street>\r\n <landmark>جامع الرحمة</landmark>\r\n <additionalInformation>بجانب جامع الرحمة</additionalInformation>\r\n <governate>البحيرة</governate>\r\n <regionCity>دمنهور</regionCity>\r\n <postalCode>098661</postalCode>\r\n <country>EG</country>\r\n </address>\r\n </receiver>\r\n <documentType>I</documentType>\r\n <documentTypeVersion>0.9</documentTypeVersion>\r\n <dateTimeIssued>2021-02-01T00:30:22</dateTimeIssued>\r\n <taxpayerActivityCode>4620</taxpayerActivityCode>\r\n <internalID>ID1</internalID>\r\n <purchaseOrderReference>1230</purchaseOrderReference>\r\n <purchaseOrderDescription>وصف طلب الدفع</purchaseOrderDescription>\r\n <salesOrderReference>1452</salesOrderReference>\r\n <salesOrderDescription>وصف بيع الطلب</salesOrderDescription>\r\n <proformaInvoiceNumber>1485</proformaInvoiceNumber>\r\n \r\n <payment>\r\n <bankName>البنك الاهلى</bankName>\r\n <bankAddress>15 شارع النصر</bankAddress>\r\n <bankAccountNo>1234567</bankAccountNo>\r\n <bankAccountIBAN></bankAccountIBAN>\r\n <swiftCode></swiftCode>\r\n <terms>لا يمكن التزوير</terms>\r\n </payment>\r\n <delivery>\r\n <approach>جوى</approach>\r\n <packaging>تغليف</packaging>\r\n <dateValidity>2020-06-29T17:30:22Z</dateValidity>\r\n <exportPort>ميناء اسكندرية</exportPort>\r\n <countryOfOrigin>LS</countryOfOrigin>\r\n <grossWeight>123.45</grossWeight>\r\n <netWeight>122.87</netWeight>\r\n <terms>لا يمكن الفتح</terms>\r\n </delivery>\r\n <invoiceLines>\r\n <invoiceLine>\r\n <description>حاسب الى</description>\r\n <itemType>GS1</itemType>\r\n <itemCode>10003752</itemCode>\r\n <unitType>EA</unitType>\r\n <quantity>100.12134</quantity>\r\n <unitValue>\r\n <currencySold>EGP</currencySold>\r\n <amountEGP>100</amountEGP>\r\n </unitValue>\r\n \r\n <salesTotal>10012.134</salesTotal>\r\n <discount>\r\n <rate>0</rate>\r\n <amount>0</amount>\r\n </discount>\r\n <taxableItems>\r\n <taxableItem>\r\n <taxType>T1</taxType>\r\n <amount>0.0</amount>\r\n <subType>V001</subType>\r\n <rate>0.00</rate>\r\n </taxableItem>\r\n \r\n </taxableItems>\r\n <internalCode>IC0</internalCode>\r\n <itemsDiscount>0</itemsDiscount>\r\n <netTotal>10012.134</netTotal>\r\n <totalTaxableFees>0.00</totalTaxableFees>\r\n <valueDifference>0</valueDifference>\r\n <total>10012.134</total>\r\n </invoiceLine>\r\n </invoiceLines>\r\n <totalSalesAmount>10012.134</totalSalesAmount>\r\n <totalDiscountAmount>0.0</totalDiscountAmount>\r\n <netAmount>10012.134</netAmount>\r\n <taxTotals>\r\n <taxTotal>\r\n <taxType>T1</taxType>\r\n <amount>0.00</amount>\r\n </taxTotal>\r\n </taxTotals>\r\n <totalAmount>10012.134</totalAmount>\r\n <totalItemsDiscountAmount>0.00</totalItemsDiscountAmount>\r\n <extraDiscountAmount>0.00</extraDiscountAmount>\r\n <signatures>\r\n <signature>\r\n <signatureType>I</signatureType>\r\n <value></value>\r\n </signature>\r\n </signatures>\r\n \r\n </document>\r\n </documents>\r\n</submission>\r\n"
},
"url": {
"raw": "{{apiBaseUrl}}/api/v1/documentsubmissions",
"host": [
"{{apiBaseUrl}}"
],
"path": [
"api",
"v1",
"documentsubmissions"
]
},
"description": "Remember that you can include multiple documents within the same submission."
},
"response": [
]
}