JTL-WAWI API (Cloud) (1.0)

Introduction

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.

Authentication

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:

  • AppId
  • DisplayName
  • Description
  • Version
  • ProviderName
  • ProviderWebsite
  • MandatoryApiScopes

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.

Download OpenAPI description
Languages
Servers
Mock server
https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/
https://api.jtl-cloud.com/erp/

info

Operations

features

Operations

printer

Operations

company

Operations

supplier

Operations

colorcodes

Operations

item

Operations

property

Operations

returnstate

Planned

Operations

onholdreason

Operations

returnreason

Planned

Operations

saleschannel

Operations

customerGroup

Operations

paymentmethod

Operations

odata

Operations

shippingmethod

Operations

warehouse

Operations

customerCategory

Operations

return

Operations

cancellationreason

Operations

transactionStatus

Operations

invoice

Planned

Operations

Query Invoices

Request

Query all Invoices

Query
salesOrderNumberstring

Search for a specific sales order number.

externalOrderNumberstring

Search for a specific external order number.

invoiceNumberstring

Search for a specific invoice number.

itemIdinteger(int32)

Search for a specific item ID.

customerIdinteger(int32)

Search for a specific customer ID.

paymentStatusinteger(int32)

Search for a specific payment status.0=UnPayed | 1=PartialPayed | 2=Payed

Enum012
isExternalInvoiceboolean

Search only for external invoices

pageNumberinteger(int32)

Number of the page of items to fetch.

pageSizeinteger(int32)

Size of the page that is specified by pageNumber.

Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

curl -i -X GET \
  'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices?customerId=0&externalOrderNumber=string&invoiceNumber=string&isExternalInvoice=true&itemId=0&pageNumber=0&pageSize=0&paymentStatus=0&salesOrderNumber=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'

Responses

Returns all non-pending sales orders.

Bodyapplication/json
TotalItemsinteger(int32)required

Gets or sets the total number of items available in the data source.

PageNumberinteger(int32)required

Gets or sets the current page number in the paginated list.

PageSizeinteger(int32)required

Gets or sets the number of items per page in the paginated list.

ItemsArray of objects(Invoice)required

Gets or sets the collection of items contained in the paged list.

Items[].​Idinteger(int32)required

Unique ID to identify an invoice.

Example: 123
Items[].​Numberstringrequired

The number of the invoice.

Example: "A1004465"
Items[].​ExternalNumberstringrequired

The external number of the sales order.

Example: "D456-64894-132"
Items[].​CompanyIdinteger(int32)required

The company ID on the invoice.

Example: 1
Items[].​DepartureCountryobject(InvoiceDepartureCountry)required
Items[].​DepartureCountry.​CountryISOstringrequired

ISO code of the departure country.

Example: "DE"
Items[].​DepartureCountry.​Statestringrequired

Name of the state in the departure country.

Example: "Berlin"
Items[].​DepartureCountry.​CurrencyIsostringrequired

ISO code of the currency of the departure country.

Example: "TODO"
Items[].​DepartureCountry.​CurrencyFactornumber(decimal)required

The currency factor of the departure country.

Example: 1.37
Items[].​CustomerIdinteger(int32)required

The customer ID.

Example: 1005
Items[].​BillingAddressobject(Address)required
Items[].​BillingAddress.​Idinteger(int32)required

Unique ID to identify an address

Example: 100
Items[].​BillingAddress.​Companystringrequired

Description of the Company.

Example: "Sportbedarf Sommer"
Items[].​BillingAddress.​Company2stringrequired

Additional company information

Example: "Innovation Division"
Items[].​BillingAddress.​FormOfAddressstringrequired

Customer form of address

Example: "Mr."
Items[].​BillingAddress.​Titlestringrequired

Official title

Example: "Dr."
Items[].​BillingAddress.​FirstNamestringrequired

Customer first name

Example: "John"
Items[].​BillingAddress.​LastNamestringrequired

Customer last name

Example: "Doe"
Items[].​BillingAddress.​Streetstringrequired

