API — E-maile
Endpointy
| Metoda | Ścieżka | Opis |
|---|---|---|
| GET | /mail/emails.json |
Lista e-maili |
| GET | /mail/emails/:id.json |
Pojedynczy e-mail |
| POST | /mail/emails.json |
Utworzenie e-maila (wysłanie / szkic / zaplanowanie) |
| PATCH | /mail/emails/:id.json |
Aktualizacja e-maila |
| DELETE | /mail/emails/:id.json |
Usunięcie e-maila |
Autoryzacja: Authorization: Bearer TOKEN (uprawnienie: mail)
Pola e-maila
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
subject |
string | tak* | Temat wiadomości |
to |
string | tak* | Adres odbiorcy (lub cc/bcc musi być podane) |
content |
string | tak* | Treść wiadomości (HTML) |
mailbox_id |
integer | tak | ID skrzynki pocztowej |
from |
string | nie | Adres nadawcy (domyślnie: adres skrzynki) |
cc |
string | nie | Kopia (Dw) |
bcc |
string | nie | Ukryta kopia (Udw) |
reply_to |
string | nie | Adres do odpowiedzi |
send_status |
string | nie | Status: sent (wyślij), draft (szkic), future (zaplanuj) |
sent_at |
datetime | nie | Data wysyłki (dla send_status: "future") |
priority |
number | nie | Priorytet (1-5) |
template_id |
integer | nie | ID szablonu |
email_id |
integer | nie | ID e-maila nadrzędnego (odpowiedź w wątku) |
tags |
array | nie | Tagi |
fields |
jsonb | nie | Własne pola |
* Wymagane gdy send_status to sent lub future
Wysyłanie e-maila
Aby e-mail został faktycznie wysłany, musisz podać send_status: "sent". Bez tego parametru e-mail zostanie zapisany, ale nie wysłany.
POST /mail/emails.json
Authorization: Bearer TOKEN
Content-Type: application/json
{
"email": {
"subject": "Witaj",
"to": "klient@firma.pl",
"content": "<p>Treść wiadomości</p>",
"mailbox_id": 1,
"send_status": "sent"
}
}
E-mail jest kolejkowany w tle (SolidQueue) z 5-sekundowym opóźnieniem i wysyłany przez skonfigurowany serwis skrzynki (SMTP, AWS SES, EmailLabs, SendGrid).
Zapisanie szkicu
{
"email": {
"subject": "Szkic",
"to": "klient@firma.pl",
"content": "<p>Treść</p>",
"mailbox_id": 1,
"send_status": "draft"
}
}
Zaplanowanie wysyłki
{
"email": {
"subject": "Zaplanowany",
"to": "klient@firma.pl",
"content": "<p>Treść</p>",
"mailbox_id": 1,
"send_status": "future",
"sent_at": "2026-03-10T10:00:00Z"
}
}
Odpowiedź w wątku
{
"email": {
"subject": "Re: Witaj",
"to": "klient@firma.pl",
"content": "<p>Odpowiedź</p>",
"mailbox_id": 1,
"email_id": 500,
"send_status": "sent"
}
}
Dodatkowe endpointy
| Metoda | Ścieżka | Opis |
|---|---|---|
| POST | /mail/emails/:id/add_connected_task.json |
Powiąż z zadaniem |
| POST | /mail/emails/:id/remove_connected_task.json |
Usuń powiązanie z zadaniem |
| POST | /mail/emails/:id/change_priority.json |
Zmień priorytet |
| POST | /mail/emails/:id/snooze.json |
Odłóż wątek |
| POST | /mail/emails/:id/archive_and_next.json |
Archiwizuj i przejdź dalej |
| POST | /mail/emails/set_as_spam.json |
Oznacz jako spam |
| POST | /mail/emails/unspam.json |
Cofnij oznaczenie spam |
| POST | /mail/emails/save_draft.json |
Zapisz szkic |
| GET | /mail/emails/:id/get_content.json |
Pobierz treść e-maila |
| GET | /mail/emails/:id/attachments.json |
Lista załączników |
Błędy (422)
{"subject": ["nie może być puste"]}