EN IT
Open2b version 7.8

Versions

Over time the APIs evolve, new methods are added, others removed, and requests and responses are modified. Applications that use Open2b APIs are guaranteed compatibility with previous versions thanks to versioning.

The following are the Open2b versions with the supported API versions:

Open2b API
2012 v1
2013 v1 and v2
2015 v1 and v2
2016 v2 and v3
2018 v2, v3 and v4
2018 GDPR v2, v3, v4 and v5
2018 Electronic Invoicing v2, v3, v4, v5 and v6
2019 v2, v3, v4, v5 and v6
7.0 and 7.1 v3, v4, v5, v6 and v7
7.2 v3, v4, v5, v6, v7, v8
7.3 v3, v4, v5, v6, v7, v8
7.4 v3, v4, v5, v6, v7, v8, v9
7.5 v3, v4, v5, v6, v7, v8, v9, v10
7.6 v3, v4, v5, v6, v7, v8, v9, v10, v11
7.7 v3, v4, v5, v6, v7, v8, v9, v10, v11, v12
7.8 and 7.9 v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13

If you are building a new application, first consider which Open2b version you need to target, then choose the most recent supported API version.

If the Open2b version is not the latest, consider, or propose to your customer, an upgrade to the most recent version so you can immediately use the latest API version.

Compatibility guarantee

The compatibility guarantee lets you build applications for your store or your customers with the confidence that they will continue to work after platform updates, provided that the new Open2b version supports the API version you used, and taking into account any considerations noted at the time of release.

What it guarantees

With the compatibility guarantee we commit to not modifying methods, request and response formats, field names, removing or adding fields, changing their types or ordering, or changing the types of error messages returned.

What it does not guarantee

While guaranteeing the above, sometimes functional changes in new Open2b versions may be such that the API cannot guarantee identical behavior in all circumstances. In this case, the documentation will detail which differences you should expect so you can better assess timing and conditions for updating the store and application.

What's new in version 13

Version 13 was introduced with Open2b 7.8 in September 2025. If you have built applications that use version 12, you can continue to use it or move to the new version by replacing v12 with v13 in the call URL.

4-byte characters

Open2b 7.8 introduces support for 4-byte characters (UTF8mb4); API calls (any version) that return text can therefore return 4-byte characters.

To move from API version 12 to 13 you must:

Promotions

It is now possible to set a shipping or payment method to trigger a promotion using the method field.

It is also possible to specify that a promotion can only be used once by each customer using the isOneTimePerCustomer field. Promotion usages in this case can be managed using the new API promotions-usages.

If your app uses the commerce.promotions.find method to retrieve promotions, new condition fields hasCoupon, isOneTimePerCustomer, endTimeFrom, endTimeTo allow more effective searching

What's new in version 12

Version 12 was introduced with Open2b 7.7 in March 2025. If you have built applications that use version 11, you can continue using it or move to the new version by replacing v11 with v12 in the call URL.

To move from API version 11 to 12 you must:

Products

You can now specify when the field for entering requests on individual products should be shown in the cart via the new showRequestsFor field.

Returns

You can now indicate that a product return has been completed by setting the return row approval field to "Completed".

Payment methods

You can now specify the minimum payable amount for payment methods via the new minAmountPayable field.

What's new in version 11

Version 11 was introduced with Open2b 7.6 in October 2024. If you have built applications that use version 10, you can continue to use it or move to the new version by replacing v10 with v11 in the call URL.

To move from API version 10 to 11 you must:

'city' field length

The length of all city fields has been increased from 25 to 35 characters.

What's new in version 10

Version 10 was introduced with Open2b 7.5 in January 2024. If you have built applications that use version 9, you can continue to use it or move to the new version by replacing v9 with v10 in the call URL.

To move from API version 9 to 10 you must:

Quantity promotions

You can now specify the quantity of items in the cart that triggers a promotion and on which items that quantity is calculated via the new minQuantity field.
You can also specify, via the discountedQuantity field, the quantity of items to which the discount will be applied and whether the minimum quantity should be discounted or only the additional quantities after the minimum.

What's new in version 9

Version 9 was introduced with Open2b 7.4 in May 2023. If you have built applications that use version 8, you can continue to use it or move to the new version by replacing v8 with v9 in the call URL.

To move from API version 8 to 9 you must:

Blog tags

Tags can be assigned to blog posts to categorize them and make them easier to browse.

Version 9 of the API adds the following methods to Site for working with tags:

