Welcome to the JTL-WAWI technical API documentation. This guide is here to help developers understand how our REST API works and how it can be integrated into your existing systems. We'll delve into the details of authentication and data manipulation processes, providing clear examples along the way. Whether you're a developer or an IT professional, this documentation aims to give you a practical understanding, laying the groundwork for effectively using the JTL-WAWI API to enhance your processes.
You register your application with the API by sending a POST request with the required information and corresponding keys. You can find the exact request details at https://developer.jtl-software.com/products/erp/swagger/appregistration. This information has to include the following:
This data is crucial for identifying and registering your application with the API. The API uses it to generate a temporary authentication ID that allows your application to access the necessary resources. After successful validation of this information, you will receive the API key required for future authentication and API requests.
Before you can begin the registration process, you must open JTL-Wawi (new interface) and start the registration process under 'Admin->App registration'. Only at this point are you authorised to send the first API call. This step in JTL-Wawi ensures that your application is properly registered and has permission to use the API.
The API will send you an authentication ID in the form of a token. Once you have received this token and successfully completed the registration in JTL-Wawi, you will send another request to the API by including this authentication ID in the URL path.
After successful validation of this second request by the API and confirmation of the correct information, you will be provided with the actual API key. It is important to note that this API key will not be displayed again!
This API key will be used in the future to authenticate requests to the API. It is of utmost importance that you securely store the API key upon receipt, as it cannot be retrieved from any other location in the system.
A search key word which is using many important item identificators. For more info see documentation or the configuration in the search in items in JTL-Wawi.
This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.
This is where the version number of your application is entered, in this case "1.0.0".
The User-Id as int or uuid to run the Request, a JTL-Wawi user can be specified to perform an API call on their behalf (more details in the documentation, Optional). To use the Header, you must have the needed Scope 'Application.RunAs'
curl -i -X GET \
'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/items?categoryId=0&changedSince=2019-08-24T14%3A15%3A22Z&isActiveOnSalesChannelId=string&manufacturerId=0&pageNumber=0&pageSize=0&parentItemId=0&searchKeyWord=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'api-version: string' \
-H 'tenant-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-appid: string' \
-H 'x-appversion: string' \
-H 'x-runas: string'
Returns all items, can be filtered by searchKeyWord and postalCode.
Gets or sets the total number of items available in the data source.
Gets or sets the collection of items contained in the paged list.
Item SKU. If no SKU is given when posting an item, the SKU will be generated automatically.
List of all the categories for the item.
Name of the item in the default language in JTL-Wawi.
Full textdescription for the item
Short description of the item in the default language in JTL-Wawi.
A list of the item's ASINs.
Components for the item if the item is a bill of material.
Quantity of the component in the bill of material.
IDs of the child items, if the item is a parent item.
ID of the parent item, if the item is a child item.
The net sales price of the item.
The suggested retail price for the item.
The purchase price of the item.
Default price in new listing templates.
The list of active sales channels of the item. Only online shops and JTL-POS are permitted. Sales channels that are removed from this list will be deactivated for this item.
The sort number of the item, used in some sales channels for ordering items.
The item annotation.
Date when the item was added to the system.
Date of the last change made to the item. Only item data changes are relevant for this field, not changes in stock.
The date when the item was put up for sale.
Indicates if inventory management for the item is active, meaning that the item displays stock quantities.
Indicates if the item can be split into quantities less than 1.
Defines the minimum quantity that should always be in stock. For example, when calculating purchasing orders.
The buffer of the item. Used when selling time-delayed across different sales channels, so as not to sell more than is in stock.
Indicates the item's serial number when shipping the sales orders.
Indicates if serial numbers are to be identified during a goods receipt process from a supplier.
Indicates if the item has an expiration date, also known as a best before date.
Indicates whether the item is a batch item or not.
The procurement time indicates how many days it will take for the goods to be ready for shipment if they are currently out of stock. Procurement time is determined automatically on the basis of the supplier’s delivery time. By default, the delivery time of the default supplier is used as the procurement time. If additional processing time (in days) has been specified, this is added to the procurement time.
If this option is set, the procurement time will be calculated from the default supplier's shipment time.
Condition ID of the item. Default if nothing is specified.
This option allows you to sell a higher quantity of the item than is actually in stock.
The minimum order quantity of the item.
A collection of minimum order quantities for different customer groups.
Unique ID to identify a customer group.
The permissible order quantity for the item. Indicates the increments in which the item is sold.
Search terms for the item.
Gets the total number of pages based on the total number of items and the page size.
Gets a value indicating whether there is a previous page available in the paginated list.
Gets the number of the next page if there is one; otherwise, returns the total number of pages.
{ "TotalItems": 0, "PageNumber": 0, "PageSize": 0, "Items": [ { … } ], "TotalPages": 0, "HasPreviousPage": true, "HasNextPage": true, "NextPageNumber": 0, "PreviousPageNumber": 0 }
This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.
This is where the version number of your application is entered, in this case "1.0.0".
The User-Id as int or uuid to run the Request, a JTL-Wawi user can be specified to perform an API call on their behalf (more details in the documentation, Optional). To use the Header, you must have the needed Scope 'Application.RunAs'
The item to create.
Item SKU. If no SKU is given when posting an item, the SKU will be generated automatically.
List of all the categories for the item.
Name of the item in the default language in JTL-Wawi.
Full textdescription for the item
Short description of the item in the default language in JTL-Wawi.
Components for the item if the item is a bill of material.
The list of active sales channels of the item. Only online shops and JTL-POS are permitted. Sales channels that are removed from this list will be deactivated for this item.
The sort number of the item, used in some sales channels for ordering items.
The date when the item was put up for sale.
This option allows you to sell a higher quantity of the item than is actually in stock.
curl -i -X POST \
'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/items?disableAutomaticWorkflows=true' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'api-version: string' \
-H 'tenant-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-appid: string' \
-H 'x-appversion: string' \
-H 'x-runas: string' \
-d '{
"SKU": "ART2394871",
"ManufacturerId": 1,
"ResponsiblePersonId": 1,
"Categories": "",
"Name": "Interdimensional goggles",
"Description": "These goggles are a must have product. Everyone needs them. Buy them.",
"ShortDescription": "The best goggles anyone can buy",
"Identifiers": {
"Gtin": "8896982295860",
"ManufacturerNumber": "75",
"ISBN": "978-3-86680-192-9",
"UPC": "889698229586",
"AmazonFnsku": "FN813S88A43",
"Asins": "B071GVGFQF",
"OwnIdentifier": "P446853"
},
"Components": "",
"ItemPriceData": {
"SalesPriceNet": 125.21,
"SuggestedRetailPrice": 159.99,
"PurchasePriceNet": 99.73,
"EbayPrice": 149.99,
"AmazonPrice": 149.99
},
"ActiveSalesChannels": "",
"SortNumber": 0,
"Annotation": "Some additional internal info about the item",
"ReleasedOnDate": "2023-01-15T13:00:00.0000000+00:00",
"StorageOptions": {
"InventoryManagementActive": true,
"SplitQuantity": false,
"GlobalMinimumStockLevel": 15,
"Buffer": 5,
"SerialNumberItem": false,
"SerialNumberTracking": false,
"SubjectToShelfLifeExpirationDate": false,
"SubjectToBatchItem": false,
"ProcurementTime": 3,
"DetermineProcurementTimeAutomatically": false,
"AdditionalHandlingTime": 3
},
"CountryOfOrigin": "DE",
"ConditionId": 1,
"ShippingClassId": 4,
"ProductGroupId": 2,
"TaxClassId": 3,
"Dimensions": {
"Length": 10.5,
"Width": 5.8,
"Height": 3
},
"Weights": {
"ItemWeigth": 5,
"ShippingWeight": 5.5
},
"AllowNegativeStock": false,
"Quantities": {
"MinimumOrderQuantity": 0,
"MinimumPurchaseQuantityForCustomerGroup": "",
"PermissibleOrderQuantity": 0
},
"DangerousGoods": {
"UnNumber": "0070",
"HazardNo": "Class1 explosives"
},
"Taric": "61071100",
"SearchTerms": "goggles, magnification, lenses",
"PriceListActive": false,
"IgnoreDiscounts": false,
"AvailabilityId": 2
}'
The created item.
Item SKU. If no SKU is given when posting an item, the SKU will be generated automatically.
List of all the categories for the item.
Name of the item in the default language in JTL-Wawi.
Full textdescription for the item
Short description of the item in the default language in JTL-Wawi.
Components for the item if the item is a bill of material.
Quantity of the component in the bill of material.
IDs of the child items, if the item is a parent item.
The suggested retail price for the item.
The purchase price of the item.
Default price in new listing templates.
The list of active sales channels of the item. Only online shops and JTL-POS are permitted. Sales channels that are removed from this list will be deactivated for this item.
The sort number of the item, used in some sales channels for ordering items.
The item annotation.
Date when the item was added to the system.
Date of the last change made to the item. Only item data changes are relevant for this field, not changes in stock.
The date when the item was put up for sale.
Indicates if inventory management for the item is active, meaning that the item displays stock quantities.
Indicates if the item can be split into quantities less than 1.
Defines the minimum quantity that should always be in stock. For example, when calculating purchasing orders.
The buffer of the item. Used when selling time-delayed across different sales channels, so as not to sell more than is in stock.
Indicates the item's serial number when shipping the sales orders.
Indicates if serial numbers are to be identified during a goods receipt process from a supplier.
Indicates if the item has an expiration date, also known as a best before date.
Indicates whether the item is a batch item or not.
The procurement time indicates how many days it will take for the goods to be ready for shipment if they are currently out of stock. Procurement time is determined automatically on the basis of the supplier’s delivery time. By default, the delivery time of the default supplier is used as the procurement time. If additional processing time (in days) has been specified, this is added to the procurement time.
If this option is set, the procurement time will be calculated from the default supplier's shipment time.
Condition ID of the item. Default if nothing is specified.
This option allows you to sell a higher quantity of the item than is actually in stock.
The minimum order quantity of the item.
A collection of minimum order quantities for different customer groups.
Unique ID to identify a customer group.
The permissible order quantity for the item. Indicates the increments in which the item is sold.
{ "Id": 1, "SKU": "ART2394871", "ManufacturerId": 1, "ResponsiblePersonId": 1, "IsActive": true, "Categories": "", "Name": "Interdimensional goggles", "Description": "These goggles are a must have product. Everyone needs them. Buy them.", "ShortDescription": "The best goggles anyone can buy", "Identifiers": { "Gtin": "8896982295860", "ManufacturerNumber": "75", "ISBN": "978-3-86680-192-9", "UPC": "889698229586", "AmazonFnsku": "FN813S88A43", "Asins": "B071GVGFQF", "OwnIdentifier": "P446853" }, "Components": "", "ChildItems": "", "ParentItemId": 2, "ItemPriceData": { "SalesPriceNet": 125.21, "SuggestedRetailPrice": 159.99, "PurchasePriceNet": 99.73, "EbayPrice": 149.99, "AmazonPrice": 149.99 }, "ActiveSalesChannels": "", "SortNumber": 0, "Annotation": "Some additional internal info about the item", "Added": "2023-01-15T13:00:00.0000000+00:00", "Changed": "2023-01-15T13:00:00.0000000+00:00", "ReleasedOnDate": "2023-01-15T13:00:00.0000000+00:00", "StorageOptions": { "InventoryManagementActive": true, "SplitQuantity": false, "GlobalMinimumStockLevel": 15, "Buffer": 5, "SerialNumberItem": false, "SerialNumberTracking": false, "SubjectToShelfLifeExpirationDate": false, "SubjectToBatchItem": false, "ProcurementTime": 3, "DetermineProcurementTimeAutomatically": false, "AdditionalHandlingTime": 3 }, "CountryOfOrigin": "DE", "ConditionId": 1, "ShippingClassId": 4, "ProductGroupId": 2, "TaxClassId": 3, "Dimensions": { "Length": 10.5, "Width": 5.8, "Height": 3 }, "Weights": { "ItemWeigth": 5, "ShippingWeight": 5.5 }, "AllowNegativeStock": false, "Quantities": { "MinimumOrderQuantity": 0, "MinimumPurchaseQuantityForCustomerGroup": "", "PermissibleOrderQuantity": 0 }, "DangerousGoods": { "UnNumber": "0070", "HazardNo": "Class1 explosives" }, "Taric": "61071100", "SearchTerms": "goggles, magnification, lenses", "PriceListActive": false, "IgnoreDiscounts": false, "AvailabilityId": 2 }
This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.
This is where the version number of your application is entered, in this case "1.0.0".
The User-Id as int or uuid to run the Request, a JTL-Wawi user can be specified to perform an API call on their behalf (more details in the documentation, Optional). To use the Header, you must have the needed Scope 'Application.RunAs'
curl -i -X GET \
'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/items/{itemId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'api-version: string' \
-H 'tenant-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-appid: string' \
-H 'x-appversion: string' \
-H 'x-runas: string'
Returns the Item for the given id.
Item SKU. If no SKU is given when posting an item, the SKU will be generated automatically.
List of all the categories for the item.
Name of the item in the default language in JTL-Wawi.
Full textdescription for the item
Short description of the item in the default language in JTL-Wawi.
Components for the item if the item is a bill of material.
Quantity of the component in the bill of material.
IDs of the child items, if the item is a parent item.
The suggested retail price for the item.
The purchase price of the item.
Default price in new listing templates.
The list of active sales channels of the item. Only online shops and JTL-POS are permitted. Sales channels that are removed from this list will be deactivated for this item.
The sort number of the item, used in some sales channels for ordering items.
The item annotation.
Date when the item was added to the system.
Date of the last change made to the item. Only item data changes are relevant for this field, not changes in stock.
The date when the item was put up for sale.
Indicates if inventory management for the item is active, meaning that the item displays stock quantities.
Indicates if the item can be split into quantities less than 1.
Defines the minimum quantity that should always be in stock. For example, when calculating purchasing orders.
The buffer of the item. Used when selling time-delayed across different sales channels, so as not to sell more than is in stock.
Indicates the item's serial number when shipping the sales orders.
Indicates if serial numbers are to be identified during a goods receipt process from a supplier.
Indicates if the item has an expiration date, also known as a best before date.
Indicates whether the item is a batch item or not.
The procurement time indicates how many days it will take for the goods to be ready for shipment if they are currently out of stock. Procurement time is determined automatically on the basis of the supplier’s delivery time. By default, the delivery time of the default supplier is used as the procurement time. If additional processing time (in days) has been specified, this is added to the procurement time.
If this option is set, the procurement time will be calculated from the default supplier's shipment time.
Condition ID of the item. Default if nothing is specified.
This option allows you to sell a higher quantity of the item than is actually in stock.
The minimum order quantity of the item.
A collection of minimum order quantities for different customer groups.
Unique ID to identify a customer group.
The permissible order quantity for the item. Indicates the increments in which the item is sold.
{ "Id": 1, "SKU": "ART2394871", "ManufacturerId": 1, "ResponsiblePersonId": 1, "IsActive": true, "Categories": "", "Name": "Interdimensional goggles", "Description": "These goggles are a must have product. Everyone needs them. Buy them.", "ShortDescription": "The best goggles anyone can buy", "Identifiers": { "Gtin": "8896982295860", "ManufacturerNumber": "75", "ISBN": "978-3-86680-192-9", "UPC": "889698229586", "AmazonFnsku": "FN813S88A43", "Asins": "B071GVGFQF", "OwnIdentifier": "P446853" }, "Components": "", "ChildItems": "", "ParentItemId": 2, "ItemPriceData": { "SalesPriceNet": 125.21, "SuggestedRetailPrice": 159.99, "PurchasePriceNet": 99.73, "EbayPrice": 149.99, "AmazonPrice": 149.99 }, "ActiveSalesChannels": "", "SortNumber": 0, "Annotation": "Some additional internal info about the item", "Added": "2023-01-15T13:00:00.0000000+00:00", "Changed": "2023-01-15T13:00:00.0000000+00:00", "ReleasedOnDate": "2023-01-15T13:00:00.0000000+00:00", "StorageOptions": { "InventoryManagementActive": true, "SplitQuantity": false, "GlobalMinimumStockLevel": 15, "Buffer": 5, "SerialNumberItem": false, "SerialNumberTracking": false, "SubjectToShelfLifeExpirationDate": false, "SubjectToBatchItem": false, "ProcurementTime": 3, "DetermineProcurementTimeAutomatically": false, "AdditionalHandlingTime": 3 }, "CountryOfOrigin": "DE", "ConditionId": 1, "ShippingClassId": 4, "ProductGroupId": 2, "TaxClassId": 3, "Dimensions": { "Length": 10.5, "Width": 5.8, "Height": 3 }, "Weights": { "ItemWeigth": 5, "ShippingWeight": 5.5 }, "AllowNegativeStock": false, "Quantities": { "MinimumOrderQuantity": 0, "MinimumPurchaseQuantityForCustomerGroup": "", "PermissibleOrderQuantity": 0 }, "DangerousGoods": { "UnNumber": "0070", "HazardNo": "Class1 explosives" }, "Taric": "61071100", "SearchTerms": "goggles, magnification, lenses", "PriceListActive": false, "IgnoreDiscounts": false, "AvailabilityId": 2 }