Inicio de sesión integrado
El inicio de sesión integrado abre pantallas de Cortecloud ya autenticadas para un usuario de su sistema, sin que tenga que escribir usuario y contraseña. Su backend le pide a la API una URL de acceso y se la entrega al usuario, que la abre en el navegador.
Hay dos rutas, una para cada tipo de usuario:
| Ruta | Usuario | Pantalla que se abre |
|---|---|---|
POST /embed/quick-service | Vendedor de la central | Registro de un nuevo servicio para un carpintero. |
POST /embed/service | Carpintero | Whitelabel de la central: el sitio de la central dentro de Cortecloud, con su marca. |
Las dos rutas usan la misma autenticación que las demás y responden 201 con la URL:
{ "url": "https://..." }
Cuidados con la URL
- La URL sirve para un único acceso y expira en 60 segundos. Genérela en el momento en que el usuario vaya a abrirla, no antes.
- La URL da acceso a la cuenta del usuario. Entréguesela solo a él y no la registre en logs ni la guarde.
- La llamada a la API la hace su backend, que tiene la secret key. El navegador recibe solo la URL.
Nuevo servicio para un vendedor
Ruta: POST /embed/quick-service.
La URL abre Cortecloud autenticado como el vendedor indicado, en la pantalla de registro de un nuevo servicio para el carpintero indicado, que se producirá en la línea de producción indicada.
| Campo | Descripción |
|---|---|
companyInternalCode | Código de la central. Debe ser igual al encabezado x-company-internal-code; si no lo es, la respuesta es 401. |
productionInternalCode | Código interno de la línea de producción donde se producirán las piezas. |
sellerEmail | Correo electrónico del vendedor que recibirá el acceso. |
sellerName | Nombre del vendedor. |
carpenterEmail | Correo electrónico del carpintero para quien se creará el servicio. |
carpenterName | Nombre del carpintero. |
carpenterInternalCode | Código que identifica al carpintero en su sistema. |
Todos los campos son obligatorios.
Antes de generar la URL, la ruta registra al vendedor en la central y al carpintero en Cortecloud, si todavía no existen, y vincula al carpintero con la central con el código carpenterInternalCode. Repetir la llamada con los mismos datos no duplica registros. Dos casos requieren atención:
- si el carpintero ya tiene un vínculo activo con la central, se mantiene el código interno que ya tiene, y
carpenterInternalCodeno lo reemplaza; - si el vendedor está registrado en otra central, se transfiere a la central de la solicitud y pierde el vínculo con la anterior.
{
"companyInternalCode": "CENTRAL-SP",
"productionInternalCode": "LINHA-1",
"sellerEmail": "vendedor@example.com",
"sellerName": "Fulano Vendedor",
"carpenterEmail": "marceneiro@example.com",
"carpenterName": "Beltrano Marceneiro",
"carpenterInternalCode": "CLI-0042"
}
Área del carpintero
Ruta: POST /embed/service.
La URL abre el whitelabel de la central de la solicitud (x-company-internal-code) autenticado como el carpintero indicado. El carpintero se registra en Cortecloud si todavía no existe.
| Campo | Descripción |
|---|---|
carpenterEmail | Correo electrónico del carpintero que recibirá el acceso. |
carpenterName | Nombre del carpintero. |
Los dos campos son obligatorios.
{
"carpenterEmail": "marceneiro@example.com",
"carpenterName": "Beltrano Marceneiro"
}
Errores
| Estado | Situación |
|---|---|
400 | Falta un campo obligatorio, un campo está vacío o un correo electrónico no es válido. |
401 | Falla de autenticación o, en quick-service, companyInternalCode distinto de x-company-internal-code. |
404 | En /embed/service: la central no tiene un whitelabel configurado. |
409 | El correo electrónico indicado ya pertenece a un usuario con otro perfil, por ejemplo el correo de un vendedor enviado como carpintero. |
429 | La integración superó el límite de solicitudes. |
5xx u otro estado | Falla al registrar a los usuarios o al generar el acceso; el mensaje trae el motivo. Puede ser transitoria: reintente con espera creciente y un número limitado de intentos, y escriba a suporte@serrabits.com.br si persiste. |