and the following method to Storefront

In addition, the blog APIs also return the tags associated with blog posts.

Hourly promotions

You can now specify a start or end time for promotions. It is also possible, via the new hourLimits field, to specify a daily time window for activation of the promotion.

What's new in version 8

Version 8 was introduced with Open2b 7.2 in March 2022. If you have built applications that use version 7, you can continue to use it or move to the new version by replacing v7 with v8 in the call URL.

Continuing to use older versions

If you prefer to continue using an older version from 3 to 7, consider the following:

To move from API version 7 to 8 you must:

Batch API

Version 8 adds the new Batch API. The Batch API makes it easier to build procedures and applications that access the product catalog in read-only mode. It enables faster catalog exports, integrations with resellers, and publishing products on comparison sites and marketplaces.

Item dimensions

Items have the new fields width, height, and depth which represent respectively the width, height, and depth of an item.

Collections

Collections allow you to limit which products are visible on the site to specific customers or customer groups.

Version 8 adds the following methods to Commerce for working with collections:

and the following method to Storefront:

Collections are enabled only for the Advanced B2B edition; for other editions the commerce.collections.create and commerce.collections.update methods return a specific error.

Customer groups and customers have been given the collection field which indicates the associated catalog collection. Customers also have the collections field, which indicates the additional collections the customer can access.

To read products that are part of one or more collections, you can use the collections field as a condition in the commerce.products.find method and the collection field as a condition in the storefront.products method.

Attribute values

With version 8 you can read all products that have a specific attribute value via the products field returned by the commerce.attribute-values.get method.

It also allows assigning an attribute value to all and only specific products via the products field of the commerce.attribute-values.update method.

Create inventory movements for an order

When creating an order with the commerce.orders.create method, you can use the movements parameter to create inventory movements together with the order. For order rows without a code, or for which no item exists with that code, movements will not be created.

Code for tax areas and shipping methods

Tax areas and shipping methods have the new code field.

Login with Facebook

The new Storefront method storefront.login-with allows customers to log in via Facebook.

What's new in version 7

Version 7 was introduced with Open2b 7.0. If you built applications that use API version 2 you must update your applications, as version 2 is no longer supported. You can do so by first moving to version 3 (as indicated in moving from version 2 to version 3). If you built applications that use version 6 you can continue to use it or move to the new version by replacing v6 with v7 in the call URL.

To move from API version 6 to 7 you must:

Storefront API

Open2b 7.0 introduces the new Storefront API which reproduces the store shopping experience.

Authentication key

The HTTP header X-Key, used to authenticate requests, has been renamed to X-Secret-Key. The previous name X-Key can still be used, but not for calls to the new Storefront API, and it will be removed in a future version.

Catalog

The product code field, the sku and supplierSKU fields of items, and the sku field of documents have been extended from 32 to 40 characters.

The commerce.products.create method now returns an error if a variant or option does not exist.

The commerce.products.create, commerce.items.create and commerce.items.update methods now verify for options that the product has the corresponding variant and that the option belongs to the variant. Otherwise they return an error.

Categories have been removed starting from version 7, therefore category methods are no longer available.

Orders and quotes with multiples

Version 7 enables management of multiples for orders and quotes. For each item you can specify whether the customer can order only multiples of the quantity of the first price tier for orders only, quotes only, or both orders and quotes.

The following methods include the new quantityStepsOn field that indicates whether orders, quotes, or both are allowed only in multiples:

Tokens to identify documents

The token field has been added to documents (orders, quotes, invoices, receipts and packing slips). The token is 32 ASCII characters long and uniquely identifies a document. The token is assigned automatically when the document is created and never changes.

Document row identifier

Document rows (orders, quotes, invoices, receipts and packing slips) now have a new id field that uniquely identifies them. The id field is returned by the get and find methods of documents.

The new id field is primarily used to manage shipments and returns of an order:

For the commerce.orders.update method, if you modify items, it becomes important to specify in items the id field of the order item being modified because it is not allowed to remove order rows for which shipments or returns exist.

Shipments

With the new API version it is possible to manage order shipments. For each order you can create one or more shipments by indicating the order rows that are part of the shipment with the shipped quantity. It is also possible to manage tracking for each shipment. The following methods have been added for this purpose:

Since an order cannot be deleted if it has shipments, the commerce.orders.delete method in this case returns an error.

Returns

