The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
Developer Guide
With the JTL-Channel API, you can:
- Describe connected marketplace data structure by providing category and attribute data
- Manage product and offer listings
- Update price and quantity of a listing
- Manage orders
- Manage the post-order process (returns, refunds)
Target Audience:
- Marketplaces who wanting to connect with sellers who use JTL-Software with an eazyAuction subscription
- Software developers who want to connect to a marketplace
Terminology
- Channel: A channel is defined as a connection to a marketplace or any external system which can be connected to the JTL-Channel API.
- Seller: A seller is a person identified by a unique ID (SellerId) who wants to offer and sell his goods on the connected Channel.
- Event: An Event is an action initiated from a seller. A channel need to react to events in order to create or update a listing or to process post order actions.
- Seller API: This is the Channel API counterpart. The ERP system JTL-Wawi is connected with the Seller API.
Development cycle
API - Hosts
Sandbox: https://scx-sbx.api.jtl-software.com
Production: https://scx.api.jtl-software.com
Prerequisite
To access the JTL-Channel API you will need an API refresh token. These token are created during the onboarding process together with JTL. If you are interested to connect your marketplace with the JTL ecosystem, please do not hesitate to contact us.
https://www.jtl-software.de/kontakt
Development
The Channel implementation runs on your own infrastructure. You as the Channel integrator have the full responsibility to run, manage and secure your application.
Error Handling
Error responses are indicated by an HTTP status code >=400. The Channel API uses a consistent error response format for all API errors.
{
"errorList": [
{
"code": "VAL100",
"message": "orderList[0].sellerId: SellerId darf nicht leer sein und maximal 50 alphnumerische Zeichen beinhalten",
"severity": "error",
"hint": null
},
{
"code": "VAL100",
"message": "orderList[0].orderStatus: Ungültiger oder unbekannter Order Status. Muss einer der folgenden Werte sein UNACKED, CREATED, ACCEPTED, SHIPPED, PARTIALLY_SHIPPED, CANCELED_BY_SELLER, CANCELED_BY_BUYER",
"severity": "error",
"hint": null
},
{
"code": "VAL100",
"message": "orderList[0].orderStatus: Ungültiger oder unbekannter Order Status. Muss einer der folgenden Werte sein UNACKED, CREATED, ACCEPTED, SHIPPED, PARTIALLY_SHIPPED, CANCELED_BY_SELLER, CANCELED_BY_BUYER",
"severity": "error",
"hint": null
}
]
}
We are supporting language de
(German) as default. This can be changed to en
by setting the Accept-Language
header.
Setup of a local JTL-Wawi instance
It may be helpful to use the JTL-Wawi ERP System during development to create new listings or manage orders.
To connect the ERP System with the sandbox environment install a JTL-Wawi Version 1.8+.
Connect to MSSQL Server directly
Add the seller's refresh token - the token will be created during onboarding process.
INSERT INTO SCX.tRefreshToken
(cRefreshToken, nType)
VALUES
(N'<SellerAPI-RefreshToken>', 1);
Switch API Host to Sandbox
UPDATE dbo.tOptions
SET cValue ='https://scx-sbx.api.jtl-software.com'
WHERE ckey = 'SCX.URL'
Restart JTL-Wawi
Using the Seller-API directly
To test workflows and to send test data to the channel API, you can directly use the Seller API. Please see the technical documentation and our Postman Collection.
Links and other Resources
Channel-API Documentation https://scx-sandbox.ui.jtl-software.com/docs/api_channel.html
Seller-API Documentation https://scx-sandbox.ui.jtl-software.com/docs/api_seller.html
Postman Collection https://www.postman.com/jtl-eazyauction/workspace/jtl-scx-public