email accounts: CRUD

Список email аккаунтов

GET /email-accounts?page=1&per_page=20

Параметры:

  • page (int, optional): Номер страницы (по умолчанию 1)
  • per_page (int, optional): Элементов на странице (по умолчанию 20)

Пример ответа:

{
  "success": true,
  "code": 200,
  "data": {
    "items": [
      {
        "id": 1,
        "email": "info@example.com",
        "domain_id": 5,
        "domain_name": "example.com",
        "name": "info",
        "first_name": "John",
        "last_name": "Doe",
        "quota": 1000,
        "created_at": "2024-01-15T10:30:00+00:00",
        "updated_at": "2024-01-20T14:45:00+00:00"
      }
    ],
    "pagination": {
      "total": 150,
      "per_page": 20,
      "current_page": 1,
      "last_page": 8
    }
  }
}

Получить email аккаунт

GET /email-accounts/{id}

Создать email аккаунт

POST /email-accounts
Content-Type: application/json

{
  "domain_id": 5,
  "name": "info",
  "password": "securePassword123",
  "first_name": "John",
  "last_name": "Doe",
  "quota": 1000
}

Обязательные поля:

  • domain_id (int): ID домена
  • name (string): Имя email (до @ символа)
  • password (string): Пароль (мин. 8 символов)

Опциональные поля:

  • first_name (string): Имя
  • last_name (string): Фамилия
  • quota (int): Квота в МБ (по умолчанию 1000)

Обновить email аккаунт

PUT /email-accounts/{id}
Content-Type: application/json

{
  "password": "newPassword123",
  "first_name": "Jane",
  "quota": 2000
}

Удалить email аккаунт

DELETE /email-accounts/{id}

Удалить несколько email аккаунтов

POST /email-accounts/bulk-delete
Content-Type: application/json

{
  "ids": [1, 2, 3]
}