CFL Import Sales Documents API
APIPublisher = 'christiaens';
APIGroup = 'bocountdynamics';
APIVersion = 'v2.0';
EntityName = 'importsalesdocument';
EntitySetName = 'importsalesdocuments';
GET
Method: GET
https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments(id)
entity:
{
"@odata.etag": "W/\"JzIwOzEyMjQ2ODA5MTk5NDM2ODMzMjk5MTswMDsn\"",
"id": "dcaa72ee-a42e-ed11-97e8-000d3a254c9a",
"contentstring": "",
"service":false,
"documentType": "Invoice",
"no": "201907049",
"customerNo": "1417",
"name": "",
"postingDescription": "",
"standardFormatMessage": "141790704943",
"journalTemplateName": "VERKOOP",
"postingDate": "2019-06-14",
"documentDate": "2019-06-14",
"dueDate": "2019-06-14",
"paymentDiscountPct": 0,
"pmtDiscountDate": "0001-01-01",
"vatBaseDiscountPct": 0,
"currencyCode": "",
"currencyFactor": 0,
"vatBusPostingGroup": "BINNENLAND",
"invoiceDiscountAmount": 0,
"docAmountInclVAT": 119.49,
"docAmountVAT": 20.74,
"shortcutDimension1Code": "",
"shortcutDimension2Code": "",
"eloID": "",
"cflArea": "",
"transactionSpecification": "",
"transactionType": "",
"transportMethod": "",
"docImage":"",
"docNotes":"",
"createdDocType": 0,
"createdDocSubtype": 0,
"createdDocNo": "",
"errorMessage": ""
}
DELETE
Method: DELETE
https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments(id)
UPDATE
method: PATCH
https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments(dcaa72ee-a42e-ed11-97e8-000d3a254c9a)
Headers:
"If-Match" :W/"JzIwOzEyMjQ2ODA5MTk5NDM2ODMzMjk5MTswMDsn""
Body:
{
"name": "TEST-aanpassing"
}
CREATE
Gebruik deze API om een verkoopfactuur of creditnota te importeren.
Dit kan via een PEPPOL xml:
method : POST
Url: https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments
body;
{
"contentstring": "base64string"
}
NOTE
Het veld contentstring moet een base64-string bevatten van het xml-bestand van de factuur/creditnota. Indien het veld contentstring gevuld is dan mogen de andere velden niet ingevuld worden. Indien het veld contentstring niet gevuld is dan moeten de andere velden ingevuld worden.
Of adhv. invullen van de velden:
Url: https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments
body;
{
"service":false,
"documentType": "Invoice",
"no": "201907049",
"customerNo": "1417",
"name": "",
"postingDescription": "",
"standardFormatMessage": "141790704943",
"journalTemplateName": "VERKOOP",
"postingDate": "2019-06-14",
"documentDate": "2019-06-14",
"dueDate": "2019-06-14",
"paymentDiscountPct": 0,
"pmtDiscountDate": "0001-01-01",
"vatBaseDiscountPct": 0,
"currencyCode": "",
"currencyFactor": 0,
"vatBusPostingGroup": "",
"invoiceDiscountAmount": 0,
"docAmountInclVAT": 119.49,
"docAmountVAT": 20.74,
"shortcutDimension1Code": "",
"shortcutDimension2Code": "",
"eloID": "",
"cflArea": "",
"transactionSpecification": "",
"transactionType": "",
"transportMethod": "",
"docImage":"",
"docNotes":""
}
Het is ook mogelijk om zowel header als lines in 1 post toe te voegen: body;
{
"service":false,
"documentType": "Invoice",
"no": "201907049",
"customerNo": "1417",
"name": "",
"postingDescription": "",
"standardFormatMessage": "141790704943",
"journalTemplateName": "VERKOOP",
"postingDate": "2019-06-14",
"documentDate": "2019-06-14",
"dueDate": "2019-06-14",
"paymentDiscountPct": 0,
"pmtDiscountDate": "0001-01-01",
"vatBaseDiscountPct": 0,
"currencyCode": "",
"currencyFactor": 0,
"vatBusPostingGroup": "",
"invoiceDiscountAmount": 0,
"docAmountInclVAT": 119.49,
"docAmountVAT": 20.74,
"shortcutDimension1Code": "",
"shortcutDimension2Code": "",
"eloID": "",
"cflArea": "",
"transactionSpecification": "",
"transactionType": "",
"transportMethod": "",
"docImage":"",
"docNotes":"",
"importSalesDocumentLines": [
{
"type": "G/L Account",
"no":"600000",
"description":"Test regel 1",
"quantity":1,
"vatBusPostingGroup":"BINNENLAND",
"vatProdPostingGroup":"G3",
"unitPrice":500
},
{
"type": "G/L Account",
"no":"600000",
"description":"Test regel 1",
"quantity":1,
"vatBusPostingGroup":"BINNENLAND",
"vatProdPostingGroup":"G3",
"unitPrice":500
}
]
}
NOTE
Het veld docImage moet een base64-string bevatten van het pdf-bestand van de factuur/creditnota.
NOTE
Bedragen zijn altijd positief. Het documenttype duidt aan of dit een factuur of creditnota is.
NOTE
Indien het veld Service op true staat dan wordt de factuur/creditnota geboekt als een service factuur/creditnota.
Bound Actions
Post
de API bevat een bound action genaamd post die de corresponderende import-fatuur/creditnota gaat boeken:
POST https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments({id})/Microsoft.NAV.post
Het antwoord bevat geen inhoud, de code is 204.
Adhv. de velden createdDocType, createdDocSubType, createdDocNo en errorMessage kan nagegaan worden of dit succesvol was of niet.
Bij correcte boeking zijn de velden createdDocType, createdDocSubType, createdDocNo ingevuld en het veld "errorMessage* leeg.
Indien een fout is opgetreden tijdes boeken dan zijn de velden createdDocType, createdDocSubType, createdDocNo leeg en is het veld errorMessage ingevuld met de foutmelding.
Register
de API bevat een bound action genaamd register die de corresponderende import-fatuur/creditnota gaat registreren (omzetten in een niet geboekte factuur/creditnota):
POST https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments({id})/Microsoft.NAV.register
Het antwoord bevat geen inhoud, de code is 204.
Adhv. de velden createdDocType, createdDocSubType, createdDocNo en errorMessage kan nagegaan worden of dit succesvol was of niet.
Bij correcte registratie zijn de velden createdDocType, createdDocSubType, createdDocNo ingevuld en het veld "errorMessage* leeg.
Indien een fout is opgetreden tijdens registreren dan zijn de velden createdDocType, createdDocSubType, createdDocNo leeg en is het veld errorMessage ingevuld met de foutmelding.
Reopen
de API bevat een bound action genaamd reopen die de corresponderende niet geboekte fatuur/creditnota gaat verwijderen en het import document terug gaat openen.:
POST https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments({id})/Microsoft.NAV.reopen
Het antwoord bevat geen inhoud, de code is 204.
postpreview
de API bevat een bound action genaamd postpreview die de corresponderende een voorbeeld van boeking zal uitvoeren voor het aangemaakt document.:
POST https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importsalesdocuments({id})/Microsoft.NAV.postpreview
Het antwoord bevat geen inhoud, de code is 204.
Adhv. het veld errorMessage kan achteraf nagegaan worden of dit succesvol was of niet.
Bij correct voorbeeld van boeking is het veld errorMessage leeg.
Indien een fout is opgetreden tijdens registreren dan is het veld errorMessage ingevuld met de foutmelding.
CFL Import Sales Document Line API
PIPublisher = 'christiaens';
APIGroup = 'bocountdynamics';
APIVersion = 'v2.0';
EntityName = 'importSalesDocumentLine';
EntitySetName = 'importSalesDocumentLines';
GET
Method: GET
https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importSalesDocumentLines(id)
entity:
{
"@odata.etag": "W/\"JzE5OzQyNDg0MDU5Nzk4NDQ2NjQ1MzQxOzAwOyc=\"",
"id": "481f0a70-ac2e-ed11-97e8-000d3a254c9a",
"documentType": "Invoice",
"no": "201907049",
"type": "G/L Account",
"no":"600000",
"vatBusPostingGroup": "BINNENLAND",
"vatProdPostingGroup": "G3",
"description": "Test regel 1",
"description2": "",
"quantity": 1,
"unitPrice": 500,
"lineDiscountAmount": 0,
"countryofOriginCode": "",
"deferralCode": "",
"tariffNo": "",
"shortcutDimension1Code": "",
"shortcutDimension2Code": "",
"shortcutDimension3Code": "",
"shortcutDimension4Code": "",
"shortcutDimension5Code": "",
"shortcutDimension6Code": "",
"shortcutDimension7Code": "",
"shortcutDimension8Code": "",
"allowPaymentDiscount":"true"
}
DELETE
Method: DELETE
https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importSalesDocumentLines(481f0a70-ac2e-ed11-97e8-000d3a254c9)
UPDATE
method: PATCH
https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importSalesDocumentLines(481f0a70-ac2e-ed11-97e8-000d3a254c9)
Headers:
"If-Match" : W/"JzE5OzQyNDg0MDU5Nzk4NDQ2NjQ1MzQxOzAwOyc="
Body:
{
"description": "TEST-aanpassing"
}
POST
Method: POST
https://server address:server API port/server instance name/api/Christiaens/BoCountDynamics/v2.0/companies(companyid)/importSalesDocumentLines
body;
{
"documentType": "Invoice",
"no": "201907049",
"type": "G/L Account",
"no":"600000",
"vatBusPostingGroup":"BINNENLAND",
"vatProdPostingGroup":"G3",
"description":"Test regel 1",
"quantity":1,
"unitPrice":500
}