The new API introduces several methods to manage returns. You can create a return for one or more orders and for all or only some of the rows of an order. The following methods have been added for this purpose:

Returns are closely tied to shipments because only products that have actually been shipped and delivered can be returned.

Return reasons

Return reasons indicate the reason for each returned product. The following methods have been added for this purpose:

Return rules

Return rules specify the conditions under which a customer can request a return. The following methods have been added for this purpose:

The commerce.returns.create method does not verify return rules. It is the responsibility of the application that creates a return to verify, for example if the return is made directly by the customer, that the rules allow it.

To check whether return rules allow returns for one or more order rows, the following method has been added:

Customers

The locale field has been added.

Quotes

The order field has been added, indicating the order created from the quote.

seoKeywords

The seoKeywords field has been removed.

What's new in version 6

Version 6 was introduced with Open2b 2018 Electronic Invoicing. If you built applications that use version 5, you can continue to use it or move to the new version by replacing v5 with v6 in the call URL.

Recipient Code and PEC

With the introduction of electronic invoicing in January 2019, changes were made to customers and documents to allow registration of the recipient code and PEC email address for electronic invoices.

The following have the new field invoiceRecipient, which can contain either the recipient code or the PEC email address to send the electronic invoice to:

What's new in version 5

Version 5 was introduced with Open2b 2018 GDPR. If you built applications that use version 4, you can continue to use it or move to the new version by replacing v4 with v5 in the call URL.

Managing personal data processing and consents

As part of compliance with the new privacy regulation (GDPR), version 5 of the APIs introduces new methods to manage processing and consents for customers' personal data.

You can define the processing carried out on customers' personal data so the related information notice can be shown on the site and, if needed, request consent for processing. The following methods have been added to the APIs:

For each processing and for each customer, order, and quote, you can collect consents given and withdrawn. The following methods have been added for their management:

Department visibility management

With the new version of Open2b you can choose, for each department, whether it is visible on the site, visible only if it contains products, or not visible at all, for example because it is still being set up.

For this purpose the new field visibility has been added to the department methods.

Payment and shipping methods for customer groups

For B2B editions it is now possible to choose for each customer group which payment and shipping methods the customer can select in the cart and during checkout.

For this purpose the new fields paymentMethods and shippingMethods have been added to customer groups, which can contain a list of payment and shipping methods that the customer is restricted to.

What's new in version 4

