Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The body of the request will be like this:


No Format
{
   "$type": "Winbooks.TORM.OM.Customer, Winbooks.TORM.OM",
   "TotalLevel": 4,
   "Code": "TEST",
   "VatApplicable": 1,
   "IsLocked": false,
   "IsHidden": false,
   "MemoType": 0,
   "Third": {
      "$type": "Winbooks.TORM.OM.Third, Winbooks.TORM.OM",
      "TotalLevel": 3,
      "Code": "TEST",
      "Name": "The Test Company",
      "VatNumber": "0000000196",
      "WebSite": "www.test.be",
      "Addresses": [
         {
            "$type": "Winbooks.TORM.OM.Address, Winbooks.TORM.OM",
            "TotalLevel": 2,
            "Index": 0,
            "Address1": "Vuchtlaan 78",

...


            "Address2": "",
            "Town": "Antwerpen",
            "Zip": "2000",
            "Name": "",
            "Number": "",
            "Box": "",
            "PhoneNo": "+3233215476",
            "FaxNo": "",
            "MemoType": 0,
            "Memo": "",
  

...

 

...

         "IsDelivering": true,
            "IsDeliveringDefault": true,
            "IsPosting": true,
            "IsPostingDefault": true,
            "IsInvoicing": true,
            "IsInvoicingDefault": true,
            "CountryCode": "BE"
         }
      ],
      "CivilityCode": "NV",
      "VatCountryCode": "BE",
      "LanguageCode": "en",
      "CurrencyCode": "EUR"
   },
   "VatCode": "21",
   "CategoryCode": "

...

EU",
   "GLAccountDefaultCode": "700000",
   "GLAccountCentralCode": "400000",
   "PayCodeCode": "30"
}


The last level (Addresses) has TotalLevel = 2 because we use the friendly code property (CountryCode). If we use the Id's instead, we have to put TotalLevel = 1 for the last level.

}Do not use the DefaultAddress entity which does not support the posting.

...

First, we have to retrieve the Id's:


Request

Id

GET {{url}}/app/Country/BE/Folder/{{folder}}4bb898f0-21ba-4ea9-9c35-a74d006cd473
GET {{url}}/app/Civility/NV/Folder/{{folder}}9bc5b8f4-3682-46c6-ac84-a74d006cd9ad
GET {{url}}/app/Language/en/Folder/{{folder}}4b2d0fa7-ecf7-4883-9e04-a89d00bcd216
GET {{url}}/app/Currency/EUR/Folder/{{folder}}8d70e1d6-57cf-4bc1-8402-a74d006cd472

GET {{url}}/app/Vat/21/Folder/{{folder}}
or

GET {{url}}/app/VatAccount/21/Folder/{{folder}}

d939ccde-90ec-45bb-97fe-a74d006cd718
GET {{url}}/app/CustomerCategory/BIG/Folder/{{folder}}c3613c92-d081-4a94-a245-a8b3005d2391
GET {{url}}/app/GLAccount/700000/Folder/{{folder}}c61c5554-0803-4286-9315-a74d006cd5aa
GET {{url}}/app/GLAccount/400000/Folder/{{folder}}023a99d0-f1e5-45c8-b902-a74d006cd5a8
GET {{url}}/app/PayCode/7/Folder/{{folder}}48a7b7ab-0f1b-4420-af2e-a74d006cd9a8


Or really more efficiently via the ExecuteCriteria:


Request

Body

POST {{url}}/app/Countrys/Folder/{{folder}}/ExecuteCriteria{ "EntityType": "Winbooks.TORM.OM.Countrys, Winbooks.TORM.OM",
"Conditions": [ {"Operator": 0, "PropertyName": "Code", "Values": ["BE"] } ],
"ProjectionsList": [ {"PropertyName": "Id", "Operator": 22} ],
"MaxResult": 1 }
POST {{url}}/app/Civilitys/Folder/{{folder}}/ExecuteCriteria{ "EntityType": "Winbooks.TORM.OM.ThirdCivility, Winbooks.TORM.OM",
"Conditions": [ {"Operator": 0, "PropertyName": "Code", "Values": ["NV"] } ],
"ProjectionsList": [ {"PropertyName": "Id", "Operator": 22} ],
"MaxResult": 1 }
POST {{url}}/app/Languages/Folder/{{folder}}/ExecuteCriteria{ "EntityType": "Winbooks.TORM.OM.Language, Winbooks.TORM.OM",
"Conditions": [ {"Operator": 0, "PropertyName": "Code", "Values": ["en"] } ],
"ProjectionsList": [ {"PropertyName": "Id", "Operator": 22} ],
"MaxResult": 1 }
POST {{url}}/app/Currencys/Folder/{{folder}}/ExecuteCriteria

