Foldery dla modułu poczty. Endpoint odpowiedzialny za zarządanie folderami w module poczty (operacje CRUD).

Domyślne foldery systemowe:

  • CLIENTS
  • OTHERS
  • DRAFTS
  • SENT

Endpointy obsługujące żądanie:

  • https://api.5ways.com - Ekspert

Uprawnienia:

  • Admin, Ekspert, specjalista, praktykant - GET, POST, PUT, DELETE

Pola zasobu

Klucz Typ danych Opis
id integer Unikalny identyfikator folderu
customer_id integer/null Identyfikator instancji (jeśli dotyczy)
user_id integer/null Identyfikator użytkownika (jeśli dotyczy)
name string Nazwa folderu
folder_id integer/null Identyfikator folderu nadrzędnego (jeśli dotyczy)
is_system boolean Czy folder jest systemowy
is_global boolean Czy folder jest globalny (widoczny dla wszystkich użytkowników w ramach jednej instancji)
created string Data utworzenia folderu (format ISO 8601)
modified string Data ostatniej modyfikacji folderu (format ISO 8601)

Zasady

  • API nie pozwala na ustawianie pól is_system oraz user_id.
  • Nie można przypisać folderu do innego folderu (tworzenie podfolderu), którego użytkownik nie jest właścicielem.
  • Nie można edytować i usuwać folderów systemowych.
  • Nie można pobrać folderów jeżeli nie są one własnością użytkownika z wyjątkiem folderów globalnych i systemowych.
  • Nie można edytować folderu którego nie jest się właścicielem.
  • Pole name musi mieścić się w przedziale 1-40 znaków.
  • Limit dla liczby folderów wynosi 7 (wliczane są wszystkie foldery, także systemowe).

Podfoldery

W przypadku tworzenia podfolderu dla pola folder_id należy podać identyfikator istniejącego folderu. Możliwe jest tworzenie podfolderów tylko dla folderów, których użytkownik jest właścicielem, oraz dla folderów globalnych. Nie jest możliwe tworzenie podfolderów dla folderów systemowych.

Pobieranie folderów

GET /rest/mail_folder

Zwracane są foldery modułu pocztowego: utworzone przez użytkownika, globalne (widoczne dla wszystkich użytkowników w ramach jednej instancji) oraz systemowe.

Jeżeli użytkownik nie ustawił kolejności sortowania w ustawieniach folderów (patrz endpoint mail_folder_setting), foldery domyślnie są posortowane według identyfikatorów z bazy danych. Wyjątkiem są foldery systemowe, które są umieszczane na początku kolekcji danych.

Jeżeli użytkownik ustawił kolejność sortowania w ustawieniach folderów, foldery są sortowane zgodnie z tą kolejnością. W przypadku gdy ustawienia kolejności nie uwzględniają niektórych folderów, są one umieszczane na końcu kolekcji danych według kolejności identyfikatorów w bazie danych.

Przykładowy scenariusz:

  1. Użytkownik #1 tworzy dwa foldery: Test1, Test2.
  2. Użytkownik #1 sortuje foldery w kolejności: Test2, Test1.
  3. Użytkownik #2 tworzy folder globalny: Globalny1.
  4. Użytkownik #1 otrzyma foldery w kolejności: Test1, Test2, Globalny1. Konfiguracja folderów użytkownika #1 nie uwzględnia jeszcze folderu globalnego.
Zwracane dane
// HTTP/1.1 200 OK
{
  "MailFolder": {
    "id": 1,
    "customer_id": null,
    "user_id": null,
    "name": "",
    "folder_id": null,
    "is_system": true,
    "is_global": true,
    "created": "2025-09-02T10:22:58+00:00",
    "modified": "2025-09-02T10:22:58+00:00"
  }
}

Dodawanie nowego folderu

POST /rest/mail_folder

Tworzy nowy folder.

{
  "MailFolder": {
    "name": "Test",
    "folder_id": null,
    "is_global": 0
  }
}
Odpowiedź

Zwraca dane nowo utworzonego folderu.

HTTP/1.1 200 OK
{
    "id": 5,
    "customer_id": 1,
    "user_id": 1,
    "name": "Test",
    "folder_id": null,
    "is_system": false,
    "is_global": false,
    "created": "2025-09-02T10:22:58+00:00",
    "modified": "2025-09-02T10:22:58+00:00"
}

Aktualizacja folderu

PUT /rest/mail_folder/{id}

Aktualizuje dane folderu.

{
  "MailFolder": {
    "name": "Test",
    "folder_id": 1,
    "is_global": 1
  }
}
Odpowiedź
HTTP/1.1 200 OK
{
    "status": "OK"
}

Usuwanie folderu

DELETE /rest/mail_folder/{id}

Trwale usuwa folder.

{
  "MailFolder": {
    "name": "Test",
    "folder_id": 1,
    "is_global": 1
  }
}
Odpowiedź
HTTP/1.1 200 OK
{
    "status": "OK"
}