El sistema está inspirado en OAuth2.0, pero formalmente no lo es. Este método de conexión debe ser utilizado por cada socio que quiera publicar su integración en nuestro marketplace.
WAuth es necesario para que el usuario pueda conectar la integración con un solo clic, sin tener que manipular manualmente la clave API.
Cómo un usuario conecta la integración desde nuestro marketplace:
¡Listo! — el usuario ha conectado la integración entre Wazzup y el CRM.
Cuando se hayan completado todos los pasos para crear una integración, puedes proceder con la configuración de WAuth.
Paso 1: Llama a POST v3/marketplace para enviar los valores de los campos:
| Parámetro | Tipo | Descripción |
| crmCode | String | Una cadena de letras latinas y números (se pueden usar guiones y guiones bajos). Sirve para la identificación interna del CRM. Única en Wazzup. |
| authRedirectUri | String | Dirección de la página a la que se redirigirá al cliente para confirmar la autorización.
Si cada cliente tiene una dirección única y no se puede redirigir a la misma página, deje este parámetro en blanco. Luego, cuando el cliente seleccione CRM en Wazzup, le pediremos que especifique el enlace. |
| secret | String | La clave (token) necesaria para confirmar la instalación de la integración. Participa únicamente en solicitudes de servidor a servidor; nunca se envía al cliente. |
Estos parámetros se utilizarán cuando su cliente seleccione Wazzup CRM en la plataforma y haga clic en "Conectar". En este momento:
El cliente seguirá el enlace donde se le autorizará en el CRM.
Paso 2: Si el cliente pudo iniciar sesión, CRM debe realizar una solicitud:
POST https://api.wazzup24.com/v3/connect/
El cuerpo de la solicitud debe contener JSON con los valores de los parámetros:
| Parámetro | Tipo | Descripción |
| state | String | Clave generada y firmada en Wazzup. La generamos cuando el usuario selecciona CRM en el marketplace y hace clic en "Conectar". |
| secret | String | La clave ingresada por el administrador del CRM del marketplace |
| crmKey | String | Una clave generada por el socio que se enviará en el encabezado {Autorización: "Bearer {wazzupKey}"} al enviar webhooks |
| name | String | Nombre de la integración |
curl --location --request POST 'https://api.wazzup24.com/v3/connect' \
--header 'Content-Type: application/json' \
--data-raw '
{
"state": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2Vy....",
"secret": "61e5a375-1760-452f-ad73-5318844ffc4f",
"crmKey": "e0629e11-0f67-4567-92a9-2237e91ec1b9",
"name": "Any integration name"
}
'
HTTP/1.1 200 OK
{
"data": "1365e2e9119c4d889ca467cc4a9e6a48"
}
Si todo está configurado correctamente, Wazzup recibirá la solicitud, almacenará la CRMKey, generará una APIKey y la devolverá en el cuerpo de la respuesta.
Después, CRM descarga información sobre usuarios, acuerdos, contactos y embudos con etapas, y establece la URL para los webhooks.
Listo — la integración se ha conectado correctamente.
Para poder publicar una integración, es necesario:
Si el usuario hizo clic en "Conectar integración", accedió correctamente al enlace indicado e inició sesión en el CRM, este debería realizar una solicitud.
POST https://api.wazzup24.com/v3/connect/
El cuerpo de la solicitud debe contener JSON con los valores de los siguientes parámetros:
| Parámetro | Tipo | Descripción |
| state | String | generado y firmado en el lado de Wazzup de la clave, recibida por el integrador en la primera etapa de conexión de CRM |
| secret | String | El secreto ingresado por el administrador del CRM del marketplace |
| сrmKey | String | Una clave generada por el socio que permite determinar a qué cliente se refieren los webhooks. La clave se incluirá en el encabezado {Autorización: "Bearer {wazzupKey}"} al enviar webhooks. |
| name | String | El nombre de la integración. Por ejemplo, el dominio del cliente en CRM. Se especificará en el área personal cuando el cliente se conecte a la integración. |
curl --location --request POST 'https://api.wazzup24.com/v3/connect' \
--header 'Content-Type: application/json' \
--data-raw '
{
"state": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2Vy....",
"secret": "61e5a375-1760-452f-ad73-5318844ffc4f",
"crmKey": "e0629e11-0f67-4567-92a9-2237e91ec1b9",
"name": "Any integration name"
}
'
200 ok
datos: la clave que se usará * en el encabezado Autorización: Portador {apiKey} al realizar solicitudes a Wazzup
Para actualizar el código CRM, el URL de redirección de autenticación y el secreto, debe llamar a
POST https://api.wazzup24.com/v3/marketplace
El cuerpo de la solicitud debe contener JSON con los valores de los siguientes parámetros:
| Parámetro | Tipo | Descripción |
| crmCode | String | Una cadena de letras latinas y números (puede usar guiones y guiones bajos). Se utiliza para la identificación interna del CRM. Es única en Wazzup. No más de 50 caracteres. |
| authRedirectUri | String | La dirección de la página a la que será redirigido el usuario que configure la integración para confirmar la autorización. |
| secret | String | La clave (token) que se utiliza para confirmar la instalación de la integración. Participa únicamente en consultas entre servidores. |
curl --location --request POST 'https://api.wazzup24.com/v3/marketplace' \
--header 'Authorization: Bearer 4a0с541451244aa9a281fba4716da40d' \
--header 'Content-Type: application/json' \
--data-raw '{
"crmCode": "BestCrmInTheWorld",
"secret": "our-secret",
"authRedirectUri": "http://redirect.uri"
}'
Para simular la instalación de la integración por parte del cliente, es necesario llamar a:
POST https://api.wazzup24.com/v3/wauth
El cuerpo de la solicitud debe contener JSON con los valores de los siguientes parámetros:
| Parámetro
Required marked * |
Tipo | Descripción |
| type* | String | crmCode especificado por el integrador en el momento de la llamada POST /v3/marketplace |
| domain | String | Es necesario si el parámetro authRedirectUri se deja vacío, ya que cada cliente tiene un enlace único.
En el parámetro de dominio, agregue el enlace completo a la cuenta de CRM: con el protocolo y el dominio. Por ejemplo, https://accountcrm.com/ Redireccionaremos a esta dirección para confirmar la autorización. Igual que cuando su cliente especifica un enlace único al conectarse. |
Para cambiar el logotipo y el nombre público del módulo de integración, debe llamar a:
PATCH https://api.wazzup24.com/v3/marketplace
El cuerpo de la solicitud debe contener JSON con los valores de los siguientes parámetros:
| Parámetro | Tipo | Descripción |
| crmName | String | Nombre público del CRM que se mostrará en la cuenta de Wazzup. Puede contener letras, números y guiones.
Longitud máxima— 50 caracteres |
| logo | Object | Objeto con datos del logotipo:
— Fondo transparente o blanco — Formato SVG — Sin sangría interna en el logotipo — Nombre de la empresa en el logotipo en inglés |
| logo.name | String | Nombre del archivo del logotipo |
| logo.content | String | archivo codificado en base64 con el logotipo |
curl --location --request PATCH 'https://api.wazzup24.com/v3/marketplace' \
--header 'Authorization: Bearer 4a0b541a61244aa9a281fba4816da48d' \
--header 'Content-Type: application/json' \
--data-raw '{
"crmName": "The Cool CRM",
"logo": {
"name": "the-cool-crm.svg",
"content": "YmFzZTY0LWVuY29kZWQtbG9nby1maWxlLWNvbnRlbnQK"
}
}'