Los tres niveles
cuenta de nivel superior
La cuenta del socio. Una organización contiene uno o más comercios, y los miembros de su equipo pueden administrarlos todos.
un negocio / una marca
Un negocio o una marca de restaurantes dentro de una organización. Un comercio contiene uno o más locales. Su entidad legal tiene a cargo la configuración de pagos y facturación.
un solo restaurante
Un restaurante físico: la unidad con la que trabaja la Developer API y la unidad que Maple cotiza y factura. Un local pertenece a exactamente un comercio. Su ID tiene la forma
str_… y la API lo expone como el recurso location.Cardinalidad y por qué importa
- Una organización tiene muchos comercios; un comercio tiene muchos locales.
- Un local pertenece a exactamente un comercio, y un comercio a como máximo una organización. Esto no cambia: un local no se puede reasignar a otro comercio.
- Los datos operativos viven en el local. Los pedidos, menús, conexiones y webhooks están todos asociados a un local, no a un comercio ni a una organización. Dos locales del mismo comercio son independientes para su integración.
Qué expone la Developer API
La Developer API expone locales. El recursolocation incluye el ID del local (str_…), su nombre, estado, zona horaria, teléfono y dirección, pero no su comercio ni su organización de origen. Cuando lista locales, se conecta, recibe pedidos o publica un menú, siempre opera sobre un solo local mediante su ID str_….
El acceso es por local. Un comercio otorga a su app acceso a locales específicos, uno por uno. Tener permiso sobre un
local no le da acceso a los demás locales del mismo comercio: cada local se otorga (y se conecta) por separado. Consulte
Cómo funciona Maple para conocer los permisos y las conexiones.
Estado del local
Elstatus de un local indica si está abierto para recibir pedidos:
Respételo: no espere pedidos de un local que no esté
active ni le encamine trabajo.
El ciclo de vida de la conexión
Su acceso a un local pasa por cuatro momentos, y tres eventos de webhook los marcan:1
Aprovisionado (Provisioned)
Un comercio otorga a su app acceso a un local. Usted recibe
store.provisioned y el local aparece en
GET /v1/locations. Puede leerlo, pero los pedidos todavía no se dirigen a usted.2
Conectado (Connected)
Usted llama a
POST /v1/locations/{id}/connection para convertirse en el receptor de pedidos del local. El status
de la conexión pasa a active y se dispara store.status.changed con status: "connected". Ahora los pedidos se
dirigen a usted.3
Desconectado (Disconnected)
Usted (o Maple) elimina la conexión con
DELETE. Se dispara store.status.changed con status: "disconnected"
y los pedidos dejan de dirigirse a usted. El permiso se mantiene, por lo que puede volver a conectarse más adelante.4
Desaprovisionado (Deprovisioned)
El comercio revoca el permiso. Usted recibe
store.deprovisioned y pierde por completo el acceso al local.POST a un local que otra app ya tiene devuelve 409. Consulte Webhooks para suscribirse a estos eventos.
Identificadores que verá
Los ID de comercio y de organización existen internamente, pero no forman parte de la Developer API: usted direcciona todo por local.
Para saber cómo administran los socios las organizaciones, los comercios y los locales en el panel, consulte Cómo está organizado Maple.