Aller au contenu principal

Commencer (API)

API: Drive

Ce document traite de l’API Drive. Si vous utilisez l’API Drive (classique), consultez le tutoriel pour commencer avec les API Drive (classique).

En utilisant l'API Drive, vous pouvez tirer parti de la plateforme de logistique à la demande de DoorDash pour livrer vos marchandises rapidement et facilement sans avoir à gérer votre propre flotte de livraison. L'API Drive a été conçue pour être le moyen le plus simple d'effectuer vos livraisons.

Un flux typique :

  • Demandez un devis (facultatif). Cela vous indiquera l'heure de ramassage estimée et le coût de votre livraison.
  • Demandez une livraison ou acceptez un devis.
  • La livraison est effectuée.

Comment créer une livraison

Avant de commencer, assurez-vous de créer une clé d'accès et de générer un jeton 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)
})

Comment obtenir l’état d'une livraison

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)
})

Remarques importantes :

Veuillez réessayer tous les codes d’état de réponse 50x, car l'erreur pourrait être temporaire. Nous recommandons jusqu'à 3 tentatives, avec un délai exponentiel entre les demandes.