Version 4 was introduced with Open2b 2018. If you built applications that use API version 1 you must update your applications to use version 2, 3 or 4 because version 1 is no longer supported. In particular, you must first follow the instructions for moving from version 2 to version 3. If you built applications that use version 3, you can:

  1. Continue using version 3 but with the following considerations:
    • If you use the commerce.price-lists.update method, note that it is no longer possible to read the base price list and the change (discount or markup) of a derived list; the method returns an internal error if the baseList or change argument is provided.
    • If you use the commerce.price-lists.get method, note that it is no longer possible to read the base price list of a derived list; the method returns an internal error if the fields field is null or contains baseList.
    • If you use the commerce.price-lists.find method, note that it is no longer possible to read the base price list of a derived list; the method returns an internal error if the fields field is null or contains baseList.
    • If you use the commerce.price-lists.find method, note that it is no longer possible to sort the returned price lists by the base price list; the method returns an internal error if the order field contains baseList.
    • If you use the site.banners methods, note that banners are no longer available. Calls to the site.banners methods return an internal error.
    • If you use the site.menus methods, note that menus are no longer available. Calls to the site.menus methods return an internal error.
    • The store page URLs have changed. If you call the old URLs a redirect (301) will be performed to the new URLs. If you want to know the new URLs you must read the canonicalURL field of the various resources with the get and find methods of version 4.
  2. Move to API version 4. In this case you must:
    • Replace v3 with v4 in the call URL.
    • If you use find methods and do not pass the limit field, or the limit field is null, note that these methods in version 4 may return more results than you expected previously. You have two options:
      • pass the limit field with the maximum value expected by the version 3 method called, generally 100.
      • continue to not pass the limit field or pass it as null and leverage the fact that version 4 methods return more results than before.
    • If you use the commerce.price-lists methods, note that what used to be price list properties are now split between price lists and customer groups, so you may need to make additional calls to commerce.customer-groups.
    • If you use the commerce.customers methods to read or modify the priceList field, note that this field is now called group.
    • If you use the commerce.customers.create and commerce.customers.update methods to set customer passwords and use the cryptedBy field with value "CommerceReady", you must replace it with "Open2b".
    • If you use the commerce.products.find method with an order field that includes "position", then add "id" after "position" to have products ordered the same way as before.
    • If you use the commerce.products.get, commerce.products.find, commerce.items.get and commerce.items.find methods and read the departments field, note that this field no longer contains the department levels from the top department to the final one but contains the final departments where the product is located. This is because a product can now be in multiple departments. To get all departments from the highest level to the lowest, you can call the commerce.departments.get method and read the ancestors field.
    • If you use the commerce.products.create method, you must rename the department field to departments and pass the value in an array. For example if department was 56 then departments should be [ 56 ].
    • If you use the commerce.products.update method and pass the department field, note that it has been renamed to departments and now contains all product departments, up to five. If you are sure the product is in a single department, follow the instructions in the previous point. If the product may be in multiple departments, you must modify your program to pass all departments to the method.
    • If you read an item or product price, note that where it previously returned 0.000 as the price, it now returns null.
    • If you modify an item price, note that where you previously used the value 0.000 you must now use null to indicate it has no price.
    • If you use the commerce.products.get and commerce.products.find methods to read the listPrice field, note that it now also includes taxes if the related customer group includes taxes.
    • If you use the commerce.products.get and commerce.products.find methods to read the sellingPrice field, note that this field is no longer present.
    • If you use the commerce.products.get and commerce.products.find methods to read the price field, note that it has been renamed to salePrice and now includes taxes if the related customer group includes taxes.
    • If you use the commerce.items.get and commerce.items.find methods to read the listPrice field, note that it now returns both prices for price lists and for customer groups, and prices for customer groups include taxes if the related customer group includes taxes.
    • If you use the commerce.products.get and commerce.products.find methods to read the sellingPrice field, note that this field is no longer present.
    • If you use the commerce.items.get and commerce.items.find methods to read the price field, note that it now returns both prices for price lists and for customer groups, and prices for customer groups include taxes if the related customer group includes taxes.
    • If you use the commerce.items.get and commerce.items.find methods to read the costPrice field, note that this field is no longer present. At the time of upgrading to the new 2018 version, if at least one product had a cost price greater than zero, a new price list was created for the cost price. Therefore, to read the old cost price you must read the price field for the price list used for cost price. The cost price list is the one called "Costo" (unless it has been renamed or deleted after the upgrade).
    • If you use the commerce.items.update-prices method to update item prices, with version 4 you must use instead the commerce.item-prices.update method with the necessary differences.
    • If you use the commerce.tax-areas.get and commerce.tax-areas.find methods to read the isDefault field, note that this field is no longer present. The default tax area is now the tax area of the default customer group. Therefore you must call the commerce.customer-groups.find method with the isDefault condition set to true and indicate taxArea in the fields field.
    • If you use the commerce.promotions.create or commerce.promotions.update methods, ensure that the coupon field does not contain leading or trailing spaces, that the elements field does not contain duplicate elements, and that the date in the startTime field is later than the date in the endTime field.
    • If you use the commerce.categories methods, note that categories may have been converted into attribute values (this happens automatically on upgrade if no categories are present, or at a later time). If they have been converted, you must use the commerce.attribute-values methods instead, using as the value for the attribute field the identifier of the attribute used for categories (recognizable because the conversion assigns it the code "CATEGORY").
    • If you use the commerce.departments.get and commerce.departments.find methods and read the parent field, note that where you expected 0 it now returns null.
    • If you use the commerce.departments.get and commerce.departments.find methods and read the parents field, you must change your code because this field now contains only department identifiers. To also get names you must make a subsequent call to commerce.departments.find passing the identifiers in the ids field of conditions.
    • If you read or modify documents (orders, quotes, invoices, receipts and packing slips) you must modify the id field because its type changed from bigint to int. If you have old identifiers to convert to new ones, perform a 32-bit right shift operation (id >> 32) on the old identifiers to obtain the new ones. The reverse is not possible. Note that the operation must be performed on a 64-bit integer and therefore, depending on the programming language used, it may be necessary to use a special library.
    • If you use the find methods for documents with the address field in conditions, note that you will also get documents whose billing email address matches the one specified in address.
    • If you use the find and get methods for documents, note that the taxClass field in items, shippingMethod and paymentMethod is no longer present; instead you can read the taxCode field and then determine the corresponding taxClass by calling the commerce.tax-classes.find method.
    • If you use the commerce.discounts.find and commerce.discounts.get methods, note that the priority field has been added to discounts and that the priority of discounts previously did not exist. This field can have values between 0 and 100 and indicates the priority used to choose which discount to apply when multiple discounts can be applied; previously this choice was made at the system's discretion.
    • If you use the commerce.discount-rules methods, note that they now return an error because discount rules are no longer supported.
    • If you use the commerce.discount-rules.create method, note that it is no longer available. It has been replaced by commerce.promotions.create.
    • If you use the commerce.discount-rules.find method, note that it is no longer available. It has been replaced by commerce.promotions.find.
    • If you use the commerce.discount-rules.get method, note that it is no longer available. It has been replaced by commerce.promotions.get.
    • If you use the commerce.discount-rules.update method, note that it is no longer available. It has been replaced by commerce.promotions.update.
    • If you use the commerce.discount-rules.delete method, note that it is no longer available. It has been replaced by commerce.promotions.delete.
    • If you use the commerce.discount-rules.create method, you no longer receive the notifications commerce.discount-rules.create and commerce.discount-rules.update and commerce.discount-rules.delete and commerce.discount-rules.get because these notifications have been removed.
    • If you use the site.banners.create, site.banners.update or site.menus.update notifications, you will no longer receive them.

