Guía técnica · Integraciones

Conecte QR vCard Pro con cualquier CRM

Una guía paso a paso: cómo conectar un webhook de QR vCard Pro con Zapier, y Zapier con su CRM, sin escribir código.

QR vCard Pro Zapier CRM / 6000+ apps

0Requisitos previos

1Crear el webhook en QR vCard Pro

  1. En la administración de WordPress, abra QR vCard Pro → Webhooks.
  2. Haga clic en Add webhook.
  3. URL, pegue aquí la dirección que Zapier le da (paso 2).
  4. Events, elija contact.received (o todos, *).
  5. Guarde. El sistema genera una clave secreta usada para firmar cada llamada.
ℹ️

Tres events: contact.received (llegó un lead, el clave para el CRM), card.created y scan.recorded.

2Zapier: capturar el webhook

  1. En Zapier, cree un nuevo Zap.
  2. Para el Trigger, elija Webhooks by Zapier.
  3. Para el Event, elija Catch Hook.
  4. Copie la Custom Webhook URL que Zapier muestra.
  5. Péguela en su webhook en QR vCard Pro y guarde.
  6. Haga clic en Test (o haga un intercambio real) para que Zapier aprenda los campos.

Consejo: ejecute primero la prueba, Zapier entonces «aprende» los campos (data.email…) y los ofrece para el mapeo.

3Conectar con su CRM

Añada un paso Action y elija su CRM. Mapee los campos del webhook (con prefijo data.):

HubSpot

Action Create or Update Contact: data.email → Email, data.name → Name, data.phone → Phone, data.company → Company.

Pipedrive

Action Create Person: data.name → Name, data.email → Email, data.phone → Phone.

Salesforce

Action Create Lead: data.name → Last Name, data.email → Email, data.company → Company (obligatorio).

Google Sheets (lo más sencillo)

Action Create Spreadsheet Row: cada lead se convierte en una fila.

🔁

Active el Zap (Publish). A partir de entonces, cada nuevo contact.received llega automáticamente a su CRM, en tiempo real.

4Referencia del payload

Cada webhook es un POST HTTP con un cuerpo JSON. Los datos útiles están en el campo data.

// contact.received { "event": "contact.received", "occurred_at": "2026-05-28T12:00:00+00:00", "plugin_version": "1.39.1", "data": { "contact_id": 42, "card_id": 1800, "name": "Marko Marković", "email": "marko.markovic@primer.rs", "phone": "+381 64 000 0000", "company": "Primer doo", "consent_given": true, "acquisition_method": "direct_form", "received_at": "2026-05-28T12:00:00+00:00" } }
EventoCampos clave en data
contact.receivedcontact_id, card_id, name, email, phone, company, message, consent_given, acquisition_method, received_at
card.createdcard_id, title, slug, landing_url, created_at, updated_at, meta
scan.recordedcard_id, action, scanned_at

Cabeceras HTTP

X-QRVP-Eventel nombre del evento
X-QRVP-Signaturesha256=<HMAC>
X-QRVP-DeliveryID de entrega único
X-QRVP-Attemptnúmero de intento de reenvío

5Seguridad, firma HMAC

Cada llamada lleva X-QRVP-Signature como sha256=<hash>, el HMAC-SHA256 del cuerpo, firmado con el secreto. Así, el receptor puede confirmar que la llamada viene de su sitio.

ℹ️

El Catch Hook de Zapier no necesita verificar la firma (la URL es secreta). La verificación importa para su propio endpoint:

$body = file_get_contents('php://input'); $expected = 'sha256=' . hash_hmac('sha256', $body, $secret); $received = $_SERVER['HTTP_X_QRVP_SIGNATURE'] ?? ''; if (! hash_equals($expected, $received)) { http_response_code(401); exit; }

6Solución de problemas

SíntomaCausa y solución
Zapier no capta la pruebaURL pegada mal, o el webhook no está suscrito. Compruebe la URL y que contact.received esté seleccionado.
No aparece la página «Webhooks»El plan es inferior a Unlimited. Los webhooks empiezan en el plan Unlimited.
Campos del CRM vacíosEl mapeo usa la ruta equivocada, los campos están bajo data (p. ej. data.email).
Las llamadas se retrasanLa entrega es asíncrona (WP-Cron). Para una entrega instantánea, configure un cron de sistema real.

¿Listo para automatizar sus leads?

Los webhooks están incluidos a partir del plan Unlimited.

Ver precios