Street name in the customer's address

Example: "Main St. 123"
Items[].​BillingAddress.​Address2stringrequired

Additional address information

Example: "Floor 5, Apt 302"
Items[].​BillingAddress.​PostalCodestringrequired

Postal code of the customer's address

Example: "12345"
Items[].​BillingAddress.​Citystringrequired

Name of city in the customer's address

Example: "Example City"
Items[].​BillingAddress.​Statestringrequired

Name of state in the customer's address

Example: "Example State"
Items[].​BillingAddress.​CountryIsostringrequired

Country ISO code

Example: "DE"
Items[].​BillingAddress.​VatIDstringrequired

Supplier VAT ID number

Example: "DE123456789"
Items[].​BillingAddress.​PhoneNumberstringrequired

Landline phone number

Example: "+49 1234 445556661"
Items[].​BillingAddress.​MobilePhoneNumberstringrequired

Mobile phone number

Example: "+49 160 123 4567"
Items[].​BillingAddress.​EmailAddressstringrequired

Email address

Example: "example@email.com"
Items[].​BillingAddress.​Faxstringrequired

Fax number

Example: "+49 1234 4455566615"
Items[].​ShipmentAddressobject(Address)required
Items[].​ShipmentAddress.​Idinteger(int32)required

Unique ID to identify an address

Example: 100
Items[].​ShipmentAddress.​Companystringrequired

Description of the Company.

Example: "Sportbedarf Sommer"
Items[].​ShipmentAddress.​Company2stringrequired

Additional company information

Example: "Innovation Division"
Items[].​ShipmentAddress.​FormOfAddressstringrequired

Customer form of address

Example: "Mr."
Items[].​ShipmentAddress.​Titlestringrequired

Official title

Example: "Dr."
Items[].​ShipmentAddress.​FirstNamestringrequired

Customer first name

Example: "John"
Items[].​ShipmentAddress.​LastNamestringrequired

Customer last name

Example: "Doe"
Items[].​ShipmentAddress.​Streetstringrequired

Street name in the customer's address

Example: "Main St. 123"
Items[].​ShipmentAddress.​Address2stringrequired

Additional address information

Example: "Floor 5, Apt 302"
Items[].​ShipmentAddress.​PostalCodestringrequired

Postal code of the customer's address

Example: "12345"
Items[].​ShipmentAddress.​Citystringrequired

Name of city in the customer's address

Example: "Example City"
Items[].​ShipmentAddress.​Statestringrequired

Name of state in the customer's address

Example: "Example State"
Items[].​ShipmentAddress.​CountryIsostringrequired

Country ISO code

Example: "DE"
Items[].​ShipmentAddress.​VatIDstringrequired

Supplier VAT ID number

Example: "DE123456789"
Items[].​ShipmentAddress.​PhoneNumberstringrequired

Landline phone number

Example: "+49 1234 445556661"
Items[].​ShipmentAddress.​MobilePhoneNumberstringrequired

Mobile phone number

Example: "+49 160 123 4567"
Items[].​ShipmentAddress.​EmailAddressstringrequired

Email address

Example: "example@email.com"
Items[].​ShipmentAddress.​Faxstringrequired

Fax number

Example: "+49 1234 4455566615"
Items[].​InvoiceDatestring(date-time)required

The date when the invoice was created.

Example: "2023-02-01T12:45:00.0000000+00:00"
Items[].​InvoicePaymentDetailsobject(InvoicePaymentDetail)required
Items[].​InvoicePaymentDetails.​PaymentMethodIdinteger(int32)required

The payment method whith which the invoice was paid.

Example: 12
Items[].​InvoicePaymentDetails.​PaymentStatusinteger(int32)required

The payment status of the invoice.0=UnPayed | 1=PartialPayed | 2=Payed

Enum012
Example: "TODO"
Items[].​InvoicePaymentDetails.​TotalGrossAmountnumber(decimal)required

The total gross amount of the invoice.

Example: 19.99
Items[].​InvoicePaymentDetails.​CurrencyIsostringrequired

ISO code of the currency of the invoice.

Example: "TODO"
Items[].​InvoicePaymentDetails.​CurrencyFactornumber(decimal)required

The currency factor for the sales order at the time the sales order has been created.

Example: 1.37
Items[].​InvoicePaymentDetails.​StillToPaynumber(decimal)required

The amount that is left to pay for this invoice.

Example: 0
Items[].​InvoicePaymentDetails.​PaymentTargetinteger(int32)required

The due date for payment of the sales order in days.

Example: 0
Items[].​InvoicePaymentDetails.​CashDiscountnumber(decimal)required

The cash discount of the sales order.

Example: 5
Items[].​InvoicePaymentDetails.​CashDiscountDaysinteger(int32)required

The days that the cash discount is valid.

Example: 2
Items[].​InvoicePaymentDetails.​StopPaymentRequestbooleanrequired

The creation of dunning letters is blocked.

Example: false
Items[].​InvoicePaymentDetails.​DunningLevelinteger(int32)required

The stage at which dunning currently is

Example: 0
Items[].​InvoicePaymentDetails.​NextDueDatestring(date-time)required

The next due date

Example: "2023-02-01T12:45:00.0000000+00:00"
Items[].​ColorcodeIdinteger(int32)required

The colour code of the invoice.

Example: 2
Items[].​DunningBlockbooleanrequired

The creation of dunning letters is blocked.

Example: false
Items[].​IsExternalInvoicebooleanrequired

Indicates if the invoice of the sales order was created in an external system like Amazon VCS.

Example: false
Items[].​Commentstringrequired

A comment on the sales order.

Example: "an additional order comment"
Items[].​CustomerCommentstringrequired

A customer comment on the sales order.

Example: "an additional customer comment"
Items[].​IsCancelledbooleanrequired

Indicates if the invoice has been cancelled.

Example: false
Items[].​LanguageIsostringrequired

The language of the invoice.

Example: "DE"
Items[].​CancellationDetailsobject(InvoiceCancellationDetails)required
Items[].​CancellationDetails.​CancellationReasonIdinteger(int32)required

The ID of the reason for cancelling the invoice.

Example: -4
Items[].​CancellationDetails.​CancellationCommentstringrequired

A comment that adds further information to the cancellation.

Example: "Change of mind (once again); we should consider terminating the customer relationship"
Items[].​CancellationDetails.​Datestring(date-time)required

The DateTime of Cancellation.

Example: "2023-02-01T12:45:00.0000000+00:00"
TotalPagesinteger(int32)read-only

Gets the total number of pages based on the total number of items and the page size.

HasPreviousPagebooleanread-only

Gets a value indicating whether there is a previous page available in the paginated list.

HasNextPagebooleanread-only

Gets a value indicating whether there is a next page available.

NextPageNumberinteger(int32)read-only

Gets the number of the next page if there is one; otherwise, returns the total number of pages.

PreviousPageNumberinteger(int32)read-only

Gets the number of the previous page. If there is no previous page, it returns 1.

Response
application/json
{ "TotalItems": 0, "PageNumber": 0, "PageSize": 0, "Items": [ {} ], "TotalPages": 0, "HasPreviousPage": true, "HasNextPage": true, "NextPageNumber": 0, "PreviousPageNumber": 0 }

Get Invoice

Request

Get a specific invoice

Path
invoiceIdinteger(int32)required

The ID of the invoice to return.

Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

curl -i -X GET \
  'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices/{invoiceId}' \
  -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'

Responses

Returns the invoice for the given ID.

Bodyapplication/json
Idinteger(int32)required

Unique ID to identify an invoice.

Example: 123
Numberstringrequired

The number of the invoice.

Example: "A1004465"
ExternalNumberstringrequired

The external number of the sales order.

Example: "D456-64894-132"
CompanyIdinteger(int32)required

The company ID on the invoice.

Example: 1
DepartureCountryobject(InvoiceDepartureCountry)required
DepartureCountry.​CountryISOstringrequired

ISO code of the departure country.

Example: "DE"
DepartureCountry.​Statestringrequired

Name of the state in the departure country.

Example: "Berlin"
DepartureCountry.​CurrencyIsostringrequired

ISO code of the currency of the departure country.

Example: "TODO"
DepartureCountry.​CurrencyFactornumber(decimal)required

The currency factor of the departure country.

Example: 1.37
CustomerIdinteger(int32)required

The customer ID.

Example: 1005
BillingAddressobject(Address)required
BillingAddress.​Idinteger(int32)required

Unique ID to identify an address

Example: 100
BillingAddress.​Companystringrequired

Description of the Company.

Example: "Sportbedarf Sommer"
BillingAddress.​Company2stringrequired

Additional company information

Example: "Innovation Division"
BillingAddress.​FormOfAddressstringrequired

Customer form of address

Example: "Mr."
BillingAddress.​Titlestringrequired

Official title

Example: "Dr."
BillingAddress.​FirstNamestringrequired

Customer first name

Example: "John"
BillingAddress.​LastNamestringrequired

Customer last name

Example: "Doe"
BillingAddress.​Streetstringrequired

Street name in the customer's address

Example: "Main St. 123"
BillingAddress.​Address2stringrequired

Additional address information

Example: "Floor 5, Apt 302"
BillingAddress.​PostalCodestringrequired

Postal code of the customer's address

Example: "12345"
BillingAddress.​Citystringrequired

Name of city in the customer's address

Example: "Example City"
BillingAddress.​Statestringrequired

Name of state in the customer's address

Example: "Example State"
BillingAddress.​CountryIsostringrequired

Country ISO code

Example: "DE"
BillingAddress.​VatIDstringrequired

Supplier VAT ID number

Example: "DE123456789"
BillingAddress.​PhoneNumberstringrequired

Landline phone number

Example: "+49 1234 445556661"
BillingAddress.​MobilePhoneNumberstringrequired

Mobile phone number

Example: "+49 160 123 4567"
BillingAddress.​EmailAddressstringrequired

Email address

Example: "example@email.com"
BillingAddress.​Faxstringrequired

Fax number

Example: "+49 1234 4455566615"
ShipmentAddressobject(Address)required
ShipmentAddress.​Idinteger(int32)required

Unique ID to identify an address

Example: 100
ShipmentAddress.​Companystringrequired

Description of the Company.

Example: "Sportbedarf Sommer"
ShipmentAddress.​Company2stringrequired

Additional company information

Example: "Innovation Division"
ShipmentAddress.​FormOfAddressstringrequired

Customer form of address

Example: "Mr."
ShipmentAddress.​Titlestringrequired

Official title

Example: "Dr."
ShipmentAddress.​FirstNamestringrequired

Customer first name

Example: "John"
ShipmentAddress.​LastNamestringrequired

Customer last name

Example: "Doe"
ShipmentAddress.​Streetstringrequired

Street name in the customer's address

Example: "Main St. 123"
ShipmentAddress.​Address2stringrequired

Additional address information

Example: "Floor 5, Apt 302"
ShipmentAddress.​PostalCodestringrequired

Postal code of the customer's address

Example: "12345"
ShipmentAddress.​Citystringrequired

Name of city in the customer's address

Example: "Example City"
ShipmentAddress.​Statestringrequired

Name of state in the customer's address

Example: "Example State"
ShipmentAddress.​CountryIsostringrequired

Country ISO code

Example: "DE"
ShipmentAddress.​VatIDstringrequired

Supplier VAT ID number

Example: "DE123456789"
ShipmentAddress.​PhoneNumberstringrequired

Landline phone number

Example: "+49 1234 445556661"
ShipmentAddress.​MobilePhoneNumberstringrequired

Mobile phone number

Example: "+49 160 123 4567"
ShipmentAddress.​EmailAddressstringrequired

Email address

Example: "example@email.com"
ShipmentAddress.​Faxstringrequired

Fax number

Example: "+49 1234 4455566615"
InvoiceDatestring(date-time)required

The date when the invoice was created.

Example: "2023-02-01T12:45:00.0000000+00:00"
InvoicePaymentDetailsobject(InvoicePaymentDetail)required
InvoicePaymentDetails.​PaymentMethodIdinteger(int32)required

The payment method whith which the invoice was paid.

Example: 12
InvoicePaymentDetails.​PaymentStatusinteger(int32)required

The payment status of the invoice.0=UnPayed | 1=PartialPayed | 2=Payed

Enum012
Example: "TODO"
InvoicePaymentDetails.​TotalGrossAmountnumber(decimal)required

The total gross amount of the invoice.

Example: 19.99
InvoicePaymentDetails.​CurrencyIsostringrequired

ISO code of the currency of the invoice.

Example: "TODO"
InvoicePaymentDetails.​CurrencyFactornumber(decimal)required

The currency factor for the sales order at the time the sales order has been created.

Example: 1.37
InvoicePaymentDetails.​StillToPaynumber(decimal)required

The amount that is left to pay for this invoice.

Example: 0
InvoicePaymentDetails.​PaymentTargetinteger(int32)required

The due date for payment of the sales order in days.

Example: 0
InvoicePaymentDetails.​CashDiscountnumber(decimal)required

The cash discount of the sales order.

Example: 5
InvoicePaymentDetails.​CashDiscountDaysinteger(int32)required

The days that the cash discount is valid.

Example: 2
InvoicePaymentDetails.​StopPaymentRequestbooleanrequired

The creation of dunning letters is blocked.

Example: false
InvoicePaymentDetails.​DunningLevelinteger(int32)required

The stage at which dunning currently is

Example: 0
InvoicePaymentDetails.​NextDueDatestring(date-time)required

The next due date

Example: "2023-02-01T12:45:00.0000000+00:00"
ColorcodeIdinteger(int32)required

The colour code of the invoice.

Example: 2
DunningBlockbooleanrequired

The creation of dunning letters is blocked.

Example: false
IsExternalInvoicebooleanrequired

Indicates if the invoice of the sales order was created in an external system like Amazon VCS.

Example: false
Commentstringrequired

A comment on the sales order.

Example: "an additional order comment"
CustomerCommentstringrequired

A customer comment on the sales order.

Example: "an additional customer comment"
IsCancelledbooleanrequired

Indicates if the invoice has been cancelled.

Example: false
LanguageIsostringrequired

The language of the invoice.

Example: "DE"
CancellationDetailsobject(InvoiceCancellationDetails)required
CancellationDetails.​CancellationReasonIdinteger(int32)required

The ID of the reason for cancelling the invoice.

Example: -4
CancellationDetails.​CancellationCommentstringrequired

A comment that adds further information to the cancellation.

Example: "Change of mind (once again); we should consider terminating the customer relationship"
CancellationDetails.​Datestring(date-time)required

The DateTime of Cancellation.

Example: "2023-02-01T12:45:00.0000000+00:00"
Response
application/json
{ "Id": 123, "Number": "A1004465", "ExternalNumber": "D456-64894-132", "CompanyId": 1, "DepartureCountry": { "CountryISO": "DE", "State": "Berlin", "CurrencyIso": "TODO", "CurrencyFactor": 1.37 }, "CustomerId": 1005, "BillingAddress": { "Id": 100, "Company": "Sportbedarf Sommer", "Company2": "Innovation Division", "FormOfAddress": "Mr.", "Title": "Dr.", "FirstName": "John", "LastName": "Doe", "Street": "Main St. 123", "Address2": "Floor 5, Apt 302", "PostalCode": "12345", "City": "Example City", "State": "Example State", "CountryIso": "DE", "VatID": "DE123456789", "PhoneNumber": "+49 1234 445556661", "MobilePhoneNumber": "+49 160 123 4567", "EmailAddress": "example@email.com", "Fax": "+49 1234 4455566615" }, "ShipmentAddress": { "Id": 100, "Company": "Sportbedarf Sommer", "Company2": "Innovation Division", "FormOfAddress": "Mr.", "Title": "Dr.", "FirstName": "John", "LastName": "Doe", "Street": "Main St. 123", "Address2": "Floor 5, Apt 302", "PostalCode": "12345", "City": "Example City", "State": "Example State", "CountryIso": "DE", "VatID": "DE123456789", "PhoneNumber": "+49 1234 445556661", "MobilePhoneNumber": "+49 160 123 4567", "EmailAddress": "example@email.com", "Fax": "+49 1234 4455566615" }, "InvoiceDate": "2023-02-01T12:45:00.0000000+00:00", "InvoicePaymentDetails": { "PaymentMethodId": 12, "PaymentStatus": "TODO", "TotalGrossAmount": 19.99, "CurrencyIso": "TODO", "CurrencyFactor": 1.37, "StillToPay": 0, "PaymentTarget": 0, "CashDiscount": 5, "CashDiscountDays": 2, "StopPaymentRequest": false, "DunningLevel": 0, "NextDueDate": "2023-02-01T12:45:00.0000000+00:00" }, "ColorcodeId": 2, "DunningBlock": false, "IsExternalInvoice": false, "Comment": "an additional order comment", "CustomerComment": "an additional customer comment", "IsCancelled": false, "LanguageIso": "DE", "CancellationDetails": { "CancellationReasonId": -4, "CancellationComment": "Change of mind (once again); we should consider terminating the customer relationship", "Date": "2023-02-01T12:45:00.0000000+00:00" } }

Query Invoice Line Items

Request

Query all line items for a specific invoice

Path
invoiceIdinteger(int32)required

The ID of the invoice that the line items belong to.

Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

curl -i -X GET \
  'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices/{invoiceId}/lineitems' \
  -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'

Responses

The requested line items.

Bodyapplication/jsonArray [
Idinteger(int32)required

Unique ID to identify an invoice line item.

Example: 1123
InvoiceIdinteger(int32)required

Unique ID to identify an invoice.

Example: 12
SalesOrderIdinteger(int32)required

Unique ID to identify a sales order.

Example: 12
SalesOrderLineItemIdinteger(int32)required

Unique ID to identify a sales order line item.

Example: 12
ItemIdinteger(int32)required

Unique ID to identify an item.

Example: 1000
Namestringrequired

Name of the item.

Example: "Awesome Binoculars"
SKUstringrequired

SKU of the sales invoice item.

Example: "ART2394871"
Typeinteger(int32)required

Type of the sales invoice item.0=CustomLineItem | 1=Item | 2=Shipping | 3=Coupon | 4=Voucher | 5=Payment | 6=ShippingSurcharge | 7=NewCustomerCoupon | 8=CashOnDelivery | 9=ShippingSurchargeItem | 10=GiftWrapping | 11=GiftForFree | 12=TrustedShops | 13=InterestPremium | 14=ProcessingFee | 15=Carton | 16=ReturnDelivery | 17=MultiPurposeVoucher | 18=MultiPurposeVoucherDigital | 19=SinglePurposeVoucher | 20=SinglePurposeVoucherDigital | 21=SinglePurposeVoucherRedemption

Enum0123456789
Example: "TODO"
Quantitynumber(decimal)required

The quantity of the line item.

Example: 2
SalesUnitstringrequired

The measurement unit in which the line item is sold.

Example: "stk"
SalesPriceNetnumber(decimal)required

The net sales price of the line item.

Example: 16.8
SalesPriceGrossnumber(decimal)required

The gross sales price of the line item.

Example: 19.99
Discountnumber(decimal)required

The discount applied to the line item.

Example: 5
PurchasePriceNetnumber(decimal)required

The price for which the merchant has bought the item.

Example: 13.46
TaxRatenumber(decimal)required

The tax rate of the line item.

Example: 19
]
Response
application/json
[ { "Id": 1123, "InvoiceId": 12, "SalesOrderId": 12, "SalesOrderLineItemId": 12, "ItemId": 1000, "Name": "Awesome Binoculars", "SKU": "ART2394871", "Type": "TODO", "Quantity": 2, "SalesUnit": "stk", "SalesPriceNet": 16.8, "SalesPriceGross": 19.99, "Discount": 5, "PurchasePriceNet": 13.46, "TaxRate": 19 } ]

Mail Invoice

Request

Execute the mailing of a Invoice

Path
invoiceIdinteger(int32)required

The id of the sales order for that the mail to start.

Query
formIdinteger(int32)

The optional key of a Form to mail.

Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

curl -i -X POST \
  'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices/{invoiceId}/output/mail?formId=0' \
  -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'

Responses

The MailJob is created

Bodyapplication/json
Response
application/json
null

Pdf Invoice

Request

Execute the pdf creation of a Invoice

Path
invoiceIdinteger(int32)required

The id of the sales order for that the creation of a pdf to start.

Query
formIdinteger(int32)

The optional key of a Form to creat pdf.

Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

curl -i -X POST \
  'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices/{invoiceId}/output/pdf?formId=0' \
  -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'

Responses

The Filestream of the Created PDF

Bodyapplication/json
string(binary)
Response
application/json
"string"

Print Invoice

Request

Execute the printing of a Invoice

Path
invoiceIdinteger(int32)required

The id of the sales order for that the print to start.

Query
formIdinteger(int32)

The optional key of a Form to Print.

printerstring

The target printer to print. The printer is Mandatory, if no User with Own Printer Configuration Available.

Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

curl -i -X POST \
  'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices/{invoiceId}/output/print?formId=0&printer=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'

Responses

The Printjob is created

Bodyapplication/json
Response
application/json
null

Trigger Invoice Workflow

Request

Trigger a specific workflow event for a given invoice

Path
invoiceIdinteger(int32)required

The ID of the invoice for which the manual workflow event should be started.

workflowEventIdinteger(int32)required

The id of the Event for that the manual workflow event should be started.1=Created | 3=CompletePaid | 6=Canceled

Enum136
Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

curl -i -X POST \
  'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices/{invoiceId}/workflow/{workflowEventId}' \
  -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'

Responses

Bodyapplication/json
Response
application/json
null

Trigger Invoice Workflow Event

Request

Trigger a specific workflow event for a given invoice

Path
invoiceIdinteger(int32)required

The ID of the invoice for which the manual workflow event should be started.

Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

Bodyapplication/jsonrequired

The workflow event.

Idinteger(int32)required

ID of the workflow event

Example: 1
curl -i -X POST \
  'https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices/{invoiceId}/workflowEvents' \
  -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 '{
    "Id": 1
  }'

Responses

Bodyapplication/json
Response
application/json
null

Query Invoice Workflow Events

Request

Query all available workflow events for invoices

Headers
api-versionstring

The requested API version

x-appidstringrequired

This is the name of your application, in this case "MyApp/1.0.0". It is used to identify your application.

x-appversionstringrequired

This is where the version number of your application is entered, in this case "1.0.0".

x-runasstring

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'

tenant-idstring(uuid)required

Specify the TenantId in GUID Format

x-api-keystring(uuid)required

Specify the ApiKey from RegistrationProcess in Uuid Format

curl -i -X GET \
  https://developer.jtl-software.com/_mock/products/erpapi/1.0-cloud/openapi/invoices/workflowEvents \
  -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'

Responses

All manual workflow events for invoices that could be used to trigger workflow events via REST API.

Bodyapplication/jsonArray [
Idinteger(int32)required

ID of the workflow event

Example: 1
Namestringrequired

Name of the workflow event

Example: "Wawi workflow name"
]
Response
application/json
[ { "Id": 1, "Name": "Wawi workflow name" } ]

customer

Operations

category

Operations

salesorder

Operations

deliverynote

Planned

Operations

appRegistration

Operations

wms

Operations

stock

Operations

accountingData

Planned

Operations

tax

Operations

offer

Operations

creditnote

Operations