curl --request POST \
--url https://api.jtl-cloud.com/erp/v2/purchase-orders \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"supplierId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"requestedDeliveryDate": "2023-11-07T05:31:56Z",
"items": [
{
"itemId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"quantity": 123,
"netPurchasePriceAmount": 123,
"vatRatePercentage": 123,
"note": "<string>",
"supplierItemNumber": "<string>",
"deliveryDate": "2023-11-07T05:31:56Z"
}
],
"deliveryAddress": {
"salutation": "<string>",
"title": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"companyName": "<string>",
"additionalCompanyLine": "<string>",
"street": "<string>",
"additionalAddressLine": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>",
"countryIso": "<string>",
"phoneNumber": "<string>",
"faxNumber": "<string>",
"mobilePhoneNumber": "<string>",
"emailAddress": "<string>"
},
"billingAddress": {
"salutation": "<string>",
"title": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"companyName": "<string>",
"additionalCompanyLine": "<string>",
"street": "<string>",
"additionalAddressLine": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>",
"countryIso": "<string>",
"phoneNumber": "<string>",
"faxNumber": "<string>",
"mobilePhoneNumber": "<string>",
"emailAddress": "<string>"
},
"externalOrderNumber": "<string>",
"referenceOrderNumber": "<string>",
"internalComment": "<string>",
"warehouseId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"disableAutomaticWorkflows": true
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/purchase-orders"
payload = {
"supplierId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"requestedDeliveryDate": "2023-11-07T05:31:56Z",
"items": [
{
"itemId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"quantity": 123,
"netPurchasePriceAmount": 123,
"vatRatePercentage": 123,
"note": "<string>",
"supplierItemNumber": "<string>",
"deliveryDate": "2023-11-07T05:31:56Z"
}
],
"deliveryAddress": {
"salutation": "<string>",
"title": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"companyName": "<string>",
"additionalCompanyLine": "<string>",
"street": "<string>",
"additionalAddressLine": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>",
"countryIso": "<string>",
"phoneNumber": "<string>",
"faxNumber": "<string>",
"mobilePhoneNumber": "<string>",
"emailAddress": "<string>"
},
"billingAddress": {
"salutation": "<string>",
"title": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"companyName": "<string>",
"additionalCompanyLine": "<string>",
"street": "<string>",
"additionalAddressLine": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>",
"countryIso": "<string>",
"phoneNumber": "<string>",
"faxNumber": "<string>",
"mobilePhoneNumber": "<string>",
"emailAddress": "<string>"
},
"externalOrderNumber": "<string>",
"referenceOrderNumber": "<string>",
"internalComment": "<string>",
"warehouseId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"disableAutomaticWorkflows": True
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
supplierId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
requestedDeliveryDate: '2023-11-07T05:31:56Z',
items: [
{
itemId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
quantity: 123,
netPurchasePriceAmount: 123,
vatRatePercentage: 123,
note: '<string>',
supplierItemNumber: '<string>',
deliveryDate: '2023-11-07T05:31:56Z'
}
],
deliveryAddress: {
salutation: '<string>',
title: '<string>',
firstName: '<string>',
lastName: '<string>',
companyName: '<string>',
additionalCompanyLine: '<string>',
street: '<string>',
additionalAddressLine: '<string>',
postalCode: '<string>',
city: '<string>',
state: '<string>',
countryIso: '<string>',
phoneNumber: '<string>',
faxNumber: '<string>',
mobilePhoneNumber: '<string>',
emailAddress: '<string>'
},
billingAddress: {
salutation: '<string>',
title: '<string>',
firstName: '<string>',
lastName: '<string>',
companyName: '<string>',
additionalCompanyLine: '<string>',
street: '<string>',
additionalAddressLine: '<string>',
postalCode: '<string>',
city: '<string>',
state: '<string>',
countryIso: '<string>',
phoneNumber: '<string>',
faxNumber: '<string>',
mobilePhoneNumber: '<string>',
emailAddress: '<string>'
},
externalOrderNumber: '<string>',
referenceOrderNumber: '<string>',
internalComment: '<string>',
warehouseId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
disableAutomaticWorkflows: true
})
};
fetch('https://api.jtl-cloud.com/erp/v2/purchase-orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jtl-cloud.com/erp/v2/purchase-orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'supplierId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'requestedDeliveryDate' => '2023-11-07T05:31:56Z',
'items' => [
[
'itemId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'quantity' => 123,
'netPurchasePriceAmount' => 123,
'vatRatePercentage' => 123,
'note' => '<string>',
'supplierItemNumber' => '<string>',
'deliveryDate' => '2023-11-07T05:31:56Z'
]
],
'deliveryAddress' => [
'salutation' => '<string>',
'title' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'companyName' => '<string>',
'additionalCompanyLine' => '<string>',
'street' => '<string>',
'additionalAddressLine' => '<string>',
'postalCode' => '<string>',
'city' => '<string>',
'state' => '<string>',
'countryIso' => '<string>',
'phoneNumber' => '<string>',
'faxNumber' => '<string>',
'mobilePhoneNumber' => '<string>',
'emailAddress' => '<string>'
],
'billingAddress' => [
'salutation' => '<string>',
'title' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'companyName' => '<string>',
'additionalCompanyLine' => '<string>',
'street' => '<string>',
'additionalAddressLine' => '<string>',
'postalCode' => '<string>',
'city' => '<string>',
'state' => '<string>',
'countryIso' => '<string>',
'phoneNumber' => '<string>',
'faxNumber' => '<string>',
'mobilePhoneNumber' => '<string>',
'emailAddress' => '<string>'
],
'externalOrderNumber' => '<string>',
'referenceOrderNumber' => '<string>',
'internalComment' => '<string>',
'warehouseId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'disableAutomaticWorkflows' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.jtl-cloud.com/erp/v2/purchase-orders"
payload := strings.NewReader("{\n \"supplierId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"requestedDeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"items\": [\n {\n \"itemId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"quantity\": 123,\n \"netPurchasePriceAmount\": 123,\n \"vatRatePercentage\": 123,\n \"note\": \"<string>\",\n \"supplierItemNumber\": \"<string>\",\n \"deliveryDate\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"deliveryAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"billingAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"externalOrderNumber\": \"<string>\",\n \"referenceOrderNumber\": \"<string>\",\n \"internalComment\": \"<string>\",\n \"warehouseId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"disableAutomaticWorkflows\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.jtl-cloud.com/erp/v2/purchase-orders")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"supplierId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"requestedDeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"items\": [\n {\n \"itemId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"quantity\": 123,\n \"netPurchasePriceAmount\": 123,\n \"vatRatePercentage\": 123,\n \"note\": \"<string>\",\n \"supplierItemNumber\": \"<string>\",\n \"deliveryDate\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"deliveryAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"billingAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"externalOrderNumber\": \"<string>\",\n \"referenceOrderNumber\": \"<string>\",\n \"internalComment\": \"<string>\",\n \"warehouseId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"disableAutomaticWorkflows\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/purchase-orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"supplierId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"requestedDeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"items\": [\n {\n \"itemId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"quantity\": 123,\n \"netPurchasePriceAmount\": 123,\n \"vatRatePercentage\": 123,\n \"note\": \"<string>\",\n \"supplierItemNumber\": \"<string>\",\n \"deliveryDate\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"deliveryAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"billingAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"externalOrderNumber\": \"<string>\",\n \"referenceOrderNumber\": \"<string>\",\n \"internalComment\": \"<string>\",\n \"warehouseId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"disableAutomaticWorkflows\": true\n}"
response = http.request(request)
puts response.read_body{
"purchaseOrderId": "b45f6432-2462-4c6f-b00f-1d9d01000000"
}Creates a new purchase order with item positions.
Creates a new purchase order with item positions.
curl --request POST \
--url https://api.jtl-cloud.com/erp/v2/purchase-orders \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"supplierId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"requestedDeliveryDate": "2023-11-07T05:31:56Z",
"items": [
{
"itemId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"quantity": 123,
"netPurchasePriceAmount": 123,
"vatRatePercentage": 123,
"note": "<string>",
"supplierItemNumber": "<string>",
"deliveryDate": "2023-11-07T05:31:56Z"
}
],
"deliveryAddress": {
"salutation": "<string>",
"title": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"companyName": "<string>",
"additionalCompanyLine": "<string>",
"street": "<string>",
"additionalAddressLine": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>",
"countryIso": "<string>",
"phoneNumber": "<string>",
"faxNumber": "<string>",
"mobilePhoneNumber": "<string>",
"emailAddress": "<string>"
},
"billingAddress": {
"salutation": "<string>",
"title": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"companyName": "<string>",
"additionalCompanyLine": "<string>",
"street": "<string>",
"additionalAddressLine": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>",
"countryIso": "<string>",
"phoneNumber": "<string>",
"faxNumber": "<string>",
"mobilePhoneNumber": "<string>",
"emailAddress": "<string>"
},
"externalOrderNumber": "<string>",
"referenceOrderNumber": "<string>",
"internalComment": "<string>",
"warehouseId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"disableAutomaticWorkflows": true
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/purchase-orders"
payload = {
"supplierId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"requestedDeliveryDate": "2023-11-07T05:31:56Z",
"items": [
{
"itemId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"quantity": 123,
"netPurchasePriceAmount": 123,
"vatRatePercentage": 123,
"note": "<string>",
"supplierItemNumber": "<string>",
"deliveryDate": "2023-11-07T05:31:56Z"
}
],
"deliveryAddress": {
"salutation": "<string>",
"title": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"companyName": "<string>",
"additionalCompanyLine": "<string>",
"street": "<string>",
"additionalAddressLine": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>",
"countryIso": "<string>",
"phoneNumber": "<string>",
"faxNumber": "<string>",
"mobilePhoneNumber": "<string>",
"emailAddress": "<string>"
},
"billingAddress": {
"salutation": "<string>",
"title": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"companyName": "<string>",
"additionalCompanyLine": "<string>",
"street": "<string>",
"additionalAddressLine": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>",
"countryIso": "<string>",
"phoneNumber": "<string>",
"faxNumber": "<string>",
"mobilePhoneNumber": "<string>",
"emailAddress": "<string>"
},
"externalOrderNumber": "<string>",
"referenceOrderNumber": "<string>",
"internalComment": "<string>",
"warehouseId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"disableAutomaticWorkflows": True
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
supplierId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
requestedDeliveryDate: '2023-11-07T05:31:56Z',
items: [
{
itemId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
quantity: 123,
netPurchasePriceAmount: 123,
vatRatePercentage: 123,
note: '<string>',
supplierItemNumber: '<string>',
deliveryDate: '2023-11-07T05:31:56Z'
}
],
deliveryAddress: {
salutation: '<string>',
title: '<string>',
firstName: '<string>',
lastName: '<string>',
companyName: '<string>',
additionalCompanyLine: '<string>',
street: '<string>',
additionalAddressLine: '<string>',
postalCode: '<string>',
city: '<string>',
state: '<string>',
countryIso: '<string>',
phoneNumber: '<string>',
faxNumber: '<string>',
mobilePhoneNumber: '<string>',
emailAddress: '<string>'
},
billingAddress: {
salutation: '<string>',
title: '<string>',
firstName: '<string>',
lastName: '<string>',
companyName: '<string>',
additionalCompanyLine: '<string>',
street: '<string>',
additionalAddressLine: '<string>',
postalCode: '<string>',
city: '<string>',
state: '<string>',
countryIso: '<string>',
phoneNumber: '<string>',
faxNumber: '<string>',
mobilePhoneNumber: '<string>',
emailAddress: '<string>'
},
externalOrderNumber: '<string>',
referenceOrderNumber: '<string>',
internalComment: '<string>',
warehouseId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
disableAutomaticWorkflows: true
})
};
fetch('https://api.jtl-cloud.com/erp/v2/purchase-orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jtl-cloud.com/erp/v2/purchase-orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'supplierId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'requestedDeliveryDate' => '2023-11-07T05:31:56Z',
'items' => [
[
'itemId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'quantity' => 123,
'netPurchasePriceAmount' => 123,
'vatRatePercentage' => 123,
'note' => '<string>',
'supplierItemNumber' => '<string>',
'deliveryDate' => '2023-11-07T05:31:56Z'
]
],
'deliveryAddress' => [
'salutation' => '<string>',
'title' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'companyName' => '<string>',
'additionalCompanyLine' => '<string>',
'street' => '<string>',
'additionalAddressLine' => '<string>',
'postalCode' => '<string>',
'city' => '<string>',
'state' => '<string>',
'countryIso' => '<string>',
'phoneNumber' => '<string>',
'faxNumber' => '<string>',
'mobilePhoneNumber' => '<string>',
'emailAddress' => '<string>'
],
'billingAddress' => [
'salutation' => '<string>',
'title' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'companyName' => '<string>',
'additionalCompanyLine' => '<string>',
'street' => '<string>',
'additionalAddressLine' => '<string>',
'postalCode' => '<string>',
'city' => '<string>',
'state' => '<string>',
'countryIso' => '<string>',
'phoneNumber' => '<string>',
'faxNumber' => '<string>',
'mobilePhoneNumber' => '<string>',
'emailAddress' => '<string>'
],
'externalOrderNumber' => '<string>',
'referenceOrderNumber' => '<string>',
'internalComment' => '<string>',
'warehouseId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'disableAutomaticWorkflows' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.jtl-cloud.com/erp/v2/purchase-orders"
payload := strings.NewReader("{\n \"supplierId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"requestedDeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"items\": [\n {\n \"itemId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"quantity\": 123,\n \"netPurchasePriceAmount\": 123,\n \"vatRatePercentage\": 123,\n \"note\": \"<string>\",\n \"supplierItemNumber\": \"<string>\",\n \"deliveryDate\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"deliveryAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"billingAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"externalOrderNumber\": \"<string>\",\n \"referenceOrderNumber\": \"<string>\",\n \"internalComment\": \"<string>\",\n \"warehouseId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"disableAutomaticWorkflows\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.jtl-cloud.com/erp/v2/purchase-orders")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"supplierId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"requestedDeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"items\": [\n {\n \"itemId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"quantity\": 123,\n \"netPurchasePriceAmount\": 123,\n \"vatRatePercentage\": 123,\n \"note\": \"<string>\",\n \"supplierItemNumber\": \"<string>\",\n \"deliveryDate\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"deliveryAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"billingAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"externalOrderNumber\": \"<string>\",\n \"referenceOrderNumber\": \"<string>\",\n \"internalComment\": \"<string>\",\n \"warehouseId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"disableAutomaticWorkflows\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/purchase-orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"supplierId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"requestedDeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"items\": [\n {\n \"itemId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"quantity\": 123,\n \"netPurchasePriceAmount\": 123,\n \"vatRatePercentage\": 123,\n \"note\": \"<string>\",\n \"supplierItemNumber\": \"<string>\",\n \"deliveryDate\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"deliveryAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"billingAddress\": {\n \"salutation\": \"<string>\",\n \"title\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyName\": \"<string>\",\n \"additionalCompanyLine\": \"<string>\",\n \"street\": \"<string>\",\n \"additionalAddressLine\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"countryIso\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"faxNumber\": \"<string>\",\n \"mobilePhoneNumber\": \"<string>\",\n \"emailAddress\": \"<string>\"\n },\n \"externalOrderNumber\": \"<string>\",\n \"referenceOrderNumber\": \"<string>\",\n \"internalComment\": \"<string>\",\n \"warehouseId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"disableAutomaticWorkflows\": true\n}"
response = http.request(request)
puts response.read_body{
"purchaseOrderId": "b45f6432-2462-4c6f-b00f-1d9d01000000"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.
1 - 255The tenant ID for the target ERP instance.
Body
Request model for CreatePurchaseOrder command endpoint. Route parameters bind from the route, query parameters from the query string, everything else from the body.
ID of the supplier the order is placed with. Must reference an existing procurement supplier.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
The delivery date requested from the supplier.
Item positions of the order. At least one is required (enforced server-side; the list schema here has no declarative minimum-length constraint).
Show child attributes
Show child attributes
Delivery address of the order. When omitted, it is defaulted from the effective warehouse's address (see WarehouseId). A country name that cannot be resolved to an ISO code yields an empty CountryIso rather than failing the create.
Show child attributes
Show child attributes
Billing address of the order. When omitted, it is defaulted from the effective company's address.
Show child attributes
Show child attributes
The buyer's own external reference for this order (free text). Never generated by the server — contrast the order's own number, which the server assigns and which is not settable through this API.
A reference order number for this order — the "Zugehörige Auftragsnummer" field, free text, editable in the desktop UI.
Internal comment on the order, not communicated to the supplier.
Target warehouse of the incoming goods. When omitted, the supplier's own default warehouse is used. When supplied (or defaulted from the supplier), it must reference an existing warehouse.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Indicates whether automatic workflows should be disabled for this purchase order.
Response
The purchase order has been created successfully.
Creates a new purchase order with item positions. - Response
Unique ID of the newly created purchase order.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Was this page helpful?