Delivery Status Webhook
WEBHOOK: POSThttps://<YOUR_WEBHOOK_URI> event_type: event.delivery_status
event.delivery_status
のタイプの Webhook は、配達の status
または courier_imminent
が変更された際に送信されます。
配達ステータスの Webhook イベントには、新しいステータスを提供する status
フィールドと、最新の配達データを提供する data
フィールドが格納されます。例については「Webhook のサンプル」を確認してください。
¶ 配達ステータスの定義
このテーブルでは、配達のライフサイクル全体で受信する Webhook の status
と courier_imminent
のフィールドについて説明します(canceled と returned はすべての配達に必須ではありません)。
# | status | courier_imminent | アクション | トリガーされる仕組み |
---|---|---|---|---|
0 | pending | – | 配達は受け付けられましたが、まだ配達パートナーが割り当てられていません | 配達の作成後、API 経由 |
1 | pickup | FALSE | 配達パートナーが割り当てられ、ピックアップ場所へ移動中です | 配達パートナーが配達オファーカードを受け付けた後、配達パートナーアプリ経由(手動) |
2 | pickup | TRUE | 配達パートナーがピックアップ場所にあと 1 分で到着します | 配達パートナーがピックアップ場所にあと 1 分で到着することを GPS が検出した後、配達パートナーアプリ経由(自動) |
3 | pickup_complete | – | 配達パートナーがピックアップを完了しました | 配達パートナーがスワイプしてピックアップを完了した後、配達パートナーアプリ経由(手動) |
4 | dropoff | FALSE | 配達パートナーが受け渡し場所へ移動中です | 配達パートナーがスワイプしてピックアップを完了した後、配達パートナーアプリ経由(手動) |
5 | dropoff | TRUE | 配達パートナーが受け渡し場所にあと 1 分で到着します | 配達パートナーが受け渡し場所にあと 1 分で到着することを GPS が検出した後、配達パートナーアプリ経由(自動) |
6 | delivered | — | 配達パートナーが配達を完了しました | 配達パートナーがスワイプして受け渡しを完了した後、配達パートナーアプリ経由(手動) |
– | canceled | – | 配達がキャンセルされました | この原因としては、CancelDelivery エンドポイントの使用、Direct ダッシュボード経由でのキャンセル、内部的な理由のいずれかが考えられます |
– | returned | – | 配達がキャンセルされ、undeliverable_action が return です(デフォルトのアクション) | 配達がキャンセルされ、商品を発送元に返却するための配達が新たに作成されました(配達オブジェクトの related_deliveries を参照してください) |
重要 配達品の返送の場合、返却のための新しい配達が自動で作成されます。この配達は return オブジェクトの下にある Webhook 応答に格納されます。元の配達の ID は del_
で始まりますが、配達品の返送の ID は ret_
で始まります。2 つの配達の status の関係は次のとおりです。
# | 元の配達のステータス (del_) |
返送ジョブのステータス (ret_) |
---|---|---|
1 | pending | |
2 | pickup | |
3 | pickup_complete | |
4 | dropoff | |
5 | canceled | pickup |
6 | pickup_complete | |
7 | dropoff | |
8 | returned | delivered |
¶ Webhook のサンプル
ステータスや状況によってフィールドは異なります。正確なフィールド定義のため、ご自身で「フィールドの定義」を参照し、確認してください。
注:このサンプルのように、「delivered」の Webhook には配達パートナーの緯度および経度と車両情報は格納されません。この情報は以前の Webhook ステータスでのみ表示されます。
{
"account_id": "",
"batch_id": "bat_voEiX66nUf-D4XzKRlpJLQ",
"created": "2023-08-01T06:28:22.695Z",
"customer_id": "fb109f30-d2f0-5447-a0fa-884a44394axx",
"data": {
"batch_id": "bat_voEiX66nUf-D4XzKRlpJLQ",
"complete": true,
"courier": {
"img_href": "https://d1w2poirtb3as9.cloudfront.net/default.jpeg",
"location": {
"lat": 0,
"lng": 0
},
"name": "Sam",
"phone_number": "+15555555557",
"name": "Cori R.",
"rating": "5.00",
"vehicle_color": "",
"vehicle_make": "",
"vehicle_model": "",
"vehicle_type": "car"
},
"courier_imminent": false,
"created": "2023-08-01T06:26:13.896Z",
"currency": "usd",
"deliverable_action": "deliverable_action_meet_at_door",
"dropoff": {
"address": "231 Hudson St, New York, NY 10013",
"detailed_address": {
"street_address_1": "231 Hudson St",
"street_address_2": "",
"city": "New York",
"state": "NY",
"zip_code": "10013",
"country": "US"
},
"location": {
"lat": 40.724533,
"lng": -74.00839
},
"name": "DROPOFF T.",
"notes": "",
"phone_number": "+15555555556",
"status": "completed",
"status_timestamp": "2023-08-01T06:28:22.564Z",
"verification": {
"barcodes": [
{
"scan_result": {
"outcome": "SUCCESS",
"timestamp": "2023-07-06T06:49:05.154Z"
},
"type": "CODE39",
"value": "123"
}
],
"picture": {
"image_url": "https://tb-static.uber.com/prod/file-upload/uploads/direct-image-capture/bb530825-891d-482a-8f05-6288235d7120"
},
"pin_code": {
"entered": "9999"
},
"signature": {
"image_url": "https://tb-static.uber.com/prod/file-upload/uploads/courier-task-platform/signatures/3e030abc-87d7-4f8d-a458-e0f27b489f0b",
"signer_name": "Sam",
"signer_relationship": "self"
}
},
"verification_requirements": {
"barcodes": [
{
"type": "CODE39",
"value": "123"
}
],
"picture": true,
"pincode": {
"enabled": true,
"value": "9999"
},
"signature": true,
"signatureRequirement": {
"collect_signer_name": true,
"collect_signer_relationship": true,
"enabled": true
}
}
},
"dropoff_deadline": "2023-08-01T07:21:24Z",
"dropoff_eta": "2023-08-01T06:28:22.564Z",
"dropoff_ready": "2023-08-01T06:26:14Z",
"external_id": "",
"fee": 9200,
"id": "del_QbLowiwHQM-b4e8YmOZNOw",
"kind": "delivery",
"live_mode": true,
"manifest": {
"description": "1 X Small Box\n",
"total_value": 0
},
"manifest_items": [
{
"dimensions": {
"depth": 40,
"height": 40,
"length": 40
},
"must_be_upright": false,
"name": "Small Box",
"price": 0,
"quantity": 1,
"size": "large"
}
],
"pickup": {
"address": "175 Greenwich St, New York, NY 10007",
"detailed_address": {
"street_address_1": "175 Greenwich St",
"street_address_2": "",
"city": "New York",
"state": "NY",
"zip_code": "10007-2438",
"country": "US"
},
"location": {
"lat": 40.71093,
"lng": -74.0119
},
"name": "Coffee Shop",
"notes": "",
"phone_number": "+15555555555",
"status": "completed",
"status_timestamp": "2023-08-01T06:27:04.748Z"
},
"pickup_action": "default",
"pickup_deadline": "2023-08-01T06:46:14Z",
"pickup_eta": "2023-08-01T06:27:04.748Z",
"pickup_ready": "2023-08-01T06:26:14Z",
"quote_id": "dqt_QbLowiwHQM-b4e8YmOZNOw",
"route_id": "rte_I8-ffNPuT82EP1yaBmG1jg",
"status": "delivered",
"tracking_url": "https://www.ubereats.com/tw/orders/41b2e8c2-2c07-40cf-9be1-ef1898e64d3b",
"undeliverable_action": "",
"undeliverable_reason": "",
"updated": "2023-08-01T06:28:22.611Z",
"uuid": "41B2E8C22C0740CF9BE1EF1898E64D3B"
},
"delivery_id": "del_QbLowiwHQM-b4e8YmOZNOw",
"developer_id": "",
"id": "evt_Bouz7BhPTYGDz9FFQNgODw",
"kind": "event.delivery_status",
"live_mode": true,
"route_id": "rte_I8-ffNPuT82EP1yaBmG1jg",
"status": "delivered"
}
¶ フィールドの定義
フィールド | 説明 |
---|---|
account_id |
この配達が属する上記の開発者のアカウントの一意の識別子(接頭辞は acc_ )。 |
created |
イベントがいつ生成されたかを示すタイムスタンプ。 |
customer_id |
この配達が属する注文者の一意の識別子(接頭辞は cus_ )。 |
delivery_id |
イベントが適用される配達の一意の識別子。 |
developer_id |
上記の customer_id がマッピングされる開発者の一意の識別子(接頭辞は dev_ )。 |
id |
このイベントインスタンスの一意の識別子。 |
kind |
イベントの種類の詳細(例:event.delivery_status)。 |
data |
Webhook の詳細。詳細については「データオブジェクトの定義」を参照してください。 |
live_mode |
イベントがライブの配達とテスト配達のどちらに適用されるかを示すフラグ。 |
status |
イベントが参照する配達のステータス。 |
batch_id |
複数注文者への配達の場合、この一意の識別子(接頭辞は bat_ )はこの配達が属するバッチを示します。同じ配達パートナーが一括で行う配達を特定するために使用できます。 **重要:**配達パートナーがピックアップ場所への移動中に配達をキャンセルした場合、Uber はその配達を別の配達パートナーに割り当てるため、 batch_id が変更されます。 |
route_id |
配達パートナーが移動するルートの一意の識別子(接頭辞は rte_ )。 |
¶ データオブジェクトの定義
データオブジェクトには、Webhook に関するより詳しい情報が格納されます。
フィールド | 説明 |
---|---|
id |
イベントが適用される配達の一意の識別子。 |
status |
イベントが参照する配達のステータス。 |
created |
配達が作成された日時。 |
updated |
配達の最終更新日時。 |
pickup_eta |
配達パートナーがピックアップ場所に到着する予定時間。 |
pickup_ready |
配達品のピックアップの準備がいつ整うか。ここでピックアップウィンドウが開始します。 |
pickup_deadline |
配達品をいつまでにピックアップする必要があるか。ここでピックアップウィンドウが終了します。 |
dropoff_eta |
配達パートナーが受け渡し場所に到着する予定時間。 |
dropoff_ready |
配達の受け渡しの準備がいつ完了するか。ここで受け渡しウィンドウが開始します。 |
dropoff_deadline |
配達の受け渡しをいつ行う必要があるか。ここで受け渡しウィンドウが終了します。 |
quote_id |
配達見積もりの識別子。この配達の作成時に指定されていた場合。 |
fee |
この配達が作成された場合に請求される金額(セント単位、通貨単位の 100 分の 1)。例:10.99 ドル => 1099。 |
currency |
小文字 3 文字の ISO 通貨コード。 |
deliverable_action |
配達時に配達パートナーが実行するアクションを指定します。deliverable_action に関する詳細については Get Delivery の応答を参照してください。 |
tip |
配達パートナーにチップとして支払われる金額(セント単位、通貨単位の 100 分の 1)。 |
manifest.reference |
積荷目録を特定する参照。 |
manifest.description |
[廃止予定] 配達パートナーが配達する物の詳細な説明。ManifestItem.name の各商品の説明をご使用になることをお勧めします。 |
manifest.total_value |
配達に含まれる商品の金額(セント単位、通貨単位の 100 分の 1)。例:10.99 ドル => 1099。 |
manifest_items.name |
商品の説明。 |
manifest_items.quantity |
商品の数量。 |
manifest_items.size |
商品のおおよそのサイズ。選択肢は S、M、L、XL。 指定がない場合はデフォルトで S が適用されます。 |
manifest_items.dimensions.length |
長さ(cm)。 |
manifest_items.dimensions.height |
高さ(cm)。 |
manifest_items.dimensions.depth |
奥行き(cm)。 |
manifest_items.price |
料金(セント単位、通貨単位の 100 分の 1)。例:10.99 ドル => 1099。 |
manifest_items.weight |
重量(グラム)。 注:dimensions を使用する場合、weight フィールドは必須です。 |
pickup |
配達のピックアップの詳細。詳細については「配達情報の定義テーブル」を参照してください。 |
dropoff |
配達の受け渡しの詳細。詳細については「配達情報の定義テーブル」を参照してください。 |
return |
配達品の返送の詳細。詳細については「配達情報の定義テーブル」を参照してください。 |
courier.name |
配達パートナーの氏名のイニシャル。 |
courier.rating |
[廃止予定] 配達パートナーの評価(1.0~5.0 点)。 |
courier.vehicle_type |
配達パートナーが使用している車両の種類。現在、自転車、車、バン、トラック、スクーター、バイク、徒歩に対応しています。 |
courier.phone_number |
配達パートナーの電話番号。 |
courier.location.lat |
配達パートナーの位置を示す緯度。 |
courier.location.lng |
配達パートナーの位置を示す経度。 |
courier.img_href |
配達パートナーのプロフィール画像の URL。 |
live_mode |
配達がライブモードかテストモードかを示すフラグ。 |
related_deliveries.id |
関連する配達は、同じ関連付けを共有する他のジョブを説明するコレクションです。 配達の一意の識別子です。 |
related_deliveries.relationship |
related_deliveries で特定される配達の性質を示すフラグ。配達の往路は「original」、返送は「returned」になります。 |
tracking_url |
配達中の配達パートナーを追跡する URL。 |
courier_imminent |
配達パートナーがピックアップ場所または受け渡し場所にあと 1 分で到着するときに true に設定されるフラグ。 |
undeliverable_reason |
このフィールドには、配達を完了できなかった場合の理由が格納されます。 |
undeliverable_action |
このフィールドには、完了できなかった配達に対して配達パートナーが最終的に選択したアクションが格納されます。undeliverable_action に関する詳細については Get Delivery の応答を参照してください。 |
complete |
配達が進行中かどうかを示すフラグ。 |
kind |
記述されるオブジェクトの種類(例:配達)。 |
uuid |
代替の配達識別子。識別の目的には必ず「id」フィールドを使用する必要があります。「uuid」フィールドの値も一意ですが、コンテキスト情報が失われます(この識別子の中に、これが配達に関連するものであることを示す情報はありません)。「id」フィールドとは異なり、「uuid」では大字と小文字が区別されます。「uuid」フィールドの値は UUID v4 で、「-」は削除されます(例:41B2E8C22C0740CF9BE1EF1898E64D3B)。 |
batch_id |
複数注文者への配達の場合、この一意の識別子(接頭辞は bat_ )はこの配達が属するバッチを示します。同じ配達パートナーが一括で行う配達を特定するために使用できます。**重要:**配達パートナーがピックアップ場所への移動中に配達をキャンセルした場合、Uber はその配達を別の配達パートナーに割り当てるため、 batch_id が変更されます。 |
route_id |
配達パートナーが移動するルートの一意の識別子(接頭辞は rte_ )。 |
cancelation_reason.primary_reason |
値は常に #Uber になります。 |
cancelation_reason.secondary_reason |
値は CUSTOMER_CANCEL 、COURIER_CANCEL 、MERCHANT_CANCEL 、UBER_CANCEL のいずれかになります。 |
pickup_action |
ピックアップ時に実行する必要のあるアクションを指定します。 |
¶ 配達情報の定義
このテーブルはデータオブジェクトの pickup、return、dropoff のフィールドに適用されます。
フィールド | 説明 |
---|---|
name |
参照ポイントにいる人の名前。 |
phone_number |
参照ポイントの電話番号。 |
address |
参照ポイントの住所。 |
detailed_address.street_address_1 |
参照ポイントの町名および番地の 1 行目。 |
detailed_address.street_address_2 |
参照ポイントの町名および番地の 2 行目(任意)。 |
detailed_address.city |
参照ポイントの市区町村。 |
detailed_address.state |
参照ポイントの都道府県。 |
detailed_address.zip_code |
参照ポイントの郵便番号。 |
detailed_address.country |
参照ポイントの国。 |
location.lat |
参照ポイントの場所の緯度。 |
location.lng |
参照ポイントの場所の経度。 |
notes |
参照ポイントの場所についての追加指示。 |
verification.signature.image_url |
参照ポイントで行われた署名の画像の URL。 |
verification.signature.signer_name |
配達品に署名した人の名前。 |
verification.signature.signer_relationship |
配達品に署名した人と受け取り予定の人との関係。 |
verification.barcodes.value |
バーコード内にエンコードされた文字列の値。 |
verification.barcodes.type |
バーコードの種類。有効な値:CODE39 、CODE39_FULL_ASCII 、CODE128 、QR 。 |
verification.barcodes.scan_result.outcome |
スキャンが成功したか失敗したかを示す文字列。 |
verification.barcodes.scan_result.timestamp |
イベントがいつ生成されたかを示すタイムスタンプ。 |
verification.picture.image_url |
参照ポイントで撮影された画像の URL。 |
verification.identification.min_age_verified |
取得した身分証明書情報またはスキャン情報。ID の確認/スキャンが正常に完了したかどうかを示します。 |
verification.pin_code.entered |
暗証番号の確認で入力された値。 |
verification.completion_location.lat |
ジョブが完了した場所の緯度。 |
verification.completion_location.lng |
ジョブが完了した場所の経度。 |
verification_requirements.signature |
参照ポイントで署名が必要かどうかを示すフラグ。 |
verification_requirements.signatureRequirement.collect_signer_name |
参照ポイントで署名者の名前が必要かどうかを示すフラグ。 |
verification_requirements.signatureRequirement.collect_signer_relationship |
参照ポイントで発送元と署名者の関係が必要かどうかを示すフラグ。 |
verification_requirements.signatureRequirement.enabled |
参照ポイントで署名が必要かどうかを示すフラグ。 |
verification_requirements.barcodes.type |
バーコード内にエンコードされた文字列の値。 |
verification_requirements.barcodes.value |
バーコードの種類。有効な値:CODE39 、CODE39_FULL_ASCII 、CODE128 、QR 。 |
verification_requirements.picture |
参照ポイントで写真が必要かどうかを示すフラグ。 |
verification_requirements.pincode.enabled |
参照ポイントで暗証番号が必要かどうかを示すフラグ。 |
verification_requirements.pincode.value |
暗証番号の確認で入力された値。 |
courier_notes |
配達の証明として写真がリクエストされた場合、配達パートナーからのメモ(例:商品をどこに置いたか)がこのフィールドに格納されます。 |