Aby otrzymywać informacje o wybranych zdarzeniach związanych z wysyłką wiadomości w pierwszej kolejności należy je skonfigurować przy pomocy prostego zapytania lub przez interface freshmail (Ustawienia -> API & SMTP, Wtyczki -> Web Hooks):
Dodanie webhook
1 2 3 4 5 6 7 8 9 | POST https://api.freshmail.com/v3/webhook/subscriptions Authorization: Bearer [BEARER] Content-Type: application/json;charset=UTF-8 { "address": "ADRES", "type": "TYP", "module": "MODUŁ" } |
Pole module
- transactional_email
- moduł związany z wiadomościami Email API&SMTP
- campaign
- moduł związany z wiadomościami Email Marketing
Pole type
- open
- otwarcie wiadomości
- click
- kliknięcie w link wysłany w wiadomości
- bounce
- odbicie wiadomości (tylko dla module transactional_email)
- unsubscribe
- odbiorca wypisał się z listy subskrybentów (tylko dla modułu campaign)
Pole address
Pole z adresem, na który zostanie wysłana informacja o danym zdarzeniu. Adres musi istnieć i przyjmować requesty.
Odpowiedź
Serwer odpowie prostym JSON z hashem subskrypcji.
1 | {"id": "HASH"} |
Zwracanie wszystkich webhooks
Request
1 2 | GET https://api.freshmail.com/v3/webhook/subscriptions Authorization: Bearer [BEARER] |
Przykładowa odpowiedź
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [ { "id": "zN", "address": "https://youraddress.com", "active": false, "type": "click", "module": "transactional_email" }, { "id": "RW", "address": "https://youraddress.com", "active": true, "type": "open", "module": "transactional_email" } ] |
Edycja subskrypcji
Dostępne pola
Wymagane dane
- module
- moduł z jakiego chcemy dostawać informacje o zdarzeniach
Opcjonalne pola
- address
- adres na jaki informacja jest wysyłana
- active
- flaga oznaczająca czy dana subskrypcja jest aktywna
- type
- typ akcji na jaki ma reagować
Przykładowy request
1 2 3 4 5 6 7 8 9 10 | PUT https://api.freshmail.com/v3/webhook/subscriptions/{HASH} Authorization: Bearer [BEARER] Content-Type: application/json;charset=UTF-8 { "address": "https://youraddress.com", "active": 0, "type": "click", "module": "transactional_email" } |
Przykładowa odpowiedź
1 | {"success": true} |
Zwrócenie informacji o konkretnej subskrypcji
1 2 | GET https://api.freshmail.com/v3/webhook/subscriptions/{HASH} Authorization: Bearer [BEARER] |
Wymagane pole
- {HASH}
- hash subskrypcji
Odpowiedź
1 2 3 4 5 6 7 | { "id": "5m", "address": "https://youraddress.com", "active": true, "type": "open", "module": "transactional_email" } |
Usuwanie webhook
1 2 | DELETE https://api.freshmail.com/v3/webhook/subscriptions/[ID WEBHOOK] Authorization: Bearer [BEARER] |
Wymagane pole
- {HASH}
- hash subskrypcji
Odpowiedź
1 | {"success": true} |
Testowanie webhook
Przygotowaliśmy możliwość przetestowania webhooków. Wystarczy wysłać odpowiednie zapytanie i otrzymamy przykładową informację na wzkazany adres.
Request
1 2 3 4 5 6 7 8 9 | POST https://api.freshmail.com/v3/webhook/notificationTest/ Authorization: Bearer [BEARER] Content-Type: application/json;charset=UTF-8 { "address": "https://youraddress.com", "type": "click", "module": "transactional_email" } |
Odpowiedź
1 | {"success": true} |