Saltar al contenido principal

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:

RutaUsuarioPantalla que se abre
POST /embed/quick-serviceVendedor de la centralRegistro de un nuevo servicio para un carpintero.
POST /embed/serviceCarpinteroWhitelabel 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.

CampoDescripción
companyInternalCodeCódigo de la central. Debe ser igual al encabezado x-company-internal-code; si no lo es, la respuesta es 401.
productionInternalCodeCódigo interno de la línea de producción donde se producirán las piezas.
sellerEmailCorreo electrónico del vendedor que recibirá el acceso.
sellerNameNombre del vendedor.
carpenterEmailCorreo electrónico del carpintero para quien se creará el servicio.
carpenterNameNombre del carpintero.
carpenterInternalCodeCó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 carpenterInternalCode no 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.

CampoDescripción
carpenterEmailCorreo electrónico del carpintero que recibirá el acceso.
carpenterNameNombre del carpintero.

Los dos campos son obligatorios.

{
"carpenterEmail": "marceneiro@example.com",
"carpenterName": "Beltrano Marceneiro"
}

Errores​

EstadoSituación
400Falta un campo obligatorio, un campo está vacío o un correo electrónico no es válido.
401Falla de autenticación o, en quick-service, companyInternalCode distinto de x-company-internal-code.
404En /embed/service: la central no tiene un whitelabel configurado.
409El correo electrónico indicado ya pertenece a un usuario con otro perfil, por ejemplo el correo de un vendedor enviado como carpintero.
429La integración superó el límite de solicitudes.
5xx u otro estadoFalla 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.