Saltar al contenido principal

Actualizar tiendas y artículos

Marketplace APIs are limited access

En este momento, el proceso de integración en Marketplace se encuentra al máximo de su capacidad. No estamos aceptando nuevos socios por ahora, ya que estamos desarrollando herramientas de autogestión para la incorporación de tiendas. Completa el formulario para interesados en la integración de Marketplace para ponerte en contacto con DoorDash antes de realizar tu integración.

DoorDash tiene un conjunto de API que permiten implementar acciones a nivel de tienda. Esto incluye la desactivación de una tienda, la desactivación de artículos y opciones de artículos, la obtención de información de la tienda y la obtención de información del menú de la tienda.

Cambiar el estado de activación de la tienda

PUT /api/v1/stores/{merchant_supplied_id}/activation-status

DoorDash tiene un webhook que te permitirá desactivar una tienda. En el caso de que haya que desactivar una tienda, podrás desactivarla inmediatamente. Incluye el merchant_supplied_id de la tienda en los parámetros de la URL. Las cargas deben tener el siguiente formato, y también se detallan en el modelo StoreActivationStatus:

{
"is_active": false,
"reason": string from list of accepted reasons for deactivation,
"notes": string detailing reason for deactivation
}

Se requiere un parámetro de motivo que se debe pasar en la carga. El motivo es para nuestros registros internos y aquí se solicita la implementación de la “mejor opción” para la desactivación de la tienda. Asegúrate de que este parámetro está asociado a uno de los motivos que aparecen a continuación:

  • out_of_business
  • delete_store
  • payment_issue
  • operational_issues
  • store_self_disabled_in_their_POS_portal
  • store_pos_connectivity_issues

Una vez enviada la solicitud, recibirás un código de respuesta 200 para confirmar que la tienda se desactivó correctamente.

Para reactivar la tienda, envía una solicitud PUT adicional al punto de conexión. Cuando se reactiva una tienda, el único parámetro que se requiere en la carga es "is_active": true.

Recibirás un código de respuesta 200 para confirmar que la tienda se reactivó correctamente. Existen algunas validaciones en DoorDash que se comprueban antes de activar una tienda. En este caso, recibirás una respuesta 400. No intentes activarla con una respuesta 400, ya que seguirá fallando hasta que se corrija el problema manualmente. Como consecuencia de estas comprobaciones, el webhook de activación podría fallar por los siguientes motivos:

  • La información bancaria de la tienda es inexistente
  • La información bancaria de la tienda no es válida
  • No hay menús del POS activos en la tienda

Cambiar el estado de activación del artículo por lotes

PUT /api/v1/stores/{merchant_supplied_id}/item/activation-status

DoorDash tiene un webhook que te permitirá reponer y sacar artículos de una tienda determinada. Cuando se agota un artículo, se elimina del sitio web de DoorDash hasta que se vuelva a reponer. En lugar de utilizar las actualizaciones del menú para desactivar los artículos (que es una operación costosa), se recomienda utilizar las siguientes llamadas. Para ello, debes incluir el merchant_supplied_id de la tienda en los parámetros de la URL. Además, deberás incluir el merchant_supplied_id del artículo que se desactiva en la carga de la solicitud. Deberás colocar “false” para desactivar un artículo y “true” para activarlo. La carga debe tener el siguiente formato, y también se detalla en el modelo ItemActivation:

{
"merchant_supplied_id": “string”,
"is_active" : false
}

Cambiar el estado de activación de la opción del artículo por lotes

PUT /api/v1/stores/{merchant_supplied_id}/item_option/activation-status

DoorDash tiene un webhook que te permitirá eliminar una item_option para que no esté disponible. Para ello, debes incluir el merchant_supplied_id de la tienda en los parámetros de la URL. Además, deberás incluir el merchant_supplied_id de la item_option que se desactiva en la carga de la solicitud. La carga debe tener el siguiente formato, y también se detalla en el modelo ItemOptionActivation:

{
"merchant_supplied_id": “string”,
"is_active" : false
}

Ten en cuenta que debes reactivar un artículo o itemOption a través de los puntos de conexión. La actualización del menú no repondrá automáticamente el artículo. Tanto el estado del menú del artículo como el estado del webhook del artículo se deben establecer como verdaderos para que un artículo aparezca en el menú. Si están establecidos en falso, el artículo no aparecerá en el menú. Puedes encontrar ejemplos de solicitud y respuesta en la Referencia.

Campos destacados

  • is_suspended: deberás colocar “false” para desactivar un artículo y “true” para activarlo.
  • price: valor entero. Si quieres ponerlo en $5.00, debes enviar 500.

Códigos de estado de respuesta para item e item_option:

Código de estadoDetalles
200Éxito
400Solicitud incorrecta (Si uno de los artículos no se actualiza, debe devolverse 400)
401Error de autenticación
403No se permite modificar esta tienda
404No se encontró la tienda
429Se excedió el límite.
500Error interno del servidor

Detalles de la respuesta para cada entidad

RespuestaDetalles
Éxito
No se encontróArtículo no encontrado
Error en el servidorError interno del servidor

Vuelve a realizar la solicitud solo si hay una respuesta 500. Se recomienda reintentar tres veces con un retardo exponencial de 0,5 segundos.

Recuperar información de la tienda (GET)

GET api/v1/stores/{merchant_supplied_id}

Los socios pueden utilizar este punto de conexión para recuperar información en vivo a nivel de tienda para aquellas ubicaciones que están configuradas en la integración. Este punto de conexión puede ser útil para validar la siguiente información:

¿Qué protocolo de órdenes (tableta, POS, etc.) utiliza actualmente esta tienda? ¿Cuál es la longitud máxima de las instrucciones especiales establecidas para esta tienda? ¿Mi tienda está desactivada de forma temporal/permanente? ¿Por qué? ¿Está activada la liberación automática de órdenes en esta tienda?

El objeto Response se detalla completamente en la documentación de Swagger, y también se incluye una instancia de ejemplo en la sección Referencia de este documento.

Recuperar información del menú de la tienda (GET)

GET api/v1/stores/{merchant_supplied_id}/menu_details

Los socios pueden utilizar este punto de conexión para recuperar información en vivo a nivel del menú para aquellas ubicaciones que están configuradas en la integración. Este punto de conexión puede ser útil para validar la siguiente información relativa a los menús activos en las tiendas:

  • ¿Cuál son los ID de los menús vinculados a esta ubicación?
  • ¿El menú está activo en este momento?
  • ¿Cuándo fue la última actualización exitosa de este menú?
  • ¿Cuál es el horario especial/regular de este menú?
  • ¿Este menú se creó mediante un POS u otro método?
  • ¿Cuál es la URL de la vista previa del menú?

El objeto Response se detalla completamente en la documentación de Swagger, y también se incluye una instancia de ejemplo en la sección Referencia de este documento.