Webhooks

book reader icon
4 minutos
facebook logo gray
linkedin logo gray
mail logo gray
Webhooks

¿Qué es un webhook?

Un Webhook es un procedimiento de comunicación entre aplicaciones que permite interacción en tiempo real a través del protocolo HTTP en circunstancias determinadas. Puedes enviar información (via POST) a una URL específica cuando sucede un evento predefinido en tu cuenta y generar una llamada a una URL predeterminada (webhooked). 

Por ejemplo, cuando un código QR de tu cuenta es escaneado (QR_CODE_SCANNED), puedes programar que se envíe un SMS a un teléfono determinado y/o crear un registro en tu sistema de bases de datos.

Los webhooks solo están disponibles con nuestro plan White Label.

¿Cómo creo un webhook?

Una vez que inicies sesión como administrador en tu cuenta White Label, selecciona a uno de tus usuarios y ve a la sección Webhooks. Allí puedes establecer una URL de destino para cada evento.

¿Qué eventos desencadenan un webhook?

Múltiples eventos en la plataforma pueden activar un webhook:

EventoSe activa...
QR_CODE_CREATEDcuando se genera un código QR
QR_CODE_SCANNEDcuando se escanea un código QR
VOUCHER_CREATEDcuando se crea un Cupón
VOUCHER_UPDATEDcuando se actualiza un Cupón
VOUCHER_REDEEMEDcuando se canjea un Cupón
VOUCHER_EXPIREDcuando caduca un Cupón
LEAD_CREATEDcuando se envía un formulario
CALL_2_ACTION_BUTTON_CLICKEDcuando se hace click en un botón C2A
JOB_FINISHEDcuando finaliza una creación masiva de códigos QR de diseño personalizado

¿Qué parámetros envía un webhook?

En función del evento, se genera una llamada a la URL configurada para el webhook que incluye ciertos parámetros a través de un POST request.

Parámetros estándar

En un webhook siempre se envían los siguientes parámetros:

ParámetroDescripción
eventEl nombre del evento (Ej.: QR_CODE_ESCANNED)
timestampLa hora en que ocurrió el evento
userEl usuario que creó el Código QR
codeLa URL corta personalizada del código QR
secrettokenLa clave API secreta de la API de usuario. Puedes usar esta clave para verificar que una solicitud de webhook proviene de tu cuenta.

Se escaneó un código QR

Si se escaneó un código QR, se envían estos parámetros adicionales:

ParámetroDescripción
redirectsNúmero de veces que se escaneó un código QR
visitorsEl número de visitantes únicos que escanearon el código QR
deviceEl dispositivo desde el que se escaneó el código QR
osEl sistema operativo del dispositivo desde el que se escaneó el código QR
countryEl país en el que se escaneó el código QR
lng/latInformación de ubicación con un par lng/lat si un usuario acepta compartir sus datos de ubicación.

Se actualizó un cupón

Si se actualizó un cupón, se envían estos parámetros adicionales:

ParámetroDescripción
titleTítulo del cupón
descriptionDescripción del cupón
Tipo de cupón
typeTipo de cupón
UNIQUEIP                  Se puede canjear el cupón una vez por IP
UNIQUEID                   Se puede canjear el cupón una sola vez
productnameOpcionalmente se puede añadir un nombre de producto para el cupón
websiteOpcionalmente se puede añadir un link en el cupón a una página web
couponnumberOpcionalmente se puede asignar un número que aparecerá en el cupón
validfromOpcionalmente se puede añadir una fecha A PARTIR DE LA CUAL el cupón es válido
validtoOpcionalmente se puede añadir una fecha HASTA LA QUE el cupón es válido

Se canjeó el cupón

Si se canjeó un cupón, se envían estos parámetros adicionales:

ParámetroDescripción
statusEstado del canje
SUCCESSSe canjeó el cupón
VOUCHER_ALREADY_REDEEMEDEl cupón ya se había canjeado anteriormente
VOUCHER_EXPIREDEl cupón había caducado
QUOTA_EXCEEDEDEl límite de canjes se había excedido
typeTipo de cupón
UNIQUEIPSe puede canjear el cupón una vez por IP
UNIQUEIDSe puede canjear el cupón una sola vez
eancodeSi se canjea un cupón asociado a un código de barras EAN, el código EAN se transmitirá en el webhook.
uniqueidSi el código QR es un cupón canjeable una sola vez, se devuelve la identificación única del cupón. Esta es una de las identificaciones únicas cuando creas códigos QR masivos para un cupón canjeable de forma única.

Se envió un formulario

Por cada nuevo contacto, se envían estos parámetros adicionales:

ParámetroDescripción
emailDirección de e-mail del nuevo contacto
nameNombre del nuevo contacto

Se pulsó un botón C2A

Si se pulsó un botón C2A, se envían estos parámetros adicionales:

ParámetroDescripción
c2aLa  URL de destino del botón Call-2-Action

Finalizó un trabajo

Cuando finaliza una creación masiva descargable de códigos QR de diseño personalizado, se envían estos parámetros adicionales:

ParámetroDescripción
downloadUn enlace para descargar el resultado del trabajo que es válido por 30 días

Depuración

Si quieres generar la información enviada a tu servidor en un webhook, utiliza la siguiente secuencia de comandos PHP para mostrar todos los parámetros:

<?php

    // Test WebHook and show parameters

    error_log("Fired WebHook");

    // Post Parameter 
    foreach ($_POST as $param_name => $param_val) {
        error_log("$param_name: $param_val");
    }
    
    // Get Parameter 
    foreach ($_GET as $param_name => $param_val) {
        error_log("$param_name: $param_val");
    }
    
    // if JSON submitted
    $json = json_decode(file_get_contents('php://input'));

Haz una prueba online de tu webhook

Con el servicio gratuito webhook.site, puedes testear un webhook al momento.

Copia la configuración de los webhook para otros usuarios

La API de administrador te permite copiar la configuración del webhook de un usuario y reutilizarla en otros perfiles de usuario.

Última actualización hace 6 mess