November 12, 2020
New Features
-
Session key can now be passed to API as a cookie as well, as an alternative to a POST parameter.
Name of the cookie must be
apisession_<account number>
. -
New API call setPasswordAsExpired has been added.
-
Purchase document rows now have a new property called a "stable row ID" that remains constant across document re-saves.
This property can be used to attach extra data to purchase document rows, using JSON API.
The row IDs are assigned automatically when a new document is created, and API savePurchaseDocument will return them:
{ "status": { ... }, "records": [ { "invoiceID": "384", "invoiceNo": "100001", ... "rows": [ { "rowID": 1048, "stableRowID": 1043, <---- "productID": 38, "serviceID": 0, "amount": "1" } ] } ] }
If an API client re-saves a purchase document and keeps the rows as-is (does not add, remove or reorder lines, and does not change the products on document lines), API preserves the stable row IDs.
If an API client re-saves a purchase document and modifies its rows, API cannot detect the correspondence between the old and the new set of rows, and will assign new Stable Row IDs instead. To prevent that from happening, API client must explicitly specify the row IDs as input to API savePurchaseDocument:
request:savePurchaseDocument sendContentType:1 id:384 amount1:1 productID1:34 price1:15.99 stableRowID1:1162 <----
-
API call getPurchaseDocuments will also return the extra data that has been attached to document rows with JSON API. The new field is
"jdoc"
. -
Field
"purchaseTotalValueMax"
has been added to API calls getCampaigns and saveCampaign. -
Invoice row IDs (fields
"stableRowID"
) have been added to the output of API call getFranchiseSalesDocuments. -
When configuration parameter
use_ems_service = 1
is set, API will send the notifications to new users (API call saveUser, input parameter"sendNotificationEmail"
) via EMS, Erply's new emailing service.For emailed sales and purchase documents (API call sendByEmail), the configuration parameter will not take effect until the upcoming back office version (Classic 4.33, Berlin 5.31) is released.