Onboarding, auth y configuración
Esta sección describe el proceso de instalación de una aplicación en una tienda de Empretienda, así como el flujo general de autenticación y consumo de la API de integraciones.
Secuencia de instalación de una aplicación
- El usuario, desde el panel de administración de su tienda en Empretienda, inicia la instalación de la aplicación.
- Empretienda redirecciona al usuario hacia la URL de instalación de la aplicación, incluyendo la información necesaria para identificar la tienda.
- La aplicación identifica o autentica al usuario en su propio sistema.
- Empretienda redirecciona nuevamente al usuario hacia la aplicación, agregando un código temporal (
code) como query param en la URL de redirección. Este código es válido por 2 horas. - La aplicación obtiene un access token mediante su
client_idyclient_secret(ver Obtener access token). - Una vez identificado el usuario en su sistema, la aplicación confirma la instalación enviando el código temporal al endpoint
/redeem-code(ver Confirmar instalación). - Como respuesta, la aplicación obtiene el
shop_idde la tienda, que utilizará junto con el access token para realizar las siguientes peticiones a la API. - Opcionalmente, la aplicación puede actualizar la metadata de la tienda (ver Actualizar metadata).
Secuencia de consumo de un endpoint
- La aplicación solicita un access token al endpoint
{env}/1/oauth/token, enviando suclient_idyclient_secret. - La API responde con un
access_token, su tipo (Bearer), el tiempo de validez (expires_in) y elscopede permisos otorgados. - Se recomienda cachear el access token hasta que pierda validez (24hs) antes de solicitar uno nuevo.
- La aplicación realiza la petición al endpoint deseado, incluyendo el header
Authorization: Bearer {access_token}y, cuando corresponda, el headerX-Shop-Idcon el identificador de la tienda. - Si la respuesta HTTP no es la esperada (200/201), se debe considerar una respuesta de error, la cual incluye
status,codeymsgdescribiendo la naturaleza del error. - Si el access token expiró, la aplicación debe solicitar uno nuevo repitiendo el paso 1.