{ "EntityType": "Winbooks.TORM.OM.Currency, Winbooks.TORM.OM",
"Conditions": [ {"Operator": 0, "PropertyName": "Code", "Values": ["EUR"] } ],
"ProjectionsList": [ {"PropertyName": "Id", "Operator": 22} ],
"MaxResult": 1 }

POST {{url}}/app/VatAccounts/Folder/{{folder}}/ExecuteCriteria

{ "EntityType": "Winbooks.TORM.OM.Accounting.VatAccount, Winbooks.TORM.OM",
"Conditions": [ {"Operator": 0, "PropertyName": "Code", "Values": ["21"] } ],
"ProjectionsList": [ {"PropertyName": "Id", "Operator": 22} ],
"MaxResult": 1 }

POST {{url}}/app/GLAccounts/Folder/{{folder}}/ExecuteCriteria{ "EntityType": "Winbooks.TORM.OM.Accounting.GLAccount, Winbooks.TORM.OM",
"Conditions": [ {"Operator": 0, "PropertyName": "Code", "Values": ["700000"] } ],
"ProjectionsList": [ {"PropertyName": "Id", "Operator": 22} ],
"MaxResult": 1 }
POST {{url}}/app/GLAccounts/Folder/{{folder}}/ExecuteCriteria{ "EntityType": "Winbooks.TORM.OM.Accounting.GLAccount, Winbooks.TORM.OM",
"Conditions": [ {"Operator": 0, "PropertyName": "Code", "Values": ["400000"] } ],
"ProjectionsList": [ {"PropertyName": "Id", "Operator": 22} ],
"MaxResult": 1 }
POST {{url}}/app/PayCodes/Folder/{{folder}}/ExecuteCriteria

{ "EntityType": "Winbooks.TORM.OM.Accounting.PayCode, Winbooks.TORM.OM",
"Conditions": [ {"Operator": 0, "PropertyName": "Code", "Values": ["7"] } ],
"ProjectionsList": [ {"PropertyName": "Id", "Operator": 22} ],
"MaxResult": 1 }


To post the customer, the body will be then this one:

No Format
{
   "$type": "Winbooks.TORM.OM.Customer, Winbooks.TORM.OM",
   "TotalLevel": 3,
   "Vat_Id": "d939ccde-90ec-45bb-97fe-a74d006cd718",
   "CustomerCategory_Id": "c3613c92-d081-4a94-a245-a8b3005d2391",
   "GLAccount_Id": "c61c5554-0803-4286-9315-a74d006cd5aa",
   "GLAccount2_Id": "023a99d0-f1e5-45c8-b902-a74d006cd5a8",
   "PayCode_Id": "bee3ad14-c3b0-4284-80e7-a74d006cd9a8",
   "Code": "TEST2",
   "VatApplicable": 1,
   "IsLocked": false,
   "IsHidden": false,
   "MemoType": 0,
   "Third": {
      "$type": "Winbooks.TORM.OM.Third, Winbooks.TORM.OM",
      "TotalLevel": 2,
      "ThirdCivility_Id": "NV",
      "VatCountry_Id": "4bb898f0-21ba-4ea9-9c35-a74d006cd473",
      "Language_Id": "4b2d0fa7-ecf7-4883-9e04-a89d00bcd216",
      "Currency_Id": "8d70e1d6-57cf-4bc1-8402-a74d006cd472",
      "Code": "TEST2",
      "Name": "The Test Company 2",
      "VatNumber": "0000000295",
      "WebSite": "www.test2.be",
      "Addresses": [
         {
            "$type": "Winbooks.TORM.OM.Address, Winbooks.TORM.OM",
            "TotalLevel": 1,
      		"Country_Id": "4bb898f0-21ba-4ea9-9c35-a74d006cd473",
            "Index": 0,
            "Address1": "Vuchtlaan 79",
            "Address2": "",
            "Town": "Antwerpen",
            "Zip": "2000",
            "Name": "",
            "Number": "",
            "Box": "",
            "PhoneNo": "+3233215476",
            "FaxNo": "",
            "MemoType": 0,
            "Memo": "",
            "IsDelivering": true,
            "IsDeliveringDefault": true,
            "IsPosting": true,
            "IsPostingDefault": true,
            "IsInvoicing": true,
            "IsInvoicingDefault": true
         }
      ]
   }
}