Cómo conectar Square a Shopify Flow
Square envía un Webhook para pagos, pedidos, devoluciones, clientes y cambios en el inventario a través de sus productos de punto de venta y en línea. Workflow Webhooks convierte esa llamada en un activador de Shopify Flow, de modo que su tienda pueda reaccionar ante ella: etiquetar a un cliente, añadir una nota al pedido, enviar un correo electrónico interno, actualizar un metacampo... cualquier cosa que Shopify Flow pueda hacer.
Esta guía establece todo el proceso - Square envía, Workflow Webhooks recibe y verifica, Shopify Flow actúa - con la firma HMAC de Square comprobada en cada solicitud, de modo que solo Square pueda iniciar su flujo de trabajo.
Lo que puede construir
- Etiquete a un cliente de Shopify que haya realizado una compra en su tienda física a través de Square.
- Añada una nota sobre un cliente cuando se emita un reembolso a través de Square, para que el soporte pueda tener una visión completa de la situación.
- Envíe un correo electrónico al personal cuando el inventario de Square de una referencia compartida sea inferior a un umbral determinado.
Eventos habituales que se suelen enviar: payment.created, refund.updated, customer.created, inventory.count.updated.
Antes de empezar
- Workflow Webhooks instalado en su tienda Shopify.
- Shopify Flow instalada, que puede descargarse de forma gratuita desde la App Store de Shopify.
- Una cuenta en Square con permiso para crear webhooks.
Paso 1: Cree el webhook en Workflow Webhooks
- Acceda a Workflow Webhooks -> Webhooks -> Crear webhook y asígnele un nombre que pueda reconocer en Shopify Flow, como por ejemplo
Square events. - En «Autenticación», seleccione HMAC.
- En «Proveedor de firma», seleccione Square. La aplicación rellenará automáticamente el encabezado, el algoritmo, el payload firmado y la ventana de repetición; no es necesario configurar nada más.
- Deje el campo «Secreto» vacío por ahora y haga clic en «Guardar». Copie la URL del webhook que aparece en la página.
Consulte Autenticación para conocer los demás modos de autenticación, y Asignación de la carga útil y variables de flujo para seleccionar qué campos se envían a Shopify Flow.
Paso 2: Añada el punto final en Square
En el panel de control para desarrolladores de Square, abra la sección «Webhooks» de su aplicación, añada una suscripción con la URL que ha copiado y copie la clave de firma.
Cómo encontrar su clave secreta de Square
La clave de firma de la suscripción al webhook (Panel de control para desarrolladores de Square -> Webhooks).
La propia documentación de Square sobre las firmas de webhooks, disponible en, contiene la redacción exacta y las capturas de pantalla correspondientes a su cuenta.
Pegue esa clave secreta en el campo «Secret» del webhook en Workflow Webhooks y guarde los cambios. A partir de ese momento, cada entrega de Square se verificará antes de llegar a Shopify Flow.
Qué comprueba esto
| ¿Qué? | Valor |
|---|---|
| Encabezado de la firma | x-square-hmacsha256-signature |
| Dónde se coloca la firma | El valor completo del encabezado |
| ¿Qué se ha firmado? | {url}{body} |
| Firma | HMAC-SHA256, codificado en base64 |
| Marca de tiempo | Este remitente no lo utiliza |
| Protección contra la reproducción | Ninguna: este remitente no firma la marca de tiempo, por lo que todas las firmas válidas siguen siendo válidas |
| El secreto | Se utiliza como texto sin formato. Péguelo tal y como lo muestra el remitente. |
En la carga útil firmada, {body} es el cuerpo de la solicitud sin procesar, byte a byte, y {url} es la URL de este webhook.
Cualquier solicitud que incumpla alguno de estos requisitos se rechaza con el código de error 401, se registra en Historial y resolución de problemas y nunca inicia un flujo de trabajo.
Paso 3: Crear el flujo de trabajo Shopify Flow
- En «Shopify Flow», cree un flujo de trabajo y seleccione el activador «Workflow Webhooks».
- Haga clic en «Grabar eventos» y, a continuación, envíe un evento de prueba desde Square (o utilice la opción «Enviar prueba» en Workflow Webhooks) para que Shopify Flow aprenda la estructura de sus datos.
- Cada webhook que tenga activa el mismo activador de Shopify Flow; por lo tanto, añada una primera condición basada en el ID del webhook para que este flujo de trabajo se limite exclusivamente a Square. El ID aparece en la página del webhook.
- Añada sus acciones: etiquete a un cliente, añada una nota, envíe un correo electrónico interno, actualice un metacampo.



Paso 4: Realice una prueba de extremo a extremo
Activador de un evento real en Square. En Workflow Webhooks -> Historial debería ver la invocación con el estado «Éxito». Si la firma era incorrecta, aparecerá una entrada fallida con el motivo correspondiente; además, en Verificación de webhooks firmados se explica cómo funciona el verificador de firmas, que le muestra exactamente en qué paso se produjo el error.

La firma no coincide▾
En este pedido: el secreto (la causa más habitual: un espacio de más o una clave del entorno equivocado), si el remitente está utilizando el secreto de otro punto final y si hay algún elemento entre Square y la aplicación que reescriba el cuerpo del mensaje. Las firmas abarcan los bytes sin procesar, por lo que un proxy que reformatee el JSON las invalida. El verificador de firmas de la página de webhooks muestra el texto exacto que se ha firmado.
Me aparece el error 401 en todas las solicitudes▾
Compruebe que la autenticación del webhook esté configurada en HMAC con el proveedor Square seleccionado, que se haya introducido el secreto y que Square esté enviando la solicitud a la URL exactamente tal y como aparece en la aplicación, incluido el código al final.
No aparece nada en el historial▾
La solicitud nunca se recibió. Vuelva a comprobar la URL en Square y consulte el propio registro de entrega de Square para ver la respuesta que recibió. Un 404 indica que el webhook es incorrecto o ha sido eliminado; un 429 significa que ha superado el límite de invocaciones de su plan; consulte Planes y uso.
El flujo de trabajo se ejecuta para eventos incorrectos▾
Cada webhook de su tienda activa el mismo activador de Shopify Flow. Añada una condición basada en el identificador del webhook como primer paso del flujo de trabajo, o limite los eventos que envía desde Square.
Relacionado
- Verificación de webhooks firmados - cada proveedor que verificamos, y cómo describir a aquellos que no verificamos.
- Asignación de la carga útil y variables de flujo - extraer los campos adecuados de la payload e introducirlos en Shopify Flow.
- Protección contra entregas duplicadas - ¿Qué ocurre cuando Square vuelve a intentar realizar una entrega?
- Historial y resolución de problemas - el registro de todas las solicitudes, con la posibilidad de reproducirlas.

