はじめに:運送会社ごとにAPIが違う問題
ECサイトや物流システムから複数の運送会社と連携しようとすると、こんな壁にぶつかります。
- ヤマト運輸・佐川急便のAPIは非公開で、利用するには個別の契約・交渉が必要
- 運送会社ごとにリクエスト形式・認証方式・ドキュメント体系が異なる
- DHL・FedEx・UPSなど海外運送会社のドキュメントは英語のみ
- 運送会社のAPIが更新されるたびに、自社システム側での対応が必要になる
Ship&co APIは、これらの問題をまとめて解決する1つのRESTful APIです。
国内4社・国際6社の計10運送会社を、同じインターフェースで呼び出せます。Ship&coがすべての運送会社との接続・メンテナンスを担うため、開発者は配送ロジックの実装に集中できます。
現在、Ship&coは日本国内3,000社以上の企業・個人に利用されており、個人開発者・EC事業者から上場企業まで幅広く導入されています。
APIの利用を始めるには
- Ship&coアカウントを作成する(30日間無料トライアルあり)
- ダッシュボードの 「/api」ページ からAPIトークンを発行する
- リクエストヘッダーに
x-access-tokenとしてトークンを付与して呼び出す
Ship&coのアプリ(GUI)とAPIは同一アカウントで利用可能です。アプリだけ、APIだけ、あるいは両方を組み合わせて使うことができます。2026年3月現在、APIの料金体系はアプリと同様です。
ユースケースや導入事例については、Ship&co API紹介ページもご参照ください。
📖 公式APIドキュメント:https://developer.shipandco.com
🧪 Postmanコレクション:https://postman.shipandco.com
Ship&co APIの基本情報
| 項目 | 内容 |
|---|---|
| ベースURL | https://api.shipandco.com/v1/ |
| 認証方式 | リクエストヘッダー x-access-token
|
| レスポンス形式 | JSON |
| レート制限確認 | レスポンスヘッダー X-Api-Call-Limit / X-Api-Call-Reset
|
認証の例
curl -X GET https://api.shipandco.com/v1/carriers \
-H "x-access-token: YOUR_API_TOKEN" \
-H "Content-Type: application/json"
APIトークンはShip&coダッシュボードの「Settings → API Token」から発行できます。
対応運送会社一覧(2026年版・完全版)
🇯🇵 国内配送 運送会社
carrier 値 |
運送会社 | 主なサービス例 |
|---|---|---|
yamato |
ヤマト運輸 | 宅急便、ネコポス、クロネコゆうパケット、代引き、時間帯指定 |
sagawa |
佐川急便 | 飛脚宅配便(通常・チルド・冷凍・飛行機便) |
yuupack |
日本郵便(ゆうパック) | ゆうパック(通常・チルド・冷凍) |
yuupacket |
日本郵便(ゆうパケット) | ゆうパケット |
yuumail |
日本郵便(ゆうメール) | ゆうメール |
seino |
西濃運輸 | カンガルー便(通常・宅配・ミニ・通販・ビジネス) |
国内はヤマト・佐川・日本郵便・西濃の主要4社すべてに対応しています。
🌏 国際配送 運送会社
carrier 値 |
運送会社 | 主なサービス例 |
|---|---|---|
japanpost |
日本郵便(国際) | EMS、国際小包(航空・船便)、小形包装物、印刷物 |
yamato_intl |
ヤマト運輸(国際宅急便) | 国際宅急便 |
dhl |
DHL Express | Worldwide、1200、0900、Jumbo |
fedex |
FedEx | International Economy / Priority / First / Priority Express / Connect+ |
ups |
UPS | Saver、Worldwide Express、Expedited、Ground、Next Day 等 |
pegasus |
ペガサスグローバルエクスプレス | DHL代理、UPS代理、EMS代理 |
💡 日本国外での国内配送にも対応
DHL・FedEx・UPSは、日本発の国際配送だけでなく、日本国外を拠点とする企業の国内配送にも利用できます。たとえば北米在拠のECカンパニーが、アメリカ国内の配送にFedExやUPSをShip&co API経由で利用しているケースもあります。Ship&coは日本発送専用のソリューションではありません。
service 値の一覧
発送ラベル作成時は setup.carrier と setup.service の両方を指定します。
ヤマト運輸(yamato)
yamato_regular // 宅急便
yamato_collect // 代引き宅急便
yamato_time // 時間帯指定宅急便
yamato_nekopos // ネコポス
yamato_kuroneko_yuupacket // クロネコゆうパケット
yamato_taqbin // タキュービン
yamato_taqbin_collect // タキュービン代引き
佐川急便(sagawa)
sagawa_regular // 飛脚宅配便
sagawa_fresh // チルド便
sagawa_frozen // 冷凍便
sagawa_plane // 飛行機便
日本郵便 国内(yuupack / yuupacket / yuumail)
yuupack_regular // ゆうパック
yuupack_fresh // ゆうパック チルド
yuupack_frozen // ゆうパック 冷凍
yuupacket_regular // ゆうパケット
yuumail_regular // ゆうメール
西濃運輸(seino)
seino_regular // カンガルー便
seino_takuhai // カンガルー宅配便
seino_mini // カンガルーミニ便
seino_tsuhan // カンガルー通販便
seino_business // カンガルービジネス便
DHL(dhl)
dhl_express_worldwide
dhl_express_1200
dhl_express_0900
dhl_express_jumbo
FedEx(fedex)
fedex_international_economy
fedex_international_priority
fedex_international_first
fedex_international_priority_express
fedex_international_priority_eod
fedex_international_connect_plus
UPS(ups)
ups_saver
ups_worldwide_express
ups_worldwide_express_plus
ups_worldwide_expedited
ups_ground
ups_next_day
ups_next_day_saver
ups_second_day
ups_three_day_select
ups_worldwide_express_freight
ups_worldwide_express_freight_mid_day
ヤマト運輸 国際宅急便(yamato_intl)
yamato_intl_taqbin
ペガサスグローバルエクスプレス(pegasus)
pegasus_dhl
pegasus_ups
pegasus_ems
コード例
国内発送(ヤマト運輸)
curl -X POST https://api.shipandco.com/v1/shipments \
-H "x-access-token: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"setup": {
"carrier": "yamato",
"service": "yamato_regular",
"shipment_date": "2026-03-10"
},
"from_address": {
"full_name": "山田 太郎",
"company": "株式会社テスト",
"phone": "0801234567",
"country": "JP",
"zip": "6048072",
"province": "京都府",
"address1": "京都市中京区八百屋町"
},
"to_address": {
"full_name": "田中 花子",
"phone": "0907654321",
"country": "JP",
"zip": "1000001",
"province": "東京都",
"address1": "千代田区千代田1-1"
},
"products": [
{ "name": "商品A", "price": 3000, "quantity": 1 }
]
}'
国際発送(DHL Express)
国際発送のリクエストは、国内発送といくつかの重要な違いがあります:
| 項目 | 国内発送(例:ヤマト) | 国際発送(例:DHL) |
|---|---|---|
city フィールド |
不要(address1に含む) |
必須 |
parcels オブジェクト |
不要(setup内で指定) |
必須(重さ・サイズをcmとグラムで指定) |
customs オブジェクト |
不要 | 必須(関税区分、内容物タイプ等) |
products[].hs_code |
不要 | 推奨(HSコード) |
products[].origin_country |
不要 | 必須 |
| 代引き(collect) | 対応あり | 非対応 |
また、setup に指定できるオプション(保険、参照番号、署名要否、返送ラベル等)は運送会社・サービスによって異なります。実際のユースケースに合わせた設定については、Ship&coチームへお気軽にお問い合わせください。
curl -X POST https://api.shipandco.com/v1/shipments \
-H "x-access-token: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"setup": {
"carrier": "dhl",
"service": "dhl_express_worldwide",
"currency": "JPY",
"insurance": 1000,
"ref_number": "123-REF-3456",
"delivery_note": "Leave the box at the door",
"signature": false,
"test": true,
"shipping_fee": 800
},
"to_address": {
"full_name": "John Doe",
"company": "John Doe Inc.",
"email": "john.doe@example.com",
"phone": "0901231234",
"country": "FR",
"zip": "75002",
"city": "Paris",
"address1": "12 Rue du 4 Septembre",
"address2": "Appartement 5B"
},
"from_address": {
"full_name": "Yamada Taro",
"company": "World Company",
"email": "ytaro@worldcompany.com",
"phone": "08012341234",
"country": "JP",
"zip": "6050012",
"province": "KYOTO",
"city": "KYOTO SHI",
"address1": "HIGASHIYAMA KU",
"address2": "BEST 102"
},
"products": [
{
"name": "T-Shirt cotton for men",
"quantity": 1,
"price": 2980,
"hs_code": "9503002190",
"origin_country": "JP",
"weight": 1500
}
],
"parcels": [
{
"weight": 2000,
"amount": 1,
"width": 10,
"height": 10,
"depth": 10
}
],
"customs": {
"duty_paid": false,
"content_type": "MERCHANDISE"
}
}'
⚠️
parcelsの重さはグラム単位、サイズはセンチメートル単位で指定します。
各運送会社・サービスごとの詳細なパラメータは Postmanコレクション を参照してください。
レスポンスに含まれる主なフィールド:
{
"delivery": {
"tracking_numbers": ["1234567890"],
"label": "https://..."
}
}
テスト環境
setup に "test": true を追加すると、課金なしのダミーラベルを発行できます。
"setup": {
"carrier": "yamato",
"service": "yamato_regular",
"test": true
}
| 運送会社 | テスト対応 | 備考 |
|---|---|---|
| ヤマト運輸 | ✅ | 月〜金 09:00〜22:00(日本時間)のみ |
| 佐川急便 | ✅ | 運送会社アカウント登録不要 |
| UPS | ✅ | — |
| DHL | ✅ | — |
| その他 | ❌ | 本番環境のみ |
よくある質問
Q. ヤマト・佐川のAPIは非公開では?どうやって使えるの?
Ship&coは各運送会社と個別に契約・交渉してAPIアクセスを取得しています。開発者側では運送会社とのAPI接続交渉は不要です。ただし、発送ラベルを発行するには各運送会社との出荷契約(荷主契約)は必要です。契約後に取得した顧客コードやアカウント情報をShip&coのダッシュボードに登録するだけで、API経由で利用を開始できます。
Q. 自社の法人契約料金(割引料金)は反映されますか?
はい。運送会社によって仕組みが異なります。
-
DHL・FedEx・UPS・ペガサス:各社のAPIが契約料金を返します。Ship&coの料金取得エンドポイント(
POST /v1/rates)を使うと、登録済みの契約料金が自動的に反映された見積もりを取得できます。 -
ヤマト運輸・佐川急便・ゆうパック:Negotiated Rates API(
POST /v1/carriers/:id/rates)を使って、法人契約料金テーブルをShip&coにアップロードすることができます。 - 日本郵便(国際):POST /v1/rates で公示料金(定価)の取得には対応していますが、法人契約料金の取得・アップロードには対応していません。
Q. 複数の倉庫・店舗・マーケットプレイスを1つのアカウントで管理できますか?
はい。Ship&coのサブユーザー機能を使うことで、倉庫・店舗・販売チャネルごとに独立したユーザー環境を作成できます。たとえば「日本全国50店舗を持つEC企業が、各店舗ごとに異なるヤマト運輸の契約アカウントを使って出荷管理する」といったユースケースに対応しています。各サブユーザーは独立したデータ・運送会社アカウント・APIトークンを持ち、一元管理が可能です。
Q. 追跡情報の取得だけを目的にAPIを使えますか?
はい。Ship&coのTracking APIは単独でも利用可能で、機能も継続的に拡充されています。追跡のみの利用については、別途料金・契約が必要になる場合があります。詳しくはShip&coまでお問い合わせください。
まとめ
| ポイント | 内容 |
|---|---|
| 対応運送会社 | 国内4社 + 国際6社 = 計10運送会社 |
| API形式 | RESTful JSON(ヘッダー認証) |
| テスト環境 | あり(ヤマト / 佐川 / UPS / DHL) |
| 料金比較 |
POST /v1/rates で複数運送会社を一括比較 |
| 法人契約料金 | Negotiated Rates APIで適用可能 |
| サブユーザー | 倉庫・店舗ごとのデータ分離が可能 |
Ship&co APIを試してみる
→ アカウント登録(30日間無料トライアル):https://app.shipandco.com/join
→ APIドキュメント:https://developer.shipandco.com
→ Postmanコレクション:https://postman.shipandco.com