SeaTable
  • Funciones
  • Plantillas
  • Soluciones
    • Marketing - – La próxima campaña de marketing está por llegar. Nada es más fácil que eso.
    • Gestión de proyectos - – Planificar, seguir y gestionar los proyectos del equipo de principio a fin.
    • Recursos Humanos - – Estructurar los procesos de RRHH para las nuevas contrataciones y la incorporación.
    • Distribución - Gestione toda su cartera de ventas y sus relaciones con los clientes en un solo lugar.
    • Desarrollo de software - Aumente la calidad y la velocidad de su equipo de desarrollo con SeaTable.
  • Soporte
    • Guía rápida - – Todo lo que necesita saber para poner en marcha SeaTable en minutos.
    • Área de ayuda - – Encuentre respuestas a sus preguntas y obtenga consejos sobre cómo sacar el máximo provecho de SeaTable.
    • Integraciones - – Conecte SeaTable con herramientas como Zapier, Integromat o n8n. O utilice la API de SeaTable.
    • Blog de SeaTable - – Aquí encontrará información sobre el producto, noticias y muchos ejemplos de cómo puede utilizar SeaTable de forma óptima.
  • Precios
  • Inicio de sesión
  • acceso
  • Registro
  • Menú Menú

Webhooks

  • ¿Qué son los webhooks y para qué sirven?
  • Creación y supresión de un webhook
  • Estructura de los datos del webhook
  • Procesamiento de un webhook con ayuda de PHP
  • La clave secreta de un webhook
  • Desactivación de un webhook en caso de error
  • Inicio
  • Ayuda
  • Scripts, API e integraciones
  • Webhooks
  • Procesamiento de un webhook con ayuda de PHP

Procesamiento de un webhook con ayuda de PHP

El procesamiento de un evento webhooks puede realizarse con cualquier lenguaje de programación y varía en función del lenguaje de programación. El siguiente ejemplo muestra un procesamiento sencillo a través de PHP, que puede servir de base para todos los desarrollos posteriores.

El guión

El siguiente código PHP sirve sólo como ilustración de cómo reaccionar, por ejemplo, ante un determinado evento como una línea borrada.

// get the webhook
$raw_payload = file_get_contents('php://input', true);
$payload = json_decode($raw_payload, true);

if($payload['event'] === "update"){

    // check for a deleted row
    if($payload['data']['op_type'] === "delete_row"){
        // ...
    }
    
    // check if a checkbox was checked in the column with the name "checkbox"
    if($payload['data']['row_data'][0]['column_name'] === "checkbox" AND $payload['data']['row_data'][0]['value'] === true){
        // ...
    }

    // save content to file (for debugging)
    $file = 'webhook_payload.txt';
    $current = file_get_contents($file);
    $current .= $raw_payload;
    $output = file_put_contents($file, $current);
}

Si el webhook envía una clave secreta, puedes verificar el contenido del webhook con el siguiente código. Por supuesto, tienes que sustituir la variable $secret por la clave secreta que hayas elegido.

// verify the signature
function verifySignature($body){
  $secret = "your-webhook-secret";
  $headers = getallheaders();
  return hash_equals('sha256='.hash_hmac('sha256', $body, $secret), $headers['X-Seatable-Signature']); 
}

if (verifySignature($raw_payload) !== false) {
    // verified
    // ...
} else {
    // not verified
}

La estructura del guión

Las dos primeras líneas leen el evento webhook entrante y crean un array in a partir de la estructura JSON entrante.

Con la primera consulta "if", sólo se siguen procesando los eventos para los que "op_type" tiene el valor "delete_row".

La segunda consulta "if" sólo acepta eventos en los que esté activada una casilla de verificación de la columna denominada "casilla de verificación".

Las últimas líneas son opcionales y guardan la carga útil en un archivo de texto. Como alternativa, también podría guardar las solicitudes individuales en una base de datos y, por ejemplo, documentar el procesamiento satisfactorio de las solicitudes.

¿Qué tan útil fue este artículo?
Actualizado el 28 de febrero de 2023
Estructura de los datos del webhookLa clave secreta de un webhook
Contenido
  • El guión
  • La estructura del guión
Logotipo de SeaTable

Hágalo como miles de personas que utilizan SeaTable para desarrollar potentes procesos, poner orden en sus datos y completar sus tareas de forma más eficiente.

SeaTable en Linkedin SeaTable en Medium.com SeaTable en Instagram SeaTable en Twitter SeaTable en Github SeaTable en YouTube SeaTable en Docker Hub

Productos

  • Nube SeaTable
  • SeaTable Dedicado
  • Servidor SeaTable
  • Soporte

Soporte

  • Guía rápida
  • Área de ayuda
  • Plantillas
  • Integraciones
  • Foro
  • API para desarrolladores
  • Estado

Empresa

  • Sobre nosotros
  • Contratamos
  • Pulse
  • Contacte con
  • Blog
  • Pie de imprenta
  • Seguridad
  • Protección de datos
  • Condiciones de uso
  • EULA
Desplácese hacia arriba
  • Deutsch
  • English
  • Français
  • Português
  • Русский