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}