Cómo conectar Sendcloud a Shopify Flow

Sendcloud se encarga del envío y el seguimiento de paquetes. Envía un Webhook cada vez que un paquete cambia de estado. 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 - Sendcloud envía, Workflow Webhooks recibe y verifica, Shopify Flow actúa - , con la firma HMAC de Sendcloud comprobada en cada solicitud, de modo que únicamente Sendcloud pueda iniciar su flujo de trabajo.

Lo que puede construir

  • Añada una nota al pedido en el momento en que se entregue el paquete, sin necesidad de consultar la API del transportista.
  • Envíe un correo electrónico al representante asignado al cliente cuando falle una entrega.
  • Marque los pedidos que permanezcan en tránsito más tiempo del previsto, para que el soporte pueda tomar las medidas oportunas.

Eventos típicos que se envían: se notifica el envío de un paquete, un paquete está en tránsito, se entrega un paquete, falla la entrega.

Antes de empezar

  • Workflow Webhooks instalado en su tienda de Shopify.
  • Shopify Flow instalada, que se puede descargar de forma gratuita desde la App Store de Shopify.
  • Una cuenta en Sendcloud con permiso para crear webhooks.

Paso 1: Cree el webhook en Workflow Webhooks

  1. Acceda a Workflow Webhooks -> Webhooks -> Crear webhook y asígnele un nombre que pueda reconocer en Shopify Flow, como por ejemplo Sendcloud events.
  2. En «Autenticación», seleccione HMAC.
  3. En «Proveedor de firma», seleccione Sendcloud. La aplicación rellena automáticamente el encabezado, el algoritmo, el payload firmado y la ventana de repetición; no es necesario configurar nada más.
  4. Deje el campo «Secreto» en blanco 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 Sendcloud

En Sendcloud, abra la configuración de la integración y establezca la URL del webhook con la URL que ha copiado. La clave secreta de la integración es la que firma la solicitud.

Cómo encontrar su secreto de firma de Sendcloud

La clave secreta de la integración (o la clave de firma del webhook).

La documentación de Sendcloud sobre las firmas de webhooks, disponible en, incluye el texto exacto 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 envío de Sendcloud se verificará antes de llegar a Shopify Flow.

Qué comprueba esto

¿Qué? Valor
Encabezado de la firma Sendcloud-Signature
Dónde se coloca la firma El valor completo del encabezado
¿Qué se ha firmado? {body}
Firma HMAC-SHA256, codificado en hexadecimal
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 payload firmada, {body} es el cuerpo de la solicitud sin procesar, byte a byte.

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

  1. En «Shopify Flow», cree un flujo de trabajo y seleccione el activador «Workflow Webhooks».
  2. Haga clic en «Grabar eventos» y, a continuación, envíe un evento de prueba desde Sendcloud (o utilice la opción «Enviar prueba» en Workflow Webhooks) para que Shopify Flow aprenda la estructura de sus datos.
  3. Cada webhook del que disponga activa el mismo activador de Shopify Flow, por lo que debe añadir una primera condición basada en el identificador del webhook para que este flujo de trabajo se limite exclusivamente a Sendcloud. El identificador aparece en la página del webhook.
  4. Añada sus acciones: etiquete a un cliente, añada una nota, envíe un correo electrónico interno o actualice un metacampo.
Shopify Flow
En Shopify Flow, seleccione «Select a trigger», abra Workflow Webhooks y elija «Webhook Trigger».
Condición de Shopify Flow: el ID del webhook es igual al ID de un webhook
El primer paso de cada flujo de trabajo: una condición basada en el ID del webhook, de modo que el flujo de trabajo solo se ejecute para este webhook.
El flujo de trabajo final: «Webhook Trigger», una condición basada en el ID del webhook y, a continuación, «Enviar correo electrónico interno» en la rama «True».
El flujo de trabajo final: activador, condición basada en el ID del webhook y, a continuación, su acción en la rama «True».

Paso 4: Realice una prueba de extremo a extremo

Activador de eventos reales en Sendcloud. 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 comprobador de firmas, que le muestra exactamente en qué paso se produjo el error.

Una invocación se ha abierto en «Historia» con sus encabezados de solicitud, su payload, su estado, su duración y sus identificadores
Un evento de entrega en «Historia»: el estado «Éxito» significa que Shopify Flow lo ha aceptado.
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 algún elemento entre Sendcloud y la aplicación reescribe 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 como HMAC con el proveedor Sendcloud seleccionado, que se haya introducido el secreto y que Sendcloud 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 Sendcloud y consulte el registro de entrega de Sendcloud para ver la respuesta que se recibió. Un error 404 indica que el webhook es incorrecto o ha sido eliminado, mientras que un error 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 ID del webhook como primer paso del flujo de trabajo, o limite los eventos que envía desde Sendcloud.

Relacionado