Jericommerce almacena todas las interacciones de los clientes en la plataforma. Se puede acceder a estos datos a través del endpoint configurado en los ajustes al añadir la integración.
Después de añadir tu endpoint webhook en los ajustes > integraciones > API, empezarás a recibir un objeto que explica las acciones realizadas para el cliente y las propiedades asociadas.
Todas las solicitudes de API incluirán un encabezado x-jericommerce-hmac-sha256
que incluye un secreto cifrado con el texto secreto que aparece en la página de integración.
Este token se cifra utilizando HMAC-SHA256, lo que ayuda a validar que cada solicitud POST procede de nosotros, evitando así las estafas.
El tipo de evento se define en la cabecera de cada POST, concretamente en el campo x-jericommerce-event-type
cabecera. Esta cabecera definirá los datos de la solicitud.
Estos son los posibles eventos que podrían recibirse:
Billetera clic
Un cliente hace clic en uno de los enlaces del monedero.
Visita al monedero
Un cliente visita una de las páginas de la aplicación web jericommerce. pero no desde el wallet.
Pase monedero instalado
El cliente instala un pase de wallet en su dispositivo, o desactiva y reactiva las actualizaciones automáticas desde los ajustes del pase de wallet.
Wallet pass desinstalado
El cliente desinstala un pase de wallet en su dispositivo, o desactiva las actualizaciones automáticas desde los ajustes del pase de wallet.
Cliente escaneado
Cuando la aplicación Shopify POS escanea un pase de Wallet con el jericommerce azulejo.
Cliente creado
Cuando se crea un nuevo cliente dentro de jericommerce.
Pase solicitado
Cuando el cliente solicita el monedero desde la aplicación web.
Todos los webhooks vienen con un objeto de datos que puede cambiar dependiendo del tipo de evento. Sin embargo, la estructura base suele ser la misma. Echemos un vistazo a la estructura base.
1// Data event type structure
2{
3 id: "string",
4 customerId: "string",
5 campaignId?: "string",
6 url?: "string",
7 browser?: "string",
8 createdAt: "string",
9 properties: object;
10}
11
El signo de interrogación (?) indica que el valor es opcional y puede o no estar presente, dependiendo del tipo de evento.
Éstos son los diferentes propiedades
que pueden aplicarse a cada tipo de acontecimiento
1// Properties by event-type
2
3Wallet click: {
4 name: "Wallet click",
5 url: entity.url,
6 browser: entity.browser,
7 utm_campaign: entity.campaignId || "generic_link",
8 utm_source: "wallet",
9 utm_medium: "wallet_pass",
10 }
11Wallet visit: {
12 name: "Wallet visit",
13 url: entity.url,
14 browser: entity.browser,
15 utm_campaign: "generic_link",
16 utm_source: "wallet",
17 utm_medium: "wallet_pass",
18 }
19Wallet pass installed: {}
20Wallet pass uninstalled: {}
21Customer scanned: {
22 shopId: string,
23 userId: string,
24 shopDomain: string,
25 locationId: string,
26 staffMemberId: string
27}
28Customer created: {
29 email: string
30}