Limit on number of results for find

Almost all find methods allow you to specify, with the limit parameter, the maximum number of results to return.

If limit is present and between 1 and 100, at most limit results are returned. If fewer than limit are returned, it means no others are present. This behavior is the same for all API versions.

If limit is not present or is null, then in previous versions 2 and 3 the find returns all or at most 100, while in version 4 it returns all or at most a multiple of 100.

Labels

With the new API version it is possible to assign labels, optionally visible in the back office, to products, customers and documents (orders, quotes, invoices, receipts and packing slips). The following methods have been added for this purpose:

If a label should be displayed in the back office, it is possible to call the Admin.Labels.set method via Admin SDK to set its name and color.

URLs

With the new version it is possible to manage site URLs via the following methods:

Canonical URL

The canonicalURL field has been added to products, departments, producers, promotions, attribute values (ex options), pages and blog posts. The new field provides, for each site language, the canonical URL of the corresponding site page. The canonical URL is initially assigned by Open2b based on the name (of the product, department, etc.) and to change it you must either modify the name or create a rewrite using the site.url-rewrites.set method.

Product in multiple departments

With the new 2018 version it is possible to add a product to multiple departments, up to five.

For this purpose the department field of products is now called departments and is the list of all product departments. The order of departments is preserved. In addition, the meaning of departments changed: whereas before it was the path from the top department to the final department where the product is located, in version 4 it is the list of all departments the product is in.

Customer groups

Customer groups replace old price lists with the difference that a customer group does not define any new prices for products and items. Prices are still managed via price lists while customer groups indicate which lists to use for customers in the group. Where you previously assigned a price list to a customer, you now assign a customer group. A customer therefore will have prices from the lists of the group they are assigned to.

For each customer group, via the taxArea field, you can specify the tax area to use for prices shown to customers.

The following methods have been added to manage customer groups:

The sum of the number of price lists and the number of customer groups cannot exceed 255.

Price lists

Some functions of price lists have now been transferred to the new customer groups. Adding a new price list now means having the ability to manage a new freely modifiable price with optional price tiers for each item. It is no longer possible to associate a price list to customers; this is now done with customer groups.

Prices

The price fields for products and items have changed. For items, the listPrice, sellingPrice and costPrice fields have been merged into a single price field.

The new price field for items reports prices for free lists, derived lists and for customer groups. Prices for free and derived lists are always tax excluded, while prices for customer groups are tax excluded or included based on the includeTaxes field of the customer group.

For products, the price field has been renamed to salePrice and the sellingPrice field has been removed. Therefore the product price fields are now listPrice and salePrice, which report list and sale prices for customer groups. Prices are tax excluded or included based on the includeTaxes field of the customer group.

Product ordering

The "position" value of the order field of the commerce.products.find method used to sort products by position and, for the same position, by product id. In version 4, "position" sorts products only by position.

Customers

The priceList field has been changed to group and now indicates the customer group instead of the price list.

Tax areas

For tax areas the isDefault field has been removed, because the default tax area for unregistered customers is now the one indicated in the default customer group.

No price instead of zero price

In the previous version, an item price could be zero ("0.000") for a price list and in that case the item and its product were not visible to customers of that list. In the new version an item can have no price (null) for a list and in that case the item will not be visible to customers of that list. The product, unlike the previous version, will not be visible only if no items are visible.

Quantity discounts

The new version allows managing quantity discounts, i.e., defining multiple price tiers for each item and list based on the quantity ordered by the customer.

The following methods have been added to read item prices:

The find method returns only the prices of the first tier, i.e., the one with the lowest quantity, while the find-tiers method returns prices for all tiers including the minimum quantity of each tier.

The find method is more convenient when you do not manage quantity discounts or you need only the first tier price.

The following methods have been added to update item prices:

The update method updates only the price of the first tier, i.e., the one with the lowest quantity, while the update-tiers method updates the prices for all tiers including the minimum quantity of each tier.

Note that if a price is set to null, in order to remove an item from a list, then prices for all tiers will be removed. This happens whether you use the update method or the update-tiers method.

With the introduction of these new methods, the commerce.items.update-prices method has been removed. The commerce.item-prices.update method can be used instead, with the necessary differences.

Promotions

Promotions can now be applied to all customers or only to customers in specific groups. As a result, a product can have multiple promotions applied, one for each customer group. The promotion field has been removed from the product and the promotions field has been added, which reports the promotion, or null if not present, for each customer group.

A new promotion type has been added: Shippings. Promotions of type Shippings are applied to shipments and can be a percentage discount, a fixed discount or a fixed price on the specified shipments.

The priority field has been added to promotions to indicate a priority that can range from 0 to 100. If multiple promotions are applicable, the choice is now based on which promotion has the highest priority, whereas in the previous version it was at the system's discretion.

For promotions on products, departments and producers it is now possible to specify, via the new discountList field, whether the fixed discount should be applied to the list price instead of the sale price. In previous Open2b versions it could only be applied to the list price.

In the new version, whether the customer group has a tax area or not determines some behaviors of promotions applied to it:

The commerce.promotions.find method now allows reading only promotions with the identifiers indicated in the ids field of conditions.

Version 4 of the commerce.promotions.create and commerce.promotions.update methods return an error if:

Attributes

Each product can now be associated with attributes, with their respective values, to be shown on the product detail page and used for filters.

What used to be variants are now attributes; the term variant now indicates an attribute used in a product as a variant. What used to be options are now attribute values and, as with variants, the term option is used for an attribute value when it is used as an option for an item.

The methods for variants and options have therefore been renamed to:

Compared to variants, attributes have the new position field to indicate the attribute's position in URLs.

Filters

Search by barcode

If the keywords field of conditions in the commerce.products.find method contains one or more barcodes, products that have at least one item with one of the indicated barcodes will also be returned. If the search is by relevance, these products will be first in the search results.

Departments

The parent and parents fields returned by the commerce.departments.get and commerce.departments.find methods have changed. For top-level departments, i.e. those without a parent, parent is null instead of 0. parents no longer includes the names of parent departments but only their identifiers.

The commerce.departments.find method now allows reading only departments with the identifiers indicated in the ids field of the new conditions parameter. The parent parameter is now a field of conditions.

Producers

The commerce.producers.find method now allows reading only producers with the identifiers indicated in the ids field of the new conditions parameter.

Documents

The identifier for documents (orders, quotes, invoices, receipts and packing slips) changed type from bigint to int and document identifiers changed accordingly. API v2 and v3 accept and return the old identifiers while API v4 accepts and returns the new identifiers.

The old identifiers can be converted to new identifiers by a 32-bit right shift operation: id >> 32. The reverse is not possible. Note that the operation must be performed on a 64-bit integer and therefore, depending on the programming language used, a special library may be required.

Documents can now be searched by billing email address via the address field of the conditions parameter.

The ip field has been added to orders to indicate the IP address of the device from which the order was completed.

The goods transport documents (packing slips) now include the fields goodsAppearance, trackingNumber and transportReason.

Languages

When deleting a language via the site.languages.delete method, all texts that were previously entered for the deleted language are now removed.

Pages

The site.pages.find method now allows reading only pages with the identifiers indicated in the ids field of the new conditions parameter.

Blog

The ids field has been added to the conditions parameter of the site.blog-posts.find method to read posts with the indicated identifiers.

Banners and menus

Banners and menus were removed in version 4. All related methods are no longer available.

Templates

A path can now contain more dot "." characters but never consecutively.

Notifications

The following notifications have been added:

The following notifications have been removed: