curl --request POST \
--url https://api.oplog.one/openapi/v1/Shipments \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--data '
{
"shipmentNo": "<string>",
"shipmentType": "<string>",
"shipmentDate": "2023-11-07T05:31:56Z",
"salesOrders": [
"<string>"
],
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.oplog.one/openapi/v1/Shipments"
payload = {
"shipmentNo": "<string>",
"shipmentType": "<string>",
"shipmentDate": "2023-11-07T05:31:56Z",
"salesOrders": ["<string>"],
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json-patch+json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json-patch+json'},
body: JSON.stringify({
shipmentNo: '<string>',
shipmentType: '<string>',
shipmentDate: '2023-11-07T05:31:56Z',
salesOrders: ['<string>'],
integrationId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.oplog.one/openapi/v1/Shipments', 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.oplog.one/openapi/v1/Shipments",
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([
'shipmentNo' => '<string>',
'shipmentType' => '<string>',
'shipmentDate' => '2023-11-07T05:31:56Z',
'salesOrders' => [
'<string>'
],
'integrationId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json-patch+json"
],
]);
$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.oplog.one/openapi/v1/Shipments"
payload := strings.NewReader("{\n \"shipmentNo\": \"<string>\",\n \"shipmentType\": \"<string>\",\n \"shipmentDate\": \"2023-11-07T05:31:56Z\",\n \"salesOrders\": [\n \"<string>\"\n ],\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json-patch+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.oplog.one/openapi/v1/Shipments")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json-patch+json")
.body("{\n \"shipmentNo\": \"<string>\",\n \"shipmentType\": \"<string>\",\n \"shipmentDate\": \"2023-11-07T05:31:56Z\",\n \"salesOrders\": [\n \"<string>\"\n ],\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.oplog.one/openapi/v1/Shipments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json-patch+json'
request.body = "{\n \"shipmentNo\": \"<string>\",\n \"shipmentType\": \"<string>\",\n \"shipmentDate\": \"2023-11-07T05:31:56Z\",\n \"salesOrders\": [\n \"<string>\"\n ],\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"shipmentNo": "<string>",
"shipmentType": "<string>",
"shipmentDate": "2023-11-07T05:31:56Z",
"results": [
{
"status": "Attached",
"referenceNumber": "<string>",
"previousShipmentNo": "<string>"
}
],
"detached": [
"<string>"
]
}Upsert a shipment grouping several sales orders.
Keyed by shipmentNo within the tenant: re-sending reconciles the shipmentâs membership (attaches new orders, moves orders in from another shipment, and detaches orders no longer listed). Rejects the whole request if any referenced order is unknown or is past the pre-ship stage.
curl --request POST \
--url https://api.oplog.one/openapi/v1/Shipments \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--data '
{
"shipmentNo": "<string>",
"shipmentType": "<string>",
"shipmentDate": "2023-11-07T05:31:56Z",
"salesOrders": [
"<string>"
],
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.oplog.one/openapi/v1/Shipments"
payload = {
"shipmentNo": "<string>",
"shipmentType": "<string>",
"shipmentDate": "2023-11-07T05:31:56Z",
"salesOrders": ["<string>"],
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json-patch+json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json-patch+json'},
body: JSON.stringify({
shipmentNo: '<string>',
shipmentType: '<string>',
shipmentDate: '2023-11-07T05:31:56Z',
salesOrders: ['<string>'],
integrationId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.oplog.one/openapi/v1/Shipments', 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.oplog.one/openapi/v1/Shipments",
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([
'shipmentNo' => '<string>',
'shipmentType' => '<string>',
'shipmentDate' => '2023-11-07T05:31:56Z',
'salesOrders' => [
'<string>'
],
'integrationId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json-patch+json"
],
]);
$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.oplog.one/openapi/v1/Shipments"
payload := strings.NewReader("{\n \"shipmentNo\": \"<string>\",\n \"shipmentType\": \"<string>\",\n \"shipmentDate\": \"2023-11-07T05:31:56Z\",\n \"salesOrders\": [\n \"<string>\"\n ],\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json-patch+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.oplog.one/openapi/v1/Shipments")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json-patch+json")
.body("{\n \"shipmentNo\": \"<string>\",\n \"shipmentType\": \"<string>\",\n \"shipmentDate\": \"2023-11-07T05:31:56Z\",\n \"salesOrders\": [\n \"<string>\"\n ],\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.oplog.one/openapi/v1/Shipments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json-patch+json'
request.body = "{\n \"shipmentNo\": \"<string>\",\n \"shipmentType\": \"<string>\",\n \"shipmentDate\": \"2023-11-07T05:31:56Z\",\n \"salesOrders\": [\n \"<string>\"\n ],\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"shipmentNo": "<string>",
"shipmentType": "<string>",
"shipmentDate": "2023-11-07T05:31:56Z",
"results": [
{
"status": "Attached",
"referenceNumber": "<string>",
"previousShipmentNo": "<string>"
}
],
"detached": [
"<string>"
]
}Authorizations
Headers
If you want to emulate, please enter TenantId.
Body
Push payload for POST /openapi/v1/Shipments. Groups several existing sales orders (by reference number) into one outbound shipment with a transport mode and a target date. The list is authoritative for the shipment's membership on every upsert.
External shipment number from the calling system (e.g. Flormar SAP). Upsert key.
Transport mode: Air, Road or Sea (English name, case-insensitive).
Reference numbers of the sales orders that belong to this shipment.
Optional; disambiguates when the tenant has more than one OpenApi/Entegra integration.
Was this page helpful?
