Autenticación
Proporcionamos autorización y autenticación de usuarios. De un vistazo:
-
Nuestro token de acceso no caduca. Se vuelve inválido solo después de obtener uno nuevo o si el usuario desinstala su aplicación.
-
Junto con el token de acceso proporcionamos un client_id, que es el ID de la tienda. Esto es clave: lo necesitas para realizar solicitudes a nuestra API.
Introducción
Al crear una aplicación, se le solicitará que complete cierta información sobre las URL de su aplicación. También debes seleccionar los alcances que necesita tu aplicación y establecer una URL de redirección, que es la URL donde redirigiremos al cliente una vez instalada la aplicación. Los alcances especifican los recursos para los cuales la aplicación solicita autorización a sus usuarios. La URL de redirección se utiliza como parte del flujo de autorización.
Flujo de autorización
El flujo de autorización es bastante estándar, excepto el primer paso:

- El usuario, desde su administrador de Tienda Negocio, hace clic en un botón para instalar su aplicación. O, alternativamente, va a
https://panel.tiendanegocio.com/#/tienda-de-aplicaciones/{handle}/permisos(si no ha iniciado sesión, se le solicita que lo haga), donde{handle}es el identificador público de la aplicación (por ejemplo,mi-app). - Se le redirige a una página donde debe autorizar los alcances que necesita su aplicación (si ya lo ha hecho, se omite este paso).
- Se le redirige a la URL de redirección de su aplicación con un código de autorización, que caduca en 1 minuto.
- Usando las credenciales de su aplicación y el código de autorización, puede obtener un token de acceso realizando una solicitud POST a https://api.tiendanegocio.com/referrer/api/v1/oauth/app/token. (No olvides enviar también
grant_type=authorization_code, vea el ejemplo a continuación).
Ejemplo
Supongamos que su aplicación tiene:
- id = 123
- handle = mi-app
- URL de redirección = https://www.example.com/
- client_secret = abcdef
- La tienda con ID 789 va a https://panel.tiendanegocio.com/#/tienda-de-aplicaciones/mi-app/permisos
- El usuario acepta los permisos solicitados.
- Luego es redirigido a: https://www.example.com/?code=xyz.
- Con el código de autorización (
code) obtenido en el paso anterior, debe realizar una solicitud HTTP POST al endpoint de autenticación para intercambiarlo por un token de acceso:
curl -X POST "https://developers.tiendanegocio.com/v1/oauth/app/token" \
-H "Content-Type: application/json" \
-d '{
"client_id": '"123"',
"client_secret": "'abcdef'",
"grant_type": "authorization_code",
"code": "'XXXXXX'"
}'
URL
Las URL de su aplicación son importantes para brindar la mejor experiencia al comerciante/consumidor al utilizar nuestra plataforma. Todos ellos son obligatorios.
-
URL a la que redirigiremos al Comerciante después de instalar la aplicación: URL a la que se redirigirá al usuario después de instalar la aplicación. Esta es la URL de devolución de llamada. Debe usarlo para obtener el código de autorización y generar el token de acceso como se explicó anteriormente (consulte Flujo de autorización).
-
URL: URL de su panel de administración al que el usuario accederá para utilizar la aplicación. Por ejemplo, la primera página que ve el usuario después de iniciar sesión en su aplicación.
-
URL de preferencias: URL de la página de su aplicación donde el usuario puede configurar los ajustes de la aplicación. Algunos ejemplos:
- Pagos: establecer cuotas para compras con tarjeta de crédito.
- Envío: configure qué métodos de envío estarán disponibles para los consumidores.
- Marketing: modificar los Scripts insertados en la página.
-
URL de la política de privacidad: Esta URL se muestra en la página de detalles de la aplicación en la App Store. Funciona como una herramienta de transparencia entre empresa y usuario.
-
URL Webhook Store Redact: almacenar solicitudes de eliminación de datos. Este Webhook solo se activará si el Comerciante solicita que se eliminen los datos de la tienda a través del panel de administración.
-
URL Webhook Customer Redact: solicitud de eliminación de datos del consumidor. Este Webhook solo se activará si el Comerciante solicita que se eliminen los datos del cliente a través del panel de administración.
-
Webhook de solicitud de datos de clientes URL: solicitud para recibir el informe de datos almacenados de un usuario.
-
URL de soporte: URL donde el usuario será redirigido cuando necesite ayuda. Esta podría ser una página de soporte de autoservicio o un formulario de contacto. Si la URL de soporte está vacía, el comerciante será redirigido al correo electrónico de soporte.
-
Correo electrónico de soporte: Comuníquese por correo electrónico para obtener soporte donde los usuarios de la aplicación puedan comunicarse.
Alcances
Las aplicaciones solo deben solicitar los ámbitos de acceso que necesitan. Si una aplicación solo necesita leer productos, solo debe solicitar el read_products alcance.
Si solicita algún alcance de escritura, el alcance de lectura está implícito.
Como Webhooks. Si confía en otros recursos, solo podrá registrar webhooks para los recursos para los que se le otorgó permiso de uso.
Los alcances disponibles para la API son:
- read_content / write_content
- Página
- read_products / write_products
- Producto
- Variante del producto
- Imagen del producto
- Categoría
- read_customers / write_customers
- Cliente
- read_orders / write_orders
- Orden
- read_coupons / write_coupons
- Cupón
- write_scripts
- Guión
- write_shipping
- Transportista de envío
Problemas comunes
A continuación se presentan algunos de los problemas más comunes relacionados con la autenticación.
Envío de datos como parámetros en lugar de como cuerpo
Al realizar la solicitud de publicación para obtener el access_token, debe enviar la información en el cuerpo, no como parámetros de URL. Forma correcta:
curl -X POST "https://developers.tiendanegocio.com/v1/oauth/app/token" \
-H "Content-Type: application/json" \
-d '{
"client_id": '"123"',
"client_secret": "'abcdef'",
"grant_type": "authorization_code",
"code": "'XXXXXX'"
}'
En Postman, asegúrese de que la información esté incluida en el Cuerpo pestaña, no en el Parámetros pestaña, y ese tipo de datos es JSON, no Text/Javascript/HTML/XML.