Conceptos clave
Autenticación
Cada solicitud lleva una clave de API Bearer. La clave determina el entorno y contiene los alcances (scopes) que tiene su app.
Cada solicitud a la Developer API lleva una clave de API Bearer en el encabezado Authorization:
# Sandboxcurl https://api.staging.maple.inc/v1/me \ -H "Authorization: Bearer mpk_test_..."Una clave responde tres preguntas a la vez: qué app es usted, a qué entorno pertenece (sandbox o producción) y qué alcances tiene. Verifique cualquier clave con GET /v1/me, que devuelve exactamente eso.
Cada entorno tiene su propia URL base: https://api.staging.maple.inc/v1 para el sandbox y https://api.maple.inc/v1 para producción. Use la clave que corresponda al host. Vea Entornos.
Claves de API
Maple aprueba su app y el límite máximo de sus alcances. Los miembros invitados de la organización crean y revocan claves en Developers → su app → Overview & keys. Inicie sesión en el panel del entorno de la clave (https://app.staging.maple.inc para claves de sandbox, https://app.maple.inc para claves de producción); no se requiere seleccionar un comercio ni un restaurante.
| Clave | Entorno | URL base |
|---|---|---|
mpk_test_… |
Sandbox | https://api.staging.maple.inc/v1 |
mpk_live_… |
Producción | https://api.maple.inc/v1 |
Envíe la clave como token bearer en cada solicitud, dirigida a la URL base de su entorno. Mantenga las claves en el servidor; nunca las incluya en una app cliente ni las suba al control de versiones. Reducir los alcances de una app surte efecto de inmediato en sus claves existentes.
Para reemplazar una clave, cree una nueva, actualice su cliente, verifique que funcione y revoque explícitamente la clave anterior. La revocación detiene de inmediato la autenticación con esa clave. Una app suspendida o revocada no puede autenticarse con ninguna de sus claves, aunque la consola sigue permitiendo la inspección y la revocación preventiva.
Una clave no otorga acceso a locales, no crea un sandbox ni aprueba el uso en producción. Maple administra por separado la titularidad de la app, los límites máximos de alcances, los accesos otorgados a locales y la aprobación de producción. El acceso del personal por sí solo no otorga acceso a una app no vinculada en la consola de desarrolladores.
Siga la Guía de inicio rápido para crear una clave y verificar con /v1/me la app y el entorno devueltos.
Alcances
El acceso se limita por alcances, de modo que su app solo tiene los permisos que necesita:
| Alcance | Otorga |
|---|---|
locations:read |
Listar y leer los locales con acceso otorgado |
connections:read / connections:write |
Leer o administrar la conexión del local |
orders:read / orders:write |
Leer pedidos o enviar decisiones sobre pedidos |
menus:read / menus:write |
Leer o publicar el menú de un local |
delivery_zones:read / delivery_zones:write |
Leer o administrar las zonas de entrega de un local conectado y verificar la cobertura de entrega |
webhooks:read / webhooks:write |
Leer o administrar suscripciones a webhooks |
bookings:read |
Leer reservas, perfil, disponibilidad, configuración y el plano de sala en vivo de los locales con acceso otorgado |
bookings:write |
Retener horarios y crear, modificar o cancelar reservas para los clientes |
bookings:manage |
Actuar en nombre del establecimiento: confirmar, rechazar, sentar, completar, cancelar o marcar reservas como no presentadas, y sentar a clientes sin reserva |
bookings:configure |
Publicar la configuración de reservas nativa |
Una solicitud a la que le falta un alcance requerido devuelve 403 con el código insufficient_scope. Una clave usada en el entorno equivocado devuelve 403 con el código wrong_environment. Vea Errores.