Conceptos clave
Entornos y modo de prueba
Implementaciones, credenciales y aprobación de acceso separadas para sandbox y producción.
Maple ejecuta dos entornos totalmente aislados, cada uno con su propia URL base y sus propias credenciales:
| Entorno | Panel (consola de desarrolladores) | URL base | Credencial |
|---|---|---|---|
| Sandbox | https://app.staging.maple.inc |
https://api.staging.maple.inc/v1 |
mpk_test_… |
| Producción | https://app.maple.inc |
https://api.maple.inc/v1 |
mpk_live_… |
Desarrolle y pruebe en un sandbox que Maple haya preparado para su app aprobada. Los miembros invitados crean sus propias claves de sandbox desde la consola de desarrolladores. La aprobación de la app, los accesos otorgados a locales y la configuración de capacidades siguen a cargo de Maple.
Cada panel lee y modifica únicamente su propia implementación. Siga la URL del panel o de la invitación correspondiente, inicie sesión si es necesario y revise su indicador de entorno y la URL base de la API. No dé por hecho que exista una sesión compartida entre implementaciones, una configuración de app compartida ni la creación automática de un sandbox.
Los dos entornos no comparten credenciales ni datos operativos: una conexión, suscripción o pedido en el sandbox no es el recurso de producción.
Por qué importa
Use únicamente los locales de prueba aislados y los flujos compatibles que Maple haya preparado para su integración. Verifique allí el flujo de negocio completo, el manejo de firmas y los diagnósticos antes de solicitar la aprobación de producción; un webhook sintético exitoso no equivale a una certificación.
flowchart LR
subgraph Sandbox [Sandbox · api.staging.maple.inc]
SK[mpk_test_ key] --> SD[(sandbox data)]
end
subgraph Production [Production · api.maple.inc]
LK[mpk_live_ key] --> LD[(live data)]
end
Cómo distinguir los entornos en su código
El sandbox y producción son implementaciones separadas en hosts distintos, así que una solicitud o un webhook pertenece al entorno que indiquen su host y su credencial; no se infiere del contenido. Cuando sí quiera saberlo de forma explícita:
GET /v1/medevuelve elenvironmentde la credencial (testolive).- El recurso de pedido incluye
livemode:trueen producción,falseen el sandbox.
Un flujo de trabajo que empieza con pruebas
Desarrolle en el sandbox
Apunte su cliente a
https://api.staging.maple.inc/v1con su clavempk_test_…. Conéctese al local de sandbox que Maple le otorgue, suscriba un webhook y ejecute el ciclo completo de pedidos.Pruebe su manejador de webhooks
POST /v1/webhook_subscriptions/{id}/testentrega un eventowebhook.testfirmado para que pueda confirmar la verificación de la firma y su respuesta2xxantes de que exista un pedido real.Obtenga la aprobación y salga en vivo
Maple aprueba por separado el acceso a producción y prepara los accesos otorgados de la app y de los locales. Use el panel de producción para crear una clave
mpk_live_…con los alcances (scopes) adecuados y luego usehttps://api.maple.inc/v1. Registre un webhook de producción y complete la configuración que necesite su integración, incluida una conexión de receptor de pedidos para las integraciones de POS y pedidos. No dé por hecho que los accesos, las banderas ni las suscripciones del sandbox se trasladan.
Lista de verificación para salir en vivo
- La URL base y la credencial de su cliente apuntan al mismo entorno.
- Su manejador de webhooks verifica la firma HMAC y rechaza las firmas incorrectas o vencidas. Vea Webhooks.
- Usted deduplica las entregas por el
iddel sobre (la entrega es de al menos una vez). - Responde
2xxrápidamente y hace el trabajo más lento de forma asíncrona. - Las llamadas de decisión se reintentan de forma segura ante errores transitorios (son seguras ante reintentos).
- Guarda de forma segura el secreto de firma de producción (
mwhsec_…): se muestra una sola vez.