Debuggowanie

W przypadku mechanizmów typu webhooks proces debuggowania jest trudny do realizacji. W pierwszej kolejności musisz sie upewnić, że Twój serwer odpowiada kodem 200. Do debuggowania można skorzystać z paru ogólnodostepnych narzędzi / serwisów. Niektóre przykłady zamieszczamy poniżej.

RequestBin

Serwis RequestBin można wykorzystać do monitorowania requestów które przychodzą z serwerów FreshMail. Jeśli chcesz skorzystać z tej opcji w pierwszj kolejności powinieneś stworzyć Bin URL. Adres ten wygląda podobnie do:

http://requestb.in/1i379i31

W tym momencie jesteś już gotowy, żeby umieścić ten adres URL w konfiguracji FreshMail Webhooks. Po kliknięciu przycisku Testuj połączenie i powrocie do serwisu RequestBin możesz odświeżyć stronę. Zobaczysz jakie żądania zostały wysłane z serwerów FreshMaila na wskazany przez Ciebie adres.

CURL

Kolejnym prostym sposobem przetestowania komunikacji jest skorzystanie z biblioteki CURL i spreparowanie odpowiednich żądań które będą symulowały dane wysyłane przez serwery FreshMail'a. Przykładowe żądania które można wykorzystać do debuggowania zamieszczamy poniżej:

Żądanie testowe

curl -X POST -d '{"test":"1"}' http(s)://my-domain.com/api/freshmail/webhooks

Żądanie z jednym zdarzeniem

curl -X POST -d '[{"campaign":"jsid73ejd0","email":"email@example.com","event":"open","timestamp":1439989130,"attempt":1,"hash":"32a3c15e44"}]' http(s)://my-domain.com/api/freshmail/webhooks

Żądanie z wieloma zdarzeniami

curl -X POST -d [{"campaign":"kais7nw3ee","email":"email@example.com","event":"open","timestamp":1439989207,"attempt":1,"hash":"0093332079"},{"campaign":"kais7nw3ee","email":"email@example.com","event":"open","timestamp":1439989208,"attempt":4,"hash":"ae9e92b9fe"},{"campaign":"kais7nw3ee","email":"email@example.com","event":"unsubscribe","timestamp":1439889404,"attempt":2,"hash":"ccec7ad7f1"}]
' http(s)://my-domain.com/api/freshmail/webhooks