Contenido
- Esquema de conexión
- Solicitud de datos de conexión
- Solicitud de conexión del módulo
- Gestión de errores
- Panel de partners
La conexión simple permite conectar un módulo de integración en un solo paso.
Esquema de conexión
Sistema Módulo
------------------------------------------------------------------------------
| |
| |
Solicitud de configuración de conexión ----------------------> |
(permisos necesarios, dirección para <---------------------- |
la conexión, etc.) |
| |
| |
Solicitud de registro del módulo ----------------------> Solicitud de
<---------------------- creación de la
configuración
del módulo
| |
| |
Redirección del usuario al panel ----------------------> |
personal del módulo |
------------------------------------------------------------------------------
Solicitud de datos de conexión
Para obtener los datos necesarios para conectar el módulo, el sistema inicia una solicitud a {configUrl} en la dirección indicada en el panel personal. Los datos se solicitan cuando el usuario abre la ventana emergente (PopUp) con la información del módulo en la página del marketplace del sistema.
Solicitud de conexión del módulo
Para conectar el módulo de integración, el sistema inicia una solicitud a {registerUrl} en la dirección indicada en la respuesta a la solicitud {configUrl}.
La conexión se inicia cuando el usuario pulsa el botón «Conectar» en la ventana emergente. Al recibir la solicitud del sistema, el módulo debe verificarla mediante el parámetro register[token]. Este token es un código hash generado a partir de la clave API recibida mediante HMAC con el algoritmo SHA-256. Como secreto se utiliza la cadena secreta disponible en el panel personal del panel de partners.
Por ejemplo, en PHP el token puede calcularse de la siguiente manera: hash_hmac('sha256', '<api-key>', '<secret>'), donde <api-key> es la clave recibida y <secret> es la cadena secreta del panel de partners. Si el resultado de la función no coincide con el token recibido, la solicitud no es válida y, probablemente, no procede del sistema.
A continuación, el módulo debe enviar al sistema, mediante el método POST /api/v5/integration-modules/{code}/edit, una solicitud con los datos recibidos para registrar el módulo. Si la operación se completa correctamente, debe devolver en la respuesta la URL del panel personal creado para el usuario en el campo accountUrl.
Después, el usuario será redirigido al panel personal mediante esa URL, como si lo hubiera abierto desde el enlace de la página de edición del módulo en el sistema. Para ello, se enviará una solicitud POST con el parámetro clientId.
Gestión de errores
Si se produce un error, es necesario devolver una respuesta con el estado HTTP 200 y el siguiente formato:
{
"success": false,
"errorMsg": "Texto del error"
}
El valor de errorMsg se mostrará al usuario en la tarjeta del módulo.
Panel de partners
Para habilitar la conexión simple, en la tarjeta de edición del módulo del panel de partners es necesario activar la casilla «Se admite conexión simple» e indicar la dirección para obtener la configuración en el campo «URL para solicitar la configuración de conexión simple».
Después de guardar la tarjeta del módulo, en el campo «Secreto» se generará una cadena secreta que permite verificar las solicitudes de conexión procedentes del sistema.
Para probar la conexión simple, el módulo aún no publicado se mostrará en la cuenta de CRM de partners vinculada a la cuenta del panel de partners.