メインコンテンツへスキップ

はじめに(API)

API: Drive

このドキュメントでは、Drive API について説明しています。Drive(クラシック)API を使用している場合は、 「Drive(クラシック) API の利用開始のチュートリアル」をご覧ください。

Drive API を使用すると、自分で配達スタッフを調達しなくても、DoorDash のオンデマンドな物流プラットフォームを利用して迅速かつ簡単に商品を配達できます。Drive API は、配達業務を最も簡単に実現できるように設計されています。

典型的な流れ

  • 見積もりを依頼します(任意)。これにより、配達の推定受け取り日時と費用が分かります。
  • 配達をリクエストまたは見積もりを承認します。
  • 配達が実行されます。

配達の作成方法

始める前に、必ずアクセスキーを作成JWT を生成してください。

const axios = require('axios')
const { v4: uuidv4 } = require('uuid')

const body = JSON.stringify({
external_delivery_id: uuidv4(), // keep track of the generated id here or in the response
pickup_address: '901 Market Street 6th Floor San Francisco, CA 94103',
pickup_business_name: 'Wells Fargo SF Downtown',
pickup_phone_number: '+16505555555',
pickup_instructions: 'Enter gate code 1234 on the callbox.',
dropoff_address: '901 Market Street 6th Floor San Francisco, CA 94103',
dropoff_business_name: 'Wells Fargo SF Downtown',
dropoff_phone_number: '+16505555555',
dropoff_instructions: 'Enter gate code 1234 on the callbox.',
order_value: 1999,
})

axios
.post('https://openapi.doordash.com/drive/v2/deliveries', body, {
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'application/json',
},
})
.then(function (response) {
console.log(response.data)
})
.catch(function (error) {
console.log(error)
})

配達ステータスの確認方法

const axios = require('axios')

axios
.get(
'https://openapi.doordash.com/drive/v2/deliveries/{external_delivery_id}',
{
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'application/json',
},
},
)
.then(function (response) {
console.log(response.data)
})
.catch(function (error) {
console.log(error)
})

重要なお知らせ

エラーが一過性のものである可能性があるため、すべての 50x 応答ステータスコードを再試行してください。最大 3 回の再試行(およびリクエスト間の指数バックオフ遅延)を推奨しています。