La principal diferencia entre cómo funcionan en general los Webhooks y las API:
- Las API realizan llamadas sin saber si recibirán o no una actualización de datos como respuesta.
- Los Webhooks reciben llamadas a través de HTTP POST desde sistemas externos solo cuando estos tienen alguna actualización de datos.
Los Webhooks pueden entonces "activar" todo el flujo de trabajo de la integración para actuar sobre estas actualizaciones. Esta activación se produce por un motivo (porque hay una actualización real que procesar), no simplemente porque toca hacer otra comprobación más en busca de una actualización.
Los Webhooks también proporcionan a otras aplicaciones y servicios información en tiempo (casi) real. Esto también es posible mediante las API, pero requiere más esfuerzo y consume muchísimos recursos. Los Webhooks hacen que el tiempo real sea realmente sencillo.
Nota: Aquí tienes el artículo Empiece a utilizar la API.
1. Crea tu propio Webhook
- Ve a Conectividad > Webhooks en tu cuenta de Regiondo.
- Ponle un nombre a tu Webhook. El nombre lo eliges tú. Ejemplo: Google Notification
- Elige uno de los 3 tipos de activador: Reserva, Cliente o Ticket.
- Introduce la Payload URL. Esta es la URL a la que se llamará cuando se produzca el activador del Webhook en el Panel.
- Prueba la URL antes de guardar/activar el Webhook.
2. Valores de respuesta
2.1. Reserva (Booking)
{
"booking_key": "1-2605248-44215-75508-1556874000",
"product_id": "44215",
"product_supplier_id": "9357",
"option_id": "174184",
"variation_id": "75508",
"order_id": "2605248",
"option_name": "Adulte",
"variation_name": "Tours en Français ",
"ticket_name": "La route de Bordeaux",
"product_name": "La route de Bordeaux",
"qty": "1",
"qty_cancelled": "0",
"event_date_time": "2019-05-03T09:00:00+02:00",
"date_applied_for": "2019-05-03T09:00:00+02:00",
"created_at": "2019-04-30T11:02:45+02:00",
"type": "booking",
"status": "approved",
"external_id": null,
"email": "customer.name@regiondo.com",
"phone_number": null,
"first_name": "Customer",
"last_name": "Name",
"duration_type": "minute",
"duration_value": "50.00",
"order_number": "1556614985033893200",
"distribution_channel_partner": "Company Short-name or Name",
"contact_data": {
"firstname": "Customer",
"lastname": "Name",
"email": "customer.name@regiondo.com",
"telephone": null,
"is_subscribed": "no"
}
}2.2. Cliente (Customer)
{
"customer_email": "customer.name@regiondo.com",
"customer_firstname": "Customer",
"customer_lastname": "Name",
"customer_phone": "",
"customer_birth_date": null,
"customer_street": null,
"customer_postcode": null,
"customer_city": null,
"customer_country": null,
"customer_newsletter_status": 0,
"customer_newsletter_order": null,
"customer_newsletter_datetime": null,
"customer_newsletter_ip": null
}{
"customer_email": "customer.name@regiondo.com",
"customer_firstname": "Customer",
"customer_lastname": "Name",
"customer_phone": "",
"customer_birth_date": null,
"customer_street": "Neumarkter Str. 63",
"customer_postcode": "81673",
"customer_city": "München",
"customer_country": "DE",
"customer_newsletter_status": 0,
"customer_newsletter_order": null,
"customer_newsletter_datetime": null,
"customer_newsletter_ip": null
}2.3. Ticket
{
"code": "RE57WGQH0G6S",
"status": "processing",
"validation_status": "not validated",
"data": {
"validated_at": "2019-04-30T11:03:11+02:00",
"product_info": {
"product_name": "La route de Bordeaux",
"variation_name": "Tours en Français ",
"option_name": "Adulte",
"ticket_datetime": "2019-05-03T09:00:00+02:00"
},
"customer_info": {
"customer_name": "Mr. Customer Name",
"customer_email": "customer.name@regiondo.com"
}
}
}{
"code": "RE57WGQH0G6S",
"status": "sent",
"validation_status": "validated",
"data": {
"validated_at": "2019-04-30T11:09:09+02:00",
"product_info": {
"product_name": "La route de Bordeaux",
"variation_name": "Tours en Français ",
"option_name": "Adulte",
"ticket_datetime": "2019-05-03T09:00:00+02:00"
},
"customer_info": {
"customer_name": "Mr. Customer Name",
"customer_email": "customer.name@regiondo.com"
}
}
}
3. Añadir código de descuento
Puedes añadir información sobre el importe del descuento, la moneda y el código de descuento. También se te mostrará el importe total de la reserva.
3.1. Se utiliza un descuento
"coupon_code": "HALF_PRICE" "total_paid": "249.50" "coupon_discount": "249.50" "total": "499.00" "currency_code": "CHF"
3.2. No se utiliza ningún descuento
"coupon_code": null "total_paid": "10.00" "coupon_discount": "0.00" "total": "10.00" "currency_code": "EUR"
4. Webhooks en Merchandising – Productos adicionales
Es posible conectarse a los productos adicionales, pero existen limitaciones:
- El IVA no se transmite.
- El importe del producto se suma al importe de la reserva, IVA incluido.
- Solo se muestra el importe total del pedido, es decir, el importe de la oferta más el producto adicional.
- Ejemplo: importe de la oferta 50E + producto adicional 5E = 55 EUROS.
Se transmite el resto de la información, como la identificación del producto, la cantidad, las cancelaciones, el estado, el pago, el número de reserva, los datos del comprador y el precio del pedido IVA incluido.