For the type, "OM" stand for the namespace prefix "Winbooks.TORM.OM"
Decimal separator is a point
Date are given in Unix Timestamp. Example: "/Date(1520491871000)/" = GMT: Thursday, March 8, 2018 6:51:11 AM
Schema
The customer entity is referencing several other entities. The schema is this one:
Customer
Third
DefautAddress
Addresses (List of OM.Address)
Contacts (List of OM.Third_Contact)
- BankAccounts (List of OM.BankAccount)
OM
Customer
Type: OM.Accounting.Customer
Logistics
At this time, there is no Friendly property code for the Logistics foreigner key (ex: Agent_Id).
Property | Type | Id field | Friendly property code | Comment |
---|---|---|---|---|
Code | string | Should be the same as the code of the Third | ||
Third | OM.Third | Third_Id | ThirdCode | |
Vat | OM.Accounting.VatAccount | Vat_Id | VatCode | Default Vat (ex: 21) |
Category | OM.CustomerCategory | CustomerCategory_Id | CategoryCode | |
GLAccountDefault | OM.Accounting.GLAccount | GLAccount_Id | GLAccountDefaultCode | Default account for the base (ex: "700000") |
GLAccountCentral | OM.Accounting.GLAccount | GLAccount2_Id | GLAccountCentralCode | Central account for the clients (ex: "400000") |
GLTemplate | OM.Accounting.GLTemplate | GLTemplate_Id | GLTemplateCode | Booking template |
PayCode | OM.Accounting.PayCode | PayCode_Id | PayCodeCode | Payment conditions (ex: "30") |
VatApplicable | int | 0 - Undefined | ||
LastReminderLevel | short | |||
LastReminderDate | DateTime | |||
IsReminderBlocked | bool | true - the customer will not receive any reminder of payment | ||
IsLocked | bool | true - we cannot book anymore on this Customer | ||
IsHidden | bool | true - we don't see the customer anymore | ||
MemoType | short | 0 - None | ||
Memo | string | |||
ConditionalDiscountRate | decimal | Ex: 2.5 | ||
ConditionalDiscountDays | decimal | Ex: 7 | ||
CommodityCode | string | Default intrastat code for the goods delivered (ex: "01022961") | ||
Custom | IDictionnary<string, object> | List of custom fields + values | ||
Properties used for Logistics only | ||||
DiscountCategory_Id | Crossed with the Item.ItemDiscountCategory, it allows to get a discount for a group of customers and a group of items. | |||
Tariff_Id | ||||
PayMode_Id | Ex: BANK, CASH, ... | |||
PayTerm_Id | Not used at this time | |||
DeliveryTerm_Id | Ex: CIF, FOB, ... | |||
Agent_Id | ||||
ThirdAccountGroup_Id | That's not used often but allows to have the general account depending on the customer and the item. | |||
DiscountRate | decimal | Default discount proposed on each row of the document | ||
GlobalDiscountRate | decimal | Default global discount proposed | ||
IsPartialDelivery | bool | true - the customer accepts partial delivery | ||
IsPartialDeliveryClosed | bool | true - in case of partial delivery, we close the order (no back orders) | ||
IsGroupOrderAllowed | bool | true - the customer accepts to group several orders on one delivery or invoice | ||
IsGroupOrderDifferentAgent | bool | true - group orders with different agents | ||
IsGroupOrderDifferentReference | bool | true - group orders with different references | ||
IsGroupDeliveryAllowed | bool | true - the customer accepts to group several delivery notes on one invoice | ||
IsGroupDeliveryDifferentAgent | bool | true - group delivery notes with different agents | ||
IsGroupDeliveryDifferentAddress | bool | true - group delivery notes with different addresses | ||
IsGroupDeliveryDifferentReference | bool | true - group delivery notes with different references |
Example of respons for: GET {{url}}/app/Customer/BEBOP/Folder/{{folder}}?MaxLevel=1
{ "$type": "Winbooks.TORM.OM.Customer, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 15, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1514995132000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Third_Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "Vat_Id": "d939ccde-90ec-45bb-97fe-a74d006cd718", "CustomerCategory_Id": "00000000-0000-0000-0000-000000000000", "GLTemplate_Id": "00000000-0000-0000-0000-000000000000", "GLAccount_Id": "c61c5554-0803-4286-9315-a74d006cd5aa", "GLAccount2_Id": "023a99d0-f1e5-45c8-b902-a74d006cd5a8", "PayCode_Id": "48a7b7ab-0f1b-4420-af2e-a74d006cd9a8", "DiscountCategory_Id": "00000000-0000-0000-0000-000000000000", "Tariff_Id": "00000000-0000-0000-0000-000000000000", "PayMode_Id": "00000000-0000-0000-0000-000000000000", "PayTerm_Id": "00000000-0000-0000-0000-000000000000", "DeliveryTerm_Id": "00000000-0000-0000-0000-000000000000", "Agent_Id": "00000000-0000-0000-0000-000000000000", "ThirdAccountGroup_Id": "00000000-0000-0000-0000-000000000000", "Code": "BEBOP", "VatApplicable": 1, "LastReminderLevel": 0, "LastReminderDate": null, "DiscountRate": 0, "GlobalDiscountRate": 0, "IsPartialDelivery": false, "IsPartialDeliveryClosed": false, "IsGroupOrderAllowed": false, "IsGroupOrderDifferentAgent": false, "IsGroupOrderDifferentReference": false, "IsGroupDeliveryAllowed": false, "IsGroupDeliveryDifferentAgent": false, "IsGroupDeliveryDifferentAddress": false, "IsGroupDeliveryDifferentReference": false, "IsReminderBlocked": false, "IsLocked": false, "IsHidden": false, "MemoType": 0, "Memo": "", "ConditionalDiscountRate": 2.5, "ConditionalDiscountDays": 7, "CommodityCode": "01022961", "Id": "f5e92880-31c0-43af-9348-a85d0117d78b", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom_ListValueTypes": [ "System.String, mscorlib", "System.Decimal, mscorlib" ], "Custom": { "Sector": "IT", "Turnover": 6000000 }, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI", "ThirdCode": "BEBOP", "VatCode": "21", "CategoryCode": "", "GLTemplateCode": "", "GLAccountDefaultCode": "700000", "GLAccountCentralCode": "400000", "PayCodeCode": "7", "DiscountCategoryCode": "", "ThirdAccountGroupCode": "" }
Third
Type: OM.Third
Property | Type | Id field | Friendly property code | Comment |
---|---|---|---|---|
Code | string | Should be the same as the code of the Customer | ||
ThirdCivility | OM.ThirdCivility | ThirdCivility_Id | CivilityCode | Ex: "NV" |
VatCountry | OM.Country | VatCountry_Id | VatCountryCode | Ex: "BE" |
Language | OM.Language | Language_Id | LanguageCode | Ex: "nl" |
Currency | OM.Currency | Currency_Id | CurrencyCode | Ex: "EUR" |
DefautAddress | OM.DefaultAddress | |||
Addresses | List of OM.Address | |||
Contacts | List of OM.Third_Contact | |||
BankAccounts | List of OM.BankAccount | |||
VatNumber | string | Ex: "0000000196" (without formatting) | ||
WebSite | string | Ex: "www.bebop.be" |
Example of respons for: GET {{url}}/app/Third/BEBOP/Folder/{{folder}}?MaxLevel=2 (for the Third, it's usefull to load 2 levels to have the list of Addresses, of Contacts and BankAccounts)
url
/app/Third/BEBOP/Folder/folder
?MaxLevel=1{ "$type": "Winbooks.TORM.OM.Third, Winbooks.TORM.OM", "$isShowId": true, "TotalLevel": 2, "Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "Code": "BEBOP", "Version": 14, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1514995132000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "ThirdCivility_Id": "9bc5b8f4-3682-46c6-ac84-a74d006cd9ad", "VatCountry_Id": "4bb898f0-21ba-4ea9-9c35-a74d006cd473", "Language_Id": "d7176dd5-fe2c-41b3-9bec-a74d006cd54e", "Currency_Id": "00000000-0000-0000-0000-000000000000", "Name": "BEBOP", "VatNumber": "0000000196", "WebSite": "www.bebop.be", "LocalizedProperties": [ "Name" ], "LocalizedColumns": [ "Name" ], "NameLocalized": "BEBOP", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Localized": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "DefaultAddress": { "$type": "Winbooks.TORM.OM.DefaultAddress, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Third_Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "Country_Id": "4bb898f0-21ba-4ea9-9c35-a74d006cd473", "Index": 0, "Address1": "Vuchtlaan 76", "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, "Id": "56e918d4-0cc0-42db-a040-a89b00aa382d", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI", "ThirdCode": "BEBOP", "CountryCode": "BE" }, "Civility": { "$type": "Winbooks.TORM.OM.ThirdCivility, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 1, "Modified": null, "ModifiedBy": "00000000-0000-0000-0000-000000000000", "Created": "/Date(1491453378000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "IType": "T", "Code": "NV", "Name": "NV", "LocalizedProperties": [ "Code", "Name" ], "LocalizedColumns": [ "Code", "Name" ], "CodeLocalized": "NV", "Id": "9bc5b8f4-3682-46c6-ac84-a74d006cd9ad", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Localized": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI" }, "VatCountry": { "$type": "Winbooks.TORM.OM.Country, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 25, "Modified": "/Date(1520504956000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1491453374000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Code": "BE", "Name": "Belgique", "PhoneCode": " ", "IsCountry": true, "EUEntryDate": "/Date(-550454400000)/", "VatNumberMask": "", "LocalizedProperties": [ "Name" ], "LocalizedColumns": [ "Name" ], "Id": "4bb898f0-21ba-4ea9-9c35-a74d006cd473", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Localized": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI" }, "Language": { "$type": "Winbooks.TORM.OM.Language, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 1, "Modified": null, "ModifiedBy": "00000000-0000-0000-0000-000000000000", "Created": "/Date(1491453374000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Code": "nl", "WBCCode": "N", "Name": "Dutch", "NameNative": "Nederlands", "Id": "d7176dd5-fe2c-41b3-9bec-a74d006cd54e", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI" }, "Addresses": [ { "$type": "Winbooks.TORM.OM.Address, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Third_Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "Country_Id": "4bb898f0-21ba-4ea9-9c35-a74d006cd473", "Index": 0, "Address1": "Vuchtlaan 76", "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, "Id": "56e918d4-0cc0-42db-a040-a89b00aa382d", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI", "ThirdCode": "BEBOP", "CountryCode": "BE" } ], "BankAccounts": [ { "$type": "Winbooks.TORM.OM.BankAccount, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 12, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520478641000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Third_Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "BankAddress_Id": "00000000-0000-0000-0000-000000000000", "GLAccount_Id": "00000000-0000-0000-0000-000000000000", "IsDefault": true, "Number": "", "Name": "", "BankCode": "679 ", "BankName": "De Post", "IBAN": "BE32 6792 0022 7602", "CodeBic": "PCHQBEBB", "CreditLimit": null, "IsHidden": false, "MemoType": 0, "Memo": "", "Cost": null, "Payments": null, "Id": "c05d1ffa-99b8-4a37-98e3-a89d0044da4e", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI", "ThirdCode": "BEBOP", "GLAccountCode": "" } ], "Customers": [ { "$type": "Winbooks.TORM.OM.Customer, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 15, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1514995132000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Third_Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "Vat_Id": "d939ccde-90ec-45bb-97fe-a74d006cd718", "CustomerCategory_Id": "00000000-0000-0000-0000-000000000000", "GLTemplate_Id": "00000000-0000-0000-0000-000000000000", "GLAccount_Id": "c61c5554-0803-4286-9315-a74d006cd5aa", "GLAccount2_Id": "023a99d0-f1e5-45c8-b902-a74d006cd5a8", "PayCode_Id": "48a7b7ab-0f1b-4420-af2e-a74d006cd9a8", "DiscountCategory_Id": "00000000-0000-0000-0000-000000000000", "Tariff_Id": "00000000-0000-0000-0000-000000000000", "PayMode_Id": "00000000-0000-0000-0000-000000000000", "PayTerm_Id": "00000000-0000-0000-0000-000000000000", "DeliveryTerm_Id": "00000000-0000-0000-0000-000000000000", "Agent_Id": "00000000-0000-0000-0000-000000000000", "ThirdAccountGroup_Id": "00000000-0000-0000-0000-000000000000", "Code": "BEBOP", "VatApplicable": 1, "LastReminderLevel": 0, "LastReminderDate": null, "DiscountRate": 0, "GlobalDiscountRate": 0, "IsPartialDelivery": false, "IsPartialDeliveryClosed": false, "IsGroupOrderAllowed": false, "IsGroupOrderDifferentAgent": false, "IsGroupOrderDifferentReference": false, "IsGroupDeliveryAllowed": false, "IsGroupDeliveryDifferentAgent": false, "IsGroupDeliveryDifferentAddress": false, "IsGroupDeliveryDifferentReference": false, "IsReminderBlocked": false, "IsLocked": false, "IsHidden": false, "MemoType": 0, "Memo": "", "ConditionalDiscountRate": 2.5, "ConditionalDiscountDays": 7, "CommodityCode": "01022961", "Id": "f5e92880-31c0-43af-9348-a85d0117d78b", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom_ListValueTypes": [ "System.String, mscorlib", "System.Decimal, mscorlib" ], "Custom": { "Sector": "IT", "Turnover": 6000000 }, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI", "ThirdCode": "BEBOP", "VatCode": "21", "CategoryCode": "", "GLTemplateCode": "", "GLAccountDefaultCode": "700000", "GLAccountCentralCode": "400000", "PayCodeCode": "7", "DiscountCategoryCode": "", "ThirdAccountGroupCode": "" } ], "Contacts": [ { "$type": "Winbooks.TORM.OM.Third_Contact, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Third_Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "Contact_Id": "193be5bd-b7ca-4069-bd2e-a89b00aa382e", "Address_Id": "00000000-0000-0000-0000-000000000000", "IsDefaultAccounting": true, "IsDefaultInvoicing": true, "IsDefaultDelivery": true, "IsDefaultCommercial": true, "Id": "73539eb7-dd3d-4cb9-a0ce-a89b00aa382d", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "ThirdCode": "BEBOP" } ], "FolderCode": "JF_TEST_RESTAPI", "CivilityCode": "NV", "VatCountryCode": "BE", "LanguageCode": "nl", "CurrencyCode": "", "Type_UpdatedValues": "[]", "CheckingContinuePath": "Id" }
Address
Property | Type | Id field | Friendly property code | Comment |
---|---|---|---|---|
Index | short | Allows to order the list of the addresses of a third party | ||
Third | OM.Third | Third_Id | ThirdCode | |
Country | OM.Country | Country_Id | CountryCode | |
Address1 | string | |||
Address2 | string | |||
Town | string | |||
Zip | string | |||
Name | string | The name of the company at this address. Could be different from the name of the third party | ||
Number | string | Not used now. The number is put in Address1 or Address2. | ||
Box | string | Not used now. | ||
PhoneNo | string | |||
FaxNo | string | |||
MemoType | short | Cfr Customer.MemoType | ||
Memo | string | |||
IsDelivering | bool | true - it's a delivery address | ||
IsDeliveringDefault | bool | true - it's the one by default | ||
IsPosting | bool | true - it's a posting address (where we send the invoices) | ||
IsPostingDefault | bool | true - it's the one by default | ||
IsInvoicing | bool | true - it's an invoicing address (the address printed on the invoice) | ||
IsInvoicingDefault | bool | true - it's the default one | ||
Custom | IDictionnary<string, object> | List of custom fields + values |
Example of respons for: GET {{url}}/app/Address/56e918d4-0cc0-42db-a040-a89b00aa382d/Folder/{{folder}}?MaxLevel=1
{ "$type": "Winbooks.TORM.OM.Address, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Third_Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "Country_Id": "4bb898f0-21ba-4ea9-9c35-a74d006cd473", "Index": 0, "Address1": "Vuchtlaan 76", "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, "Id": "56e918d4-0cc0-42db-a040-a89b00aa382d", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI", "ThirdCode": "BEBOP", "CountryCode": "BE" }
Third_Contact
Type: OM.Third_Contact
This entity allows to make a relation N-M between Third and Contact.
Property | Type | Id field | Friendly property code | Comment |
---|---|---|---|---|
Third | OM.Third | Third_Id | ThirdCode | |
Contact | OM.Contact | Contact_Id | ||
Address | OM.Address | Addres_Id | Not used at this time. | |
IsDefaultAccounting | bool | |||
IsDefaultInvoicing | bool | |||
IsDefaultDelivery | bool | |||
IsDefaultCommercial | bool |
Example of respons for: GET {{url}}/app/Third_Contacts/Folder/{{folder}}?MaxLevel=1 (with only 1 Contact in the database)
[ { "$type": "Winbooks.TORM.OM.Third_Contact, Winbooks.TORM.OM", "TotalLevel": 1, "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "Third_Id": "7fd099fb-1a6e-43c6-b315-a85d0117d790", "Contact_Id": "193be5bd-b7ca-4069-bd2e-a89b00aa382e", "Address_Id": "00000000-0000-0000-0000-000000000000", "IsDefaultAccounting": true, "IsDefaultInvoicing": true, "IsDefaultDelivery": true, "IsDefaultCommercial": true, "Id": "73539eb7-dd3d-4cb9-a0ce-a89b00aa382d", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "ThirdCode": "BEBOP" } ]
Contact
Type: OM.Contact
NB: Some PhoneNumber, InternetAddress, EmailAddress, IMAddress are not used. Only the used one are explained here.
Property | Type | Id field | Friendly property code | Comment |
---|---|---|---|---|
Language | OM.Language | Language_Id | LanguageCode | |
ContactCivility | OM.ContactCivility | ContactCivility_Id | ContactCivilityCode | Not used at this time. |
Title | string | Ex: "Mr" | ||
FirstName | string | |||
MiddleName | string | |||
LastName | string | |||
Salutation | string | Ex: "Dear Sir" | ||
MemoType | short | See Customer.MemoType | ||
Memo | string | |||
PhoneNumberBusiness | string | Ex: "+3231234567" | ||
PhoneNumberMobile | string | |||
EmailAddressBusiness | string | |||
IMAddressSkype | string |
Example of respons for: GET {{url}}/app/Contact/193be5bd-b7ca-4069-bd2e-a89b00aa382e/Folder/{{folder}}?MaxLevel=1
{ "$type": "Winbooks.TORM.OM.Contact, Winbooks.TORM.OM", "TotalLevel": 1, "PhoneNumberBusiness": "+3231234567", "PhoneNumberFax": null, "PhoneNumberMobile": "+32475123456", "PhoneNumberHome": null, "PhoneNumberSIP": null, "PhoneNumberOther": null, "InternetAddressHttp": null, "InternetAddressFtp": null, "InternetAddressOther": null, "EmailAddressBusiness": "jvdb@bebop.be", "EmailAddressHome": null, "EmailAddressOther": null, "IMAddressIcq": null, "IMAddressMsn": null, "IMAddressYahoo": null, "IMAddressSkype": "jvdb043", "IMAddressGTalk": null, "IMAddressJabber": null, "IMAddressOther": null, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Version": 13, "Folder_Id": "3a6a9ea1-ce6e-45e7-889a-d8e325a43b70", "ContactCivility_Id": "00000000-0000-0000-0000-000000000000", "Language_Id": "d7176dd5-fe2c-41b3-9bec-a74d006cd54e", "Title": "De Heer", "FirstName": "Johan", "MiddleName": "", "LastName": "Van den Brol", "Salutation": "Geachte", "MemoType": 0, "Memo": "", "Id": "193be5bd-b7ca-4069-bd2e-a89b00aa382e", "ResultState": 0, "ActionState": 0, "CachedCollection_ListValueTypes": [ "System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib],[Winbooks.TORM.OM.PhoneNumber, Winbooks.TORM.OM]], mscorlib", "System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib],[Winbooks.TORM.OM.EmailAddress, Winbooks.TORM.OM]], mscorlib", "System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib],[Winbooks.TORM.OM.IMAddress, Winbooks.TORM.OM]], mscorlib" ], "CachedCollection": { "DefaultPhoneNumbers": { "1": { "$type": "Winbooks.TORM.OM.PhoneNumber, Winbooks.TORM.OM", "TotalLevel": 1, "Type": 1, "Number": "+3231234567", "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "IType": "P", "IsDefault": true, "ElectronicType": 1, "Value": "+3231234567", "Id": "861a746e-a8ea-40bf-b604-a89b00aa3831", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "FolderCode": "JF_TEST_RESTAPI" }, "4": { "$type": "Winbooks.TORM.OM.PhoneNumber, Winbooks.TORM.OM", "TotalLevel": 1, "Type": 4, "Number": "+32475123456", "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "IType": "P", "IsDefault": true, "ElectronicType": 4, "Value": "+32475123456", "Id": "4af8d95b-1b89-43e7-b33b-a89b00aa3831", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "FolderCode": "JF_TEST_RESTAPI" } }, "DefaultEmailAddresses": { "1": { "$type": "Winbooks.TORM.OM.EmailAddress, Winbooks.TORM.OM", "TotalLevel": 1, "Type": 1, "Address": "jvdb@bebop.be", "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "IType": "E", "IsDefault": true, "ElectronicType": 1, "Value": "jvdb@bebop.be", "Id": "5cbab9fb-e091-4af0-bea0-a89b00aa3831", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "FolderCode": "JF_TEST_RESTAPI" } }, "DefaultIMAddresses": { "8": { "$type": "Winbooks.TORM.OM.IMAddress, Winbooks.TORM.OM", "TotalLevel": 1, "Type": 8, "Address": "jvdb043", "Version": 13, "Modified": "/Date(1520504972000)/", "ModifiedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "Created": "/Date(1520327985000)/", "CreatedBy": "7507ea76-474b-4ccc-80d3-a35b0090b2b6", "IType": "M", "IsDefault": true, "ElectronicType": 8, "Value": "jvdb043", "Id": "13745d8f-90e5-4672-9fa3-a89b00aa3832", "ResultState": 0, "ActionState": 0, "CachedCollection": {}, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "FolderCode": "JF_TEST_RESTAPI" } } }, "IsBinding": false, "IsSpecifiedId": false, "IsDirty": false, "UpdatedEntities": {}, "Custom": {}, "UpdatedProperties": [], "UpdatedValues": [], "FolderCode": "JF_TEST_RESTAPI", "ContactCivilityCode": "", "LanguageCode": "nl" }
BankAccount
Type: OM.BankAccount
Property | Type | Id field | Friendly property code | Comment |
---|---|---|---|---|
Third | OM.Third | Third_Id | ThirdCode | |
BankAddress | OM.Address | BankAddress_Id | Not used at this time | |
GLAccount | OM.Accounting.GLAccount | GLAccount_Id | GLAccountCode | |
IsDefault | bool | |||
Number | string | Number of the bank account if it is not an IBAN | ||
Name | string | Name of the bank account holder | ||
BankCode | string | |||
BankName | string | |||
IBAN | string | |||
CodeBic | string | |||
CreditLimit | decimal? | |||
IsHidden | bool | |||
MemoType | short | See Customer.MemoType | ||
Memo | string | |||
Cost | short? | null 0 - Debt 1 - Cred 2 - Shar | ||
Payments | short? | null 0 - TFR/High 1 - TRF/Norm |
See inside of the Third example for the BankAccount format in JSON.
Examples
Posting a new customer (with the friendly codes)
POST {{url}}/app/Customer/TEST/Folder/{{folder}}
The body of the request will be like this:
{ "$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": "BIG", "GLAccountDefaultCode": "700000", "GLAccountCentralCode": "400000", "PayCodeCode": "30" }
Do not use the DefaultAddress entity which does not support the posting.
Posting a new Customer (with the Id's)
It is more efficient to specify the Id's of the related entities, especially when we post several customers using the same country, civility, language, currency, vat, category, default account, central account or payment term (PayCode).
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}} 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", |
POST {{url}}/app/VatAccounts/Folder/{{folder}}/ExecuteCriteria | { "EntityType": "Winbooks.TORM.OM.Accounting.VatAccount, Winbooks.TORM.OM", |
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", |