배송 신청
curl --request POST \
--url https://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"orderIds": [
1,
2,
3
]
}
'import requests
url = "https://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments"
payload = { "orderIds": [1, 2, 3] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({orderIds: [1, 2, 3]})
};
fetch('https://gw-staging.delivered.co.kr/global-ship/open-api/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://gw-staging.delivered.co.kr/global-ship/open-api/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([
'orderIds' => [
1,
2,
3
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/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://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments"
payload := strings.NewReader("{\n \"orderIds\": [\n 1,\n 2,\n 3\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"orderIds\": [\n 1,\n 2,\n 3\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orderIds\": [\n 1,\n 2,\n 3\n ]\n}"
response = http.request(request)
puts response.read_body{
"shipments": [
{
"orderId": 1,
"mallOrderNumber": "ORD202501010001",
"shipmentId": 74536,
"masterNumber": "D04510082600064"
}
]
}{
"httpStatus": 400,
"message": "요청 항목 검증에 실패했습니다. 주문 ID 목록이 비어 있거나, 형식이 올바르지 않거나, 이미 배송 신청된 주문이 포함된 경우입니다.",
"errorCode": "INVALID_REQUEST"
}{
"httpStatus": 401,
"message": "인증에 실패했습니다. 인증 정보가 없거나 위변조·만료되었습니다.",
"errorCode": "AUTHENTICATION_FAILED"
}{
"httpStatus": 403,
"message": "다른 고객사의 주문이 포함되어 있습니다.",
"errorCode": "SHIPMENT_ACCESS_DENIED"
}{
"httpStatus": 404,
"message": "존재하지 않는 주문 ID가 포함되어 있습니다.",
"errorCode": "SHIPMENT_NOT_FOUND"
}{
"httpStatus": 500,
"message": "서버 오류가 발생했습니다. 배송건은 생성되지 않았습니다.",
"errorCode": "INTERNAL_SERVER_ERROR"
}배송 API
배송 신청
주문 등록 API로 등록한 주문만 신청할 수 있습니다.
masterNumber)를 반환합니다. 반환된 masterNumber는 라벨 발행·배송 정보 조회 API의 입력값입니다.
요청한 주문 중 하나라도 신청할 수 없는 건이 있으면 전체가 실패하며 배송건은 생성되지 않습니다. 다른 고객사의 주문이 섞이거나, 존재하지 않는 주문 ID가 있거나, 이미 배송 신청된 주문이 포함된 경우가 이에 해당합니다.
자세한 호출 순서와 식별자 흐름은 배송 API 시작하기를 참고하세요. 인증은 API 키 · 환경 문서를 따릅니다.
POST
/
open-api
/
v1
/
shipments
배송 신청
curl --request POST \
--url https://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"orderIds": [
1,
2,
3
]
}
'import requests
url = "https://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments"
payload = { "orderIds": [1, 2, 3] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({orderIds: [1, 2, 3]})
};
fetch('https://gw-staging.delivered.co.kr/global-ship/open-api/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://gw-staging.delivered.co.kr/global-ship/open-api/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([
'orderIds' => [
1,
2,
3
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/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://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments"
payload := strings.NewReader("{\n \"orderIds\": [\n 1,\n 2,\n 3\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"orderIds\": [\n 1,\n 2,\n 3\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gw-staging.delivered.co.kr/global-ship/open-api/v1/shipments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orderIds\": [\n 1,\n 2,\n 3\n ]\n}"
response = http.request(request)
puts response.read_body{
"shipments": [
{
"orderId": 1,
"mallOrderNumber": "ORD202501010001",
"shipmentId": 74536,
"masterNumber": "D04510082600064"
}
]
}{
"httpStatus": 400,
"message": "요청 항목 검증에 실패했습니다. 주문 ID 목록이 비어 있거나, 형식이 올바르지 않거나, 이미 배송 신청된 주문이 포함된 경우입니다.",
"errorCode": "INVALID_REQUEST"
}{
"httpStatus": 401,
"message": "인증에 실패했습니다. 인증 정보가 없거나 위변조·만료되었습니다.",
"errorCode": "AUTHENTICATION_FAILED"
}{
"httpStatus": 403,
"message": "다른 고객사의 주문이 포함되어 있습니다.",
"errorCode": "SHIPMENT_ACCESS_DENIED"
}{
"httpStatus": 404,
"message": "존재하지 않는 주문 ID가 포함되어 있습니다.",
"errorCode": "SHIPMENT_NOT_FOUND"
}{
"httpStatus": 500,
"message": "서버 오류가 발생했습니다. 배송건은 생성되지 않았습니다.",
"errorCode": "INTERNAL_SERVER_ERROR"
}Authorizations
accessTokenAuthorization
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
배송 신청 대상 주문 ID 목록. 주문 등록 API 응답의 orderId 값입니다.
Example:
[1, 2, 3]
Response
Created — 배송건이 생성되었습니다.
생성된 배송 신청 목록
Show child attributes
Show child attributes