La principale differenza tra il funzionamento generale dei Webhook e delle API:
- Le API effettuano chiamate senza sapere se riceveranno o meno un aggiornamento dei dati come risposta.
- I Webhook ricevono chiamate tramite HTTP POST da sistemi esterni solo quando questi hanno degli aggiornamenti dei dati.
I Webhook possono quindi "attivare" l'intero flusso di lavoro dell'integrazione per gestire questi aggiornamenti. Questa attivazione avviene per un motivo (perché c'è un aggiornamento reale da elaborare), non solo perché è arrivato il momento di effettuare l'ennesimo controllo per un aggiornamento.
I Webhook forniscono inoltre ad altre applicazioni e servizi informazioni in tempo (quasi) reale. Questo è possibile anche tramite le API, ma richiede più impegno e consuma moltissime risorse. I Webhook rendono il tempo reale davvero semplice.
Nota: ecco l'articolo su come Iniziare con l'API.
1. Crea il tuo Webhook
- Vai a Connettività > Webhooks nel tuo account Regiondo.
- Assegna un nome al tuo Webhook. Il nome è a tua scelta. Esempio: Google Notification
- Scegli uno dei 3 tipi di Trigger: Prenotazione, Cliente o Biglietto.
- Inserisci il Payload URL. Questo è l'URL che verrà chiamato quando si verifica il Trigger del Webhook nella Dashboard.
- Testa l'URL prima di salvare/attivare il Webhook.
2. Valori di risposta
2.1. Prenotazione (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. Biglietto (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. Aggiungi codice sconto
Puoi aggiungere informazioni sull'importo dello sconto, sulla valuta e sul codice sconto. Ti verrà mostrato anche l'importo totale della prenotazione.
3.1. Viene utilizzato uno sconto
"coupon_code": "HALF_PRICE" "total_paid": "249.50" "coupon_discount": "249.50" "total": "499.00" "currency_code": "CHF"
3.2. Non viene utilizzato uno sconto
"coupon_code": null "total_paid": "10.00" "coupon_discount": "0.00" "total": "10.00" "currency_code": "EUR"
4. Webhook su Merchandising – Prodotti aggiuntivi
È possibile collegarsi ai prodotti aggiuntivi, ma ci sono delle limitazioni:
- L'IVA non viene trasmessa.
- L'importo del prodotto viene aggiunto all'importo della prenotazione, IVA inclusa.
- Viene mostrato solo l'importo totale dell'ordine, ovvero l'importo dell'offerta più il prodotto aggiuntivo.
- Esempio: importo dell'offerta 50E + prodotto aggiuntivo 5E = 55 EURO.
Tutte le altre informazioni vengono trasmesse, come l'identificazione del prodotto, la quantità, le cancellazioni, lo stato, il pagamento, il numero di prenotazione, le informazioni sull'acquirente e il prezzo dell'ordine IVA inclusa.