03. 5 分でやってみよう(API版)
ブラウザだけで配達を入れたい人は
画面(GUI)から配達依頼を入れたい場合は 02. ブラウザで配達を依頼する を見てください。動画付きで、コマンドは不要です。 このページは 受発注システムから自動で配達依頼を流したい人向けの API ガイド です。
このページのゴール
実際に MEGURU に「注文を入れて、ルートが自動で組まれる」のを 自分の目で確認 します。
💡 こちらは コマンド(curl)で操作する版 です。 このページのコマンドをコピペするだけ で動きます。
🎥 動画:ブラウザ版のデモ動画(API 版も同じ結果になります)
0. 準備(最初の 1 回だけ)
MEGURU は 安河内の MacBook / 開発サーバで起動 している前提で書きます。
- サーバアドレス:例
http://localhost:3000 - 「自分でサーバを立てたい」場合は安河内に依頼してください
1. サーバが動いているか確認
ターミナル(黒い画面)を開いて、以下をコピペ:
期待される画面:
📸 
これが出れば MEGURU が動いています。お祝いです 🎉
2. デモ用の「お客様(運営事業者)」を作る
MEGURU はお客様ごとに 入れ物(テナント) を作ります。
curl -X POST http://localhost:3000/admin/tenants \
-H 'Content-Type: application/json' \
-H 'X-API-Key: dev-noauth' \
-d '{"name":"デモ会社","plan":"starter"}'
返ってくる中身(一部):
この id をコピー しておいてください。これから何度か使います。便宜上「会社ID」と呼びます。
💡
planはstarter(月3万)standard(月8万)pro(月20万)enterprise(個別)から選びます。
3. バス停を 3 つ登録する
「農家A」「中継ハブ」「お店B」の 3 か所を登録します。
以下の
<会社ID>の部分を、上で取った id に 3 か所すべて置き換え てください。
農家A(集荷地点)
curl -X POST "http://localhost:3000/stops?tenant_id=<会社ID>" \
-H 'Content-Type: application/json' \
-H 'X-API-Key: dev-noauth' \
-d '{"name":"農家A","address":"千葉県","latitude":35.61,"longitude":140.10,"stop_type":"collection","capacity_cases":100}'
中継ハブ(積み替え地点)
curl -X POST "http://localhost:3000/stops?tenant_id=<会社ID>" \
-H 'Content-Type: application/json' \
-H 'X-API-Key: dev-noauth' \
-d '{"name":"中継ハブ","address":"千葉県","latitude":35.64,"longitude":140.04,"stop_type":"transit","capacity_cases":500}'
お店B(配達先)
curl -X POST "http://localhost:3000/stops?tenant_id=<会社ID>" \
-H 'Content-Type: application/json' \
-H 'X-API-Key: dev-noauth' \
-d '{"name":"お店B","address":"東京都","latitude":35.66,"longitude":139.80,"stop_type":"delivery","capacity_cases":50}'
それぞれ返ってくる id を メモ(農家ID/ハブID/お店IDと呼びます)。
登録できたか確認
📸 
3 件並んでいれば OK。
4. ルートを 2 本作る
朝便(農家A → 中継ハブ)
curl -X POST "http://localhost:3000/routes?tenant_id=<会社ID>" \
-H 'Content-Type: application/json' \
-H 'X-API-Key: dev-noauth' \
-d '{"name":"朝便","days_of_week":["mon","tue","wed","thu","fri"],"departure_time":"08:00:00","temperature":"refrigerated","capacity_cases":50,"stops":["<農家ID>","<ハブID>"]}'
午後便(中継ハブ → お店B)
curl -X POST "http://localhost:3000/routes?tenant_id=<会社ID>" \
-H 'Content-Type: application/json' \
-H 'X-API-Key: dev-noauth' \
-d '{"name":"午後便","days_of_week":["mon","tue","wed","thu","fri"],"departure_time":"13:00:00","temperature":"refrigerated","capacity_cases":50,"stops":["<ハブID>","<お店ID>"]}'
5. 「バス停同士の繋がり」を登録する
「農家A から ハブ に行ける」「ハブから お店B に行ける」を教えます。
curl -X POST "http://localhost:3000/connections/bulk?tenant_id=<会社ID>" \
-H 'Content-Type: application/json' \
-H 'X-API-Key: dev-noauth' \
-d '{"connections":[
{"from_stop_id":"<農家ID>","to_stop_id":"<ハブID>","days_of_week":["mon","tue","wed","thu","fri"],"transit_days":0,"active_from":"2026-01-01"},
{"from_stop_id":"<ハブID>","to_stop_id":"<お店ID>","days_of_week":["mon","tue","wed","thu","fri"],"transit_days":0,"active_from":"2026-01-01"}
]}'
6. いよいよ注文を入れる
「明日、農家A から お店B に 3 ケース運んで」を MEGURU にお願いします。
curl -X POST "http://localhost:3000/shipments?tenant_id=<会社ID>" \
-H 'Content-Type: application/json' \
-H 'X-API-Key: dev-noauth' \
-d '{"origin_stop_id":"<農家ID>","destination_stop_id":"<お店ID>","scheduled_date":"2026-05-13","cases":3,"container_size":"medium","external_order_id":"DEMO-001"}'
期待される画面
{
"id": "f1e2d3c4-...",
"status": "pending",
"legs": [
{ "leg_order": 1, "from_stop_id": "<農家ID>", "to_stop_id": "<ハブID>" },
{ "leg_order": 2, "from_stop_id": "<ハブID>", "to_stop_id": "<お店ID>" }
]
}
🎉 legs が 2 つ あることに注目。MEGURU が
「農家から直行便はない。中継ハブを経由すれば届く!」
と判断して、自動で 2 区間に分けて配送計画 を立てたわけです。これが MEGURU の中核機能。
📸 撮影候補:assets/captures/07_shipment_create_2legs.png
7. 注文の状態を見る
status の意味:
| 状態 | 意味 |
|---|---|
pending |
受付済(まだ配車されていない) |
confirmed |
配車確定 |
picked_up |
集荷完了(農家から積み込んだ) |
in_transit |
中継輸送中 |
delivered |
配達完了 |
cancelled |
キャンセル済 |
8. キャンセルしてみる
もう一度 7 を実行すると status が cancelled になります。
⚠️
picked_up以降(既にトラックに乗った後)はキャンセル不可。リアルな運用に合わせた仕様です。
できたこと振り返り
このページで体験したこと:
- ✅ MEGURU が動いていることを確認
- ✅ お客様(テナント)を作った
- ✅ バス停を 3 つ登録した
- ✅ ルートを 2 本作った
- ✅ バス停同士の繋がりを登録した
- ✅ 注文を入れて、2 区間に自動分割 されるのを見た
- ✅ 注文の状態を確認した
- ✅ キャンセルした
これが MEGURU の 基本動作の全部 です。
つぎ
➡️ 03. できること一覧 に進む — 営業トークで使える「こんな使い方ができる」事例