Документация API

GET /api/services

Возвращает список всех сервисов.

X-API-KEY: Передавайте ключ API в заголовке запроса.

Параметры:

  • country: (необязательно) Фильтрует сервисы по стране.

Пример запроса:

curl -X GET -H "X-API-KEY: your_api_key" "/api/services"

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

{
    "services": [
        {
            "id": 1,
            "name": "Название сервиса",
            "description": "Описание сервиса",
            "templates": [
                {
                    "id": 1,
                    "subject": "Тема шаблона",
                    "country": "RU"
                }
            ],
            "email_accounts": [
                {
                    "id": 1,
                    "email": "[email protected]",
                    "smtp_server": "smtp.example.com"
                }
            ]
        }
    ]
}

GET /api/services/<service_id>

Возвращает информацию о конкретном сервисе по его идентификатору.

Параметры:

  • service_id: (обязательно) Идентификатор сервиса.
  • country: (необязательно) Фильтрует шаблоны по стране.

Пример запроса:

curl -X GET -H "X-API-KEY: your_api_key" "/api/services/1"

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

{
    "id": 1,
    "name": "Название сервиса",
    "description": "Описание сервиса",
    "templates": [
        {
            "id": 1,
            "subject": "Тема шаблона",
            "country": "RU"
        }
    ],
    "email_accounts": [
        {
            "id": 1,
            "email": "[email protected]",
            "smtp_server": "smtp.example.com"
        }
    ]
}

GET /api/services/send-data

Отправляет email, используя указанный сервис, шаблон и учетную запись электронной почты. При этом поддерживается замена специального тега {target_link} на указанную в запросе ссылку.

Параметры:

  • service_id: (обязательно) Идентификатор сервиса.
  • country: (обязательно) Страна, для которой используется шаблон.
  • template_id: (обязательно) Идентификатор шаблона.
  • email: (обязательно) Email получателя.
  • from_email_account_id: (обязательно) Идентификатор учетной записи отправителя.
  • target_link: (обязательно) Ссылка, которая заменит тег {target_link} в шаблоне.

Пример запроса:

curl -X GET -H "X-API-KEY: your_api_key" "/api/services/send-data?service_id=1&country=RU&template_id=1&email=test@example.com&from_email_account_id=1&target_link=https://example.com/welcome"

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

{
    "message": "Письмо успешно отправлено"
}

Пример ответа при ошибке:

{
    "error": "Не удалось отправить письмо"
}

API Documentation

GET /api/services

Returns a list of all services.

X-API-KEY: Pass the API key in the request header.

Parameters:

  • country: (optional) Filters services by country.

Example Request:

curl -X GET -H "X-API-KEY: your_api_key" "/api/services"

Example Response:

{
    "services": [
        {
            "id": 1,
            "name": "Service Name",
            "description": "Service Description",
            "templates": [
                {
                    "id": 1,
                    "subject": "Template Subject",
                    "country": "US"
                }
            ],
            "email_accounts": [
                {
                    "id": 1,
                    "email": "[email protected]",
                    "smtp_server": "smtp.example.com"
                }
            ]
        }
    ]
}

GET /api/services/<service_id>

Returns information about a specific service by its ID.

Parameters:

  • service_id: (required) The service ID.
  • country: (optional) Filters templates by country.

Example Request:

curl -X GET -H "X-API-KEY: your_api_key" "/api/services/1"

Example Response:

{
    "id": 1,
    "name": "Service Name",
    "description": "Service Description",
    "templates": [
        {
            "id": 1,
            "subject": "Template Subject",
            "country": "US"
        }
    ],
    "email_accounts": [
        {
            "id": 1,
            "email": "[email protected]",
            "smtp_server": "smtp.example.com"
        }
    ]
}

GET /api/services/send-data

Sends an email using the specified service, template, and email account. Supports replacing the {target_link} tag with the provided link in the request.

Parameters:

  • service_id: (required) The service ID.
  • country: (required) The country for which the template is used.
  • template_id: (required) The template ID.
  • email: (required) The recipient's email address.
  • from_email_account_id: (required) The sender's email account ID.
  • target_link: (required) The link that will replace the {target_link} tag in the template.

Example Request:

curl -X GET -H "X-API-KEY: your_api_key" "/api/services/send-data?service_id=1&country=US&template_id=1&email=test@example.com&from_email_account_id=1&target_link=https://example.com/welcome"

Example Response:

{
    "message": "Email sent successfully"
}

Example Error Response:

{
    "error": "Failed to send email"
}