TicketMail API

Документація
інтеграції

Публічне API має 2 ендпоінти: створення квитка та деактивація квитка. Авторизація виконується через заголовок ApiToken.

Base URL https://api.ticket-mail.tech

Ендпоінти

2
POST /api/v1.0/blog/tickets
201 Created 200 OK

Створює квиток для вказаного email. Ендпоінт є ідемпотентним для пари event + email — якщо квиток вже існує, повертається існуючий із полем "created": false.

Заголовки запиту

Content-Type: application/json
ApiToken: <your_event_api_token>

Request Body (JSON)

{
  "email": "user@example.com",
  "metadata": "VIP"
}

Response (201 Created або 200 OK)

{
  "id": "019dac12-c67e-7b47-bb3b-8b6f2f142d94",
  "metadata": "VIP",
  "participant": {
    "email": "user@example.com"
  },
  "status": "unused",
  "isUsed": false,
  "createdAt": "2026-04-20T18:06:44+00:00",
  "created": true
}

cURL

curl -X POST 'https://api.ticket-mail.tech/api/v1.0/blog/tickets' \
  -H 'Content-Type: application/json' \
  -H 'ApiToken: your_event_api_token' \
  -d '{"email":"user@example.com","metadata":"VIP"}'
POST /api/v1.0/blog/tickets/{id}/deactivate
200 OK

Деактивує квиток за UUID. Ендпоінт є ідемпотентним — повторний виклик для вже деактивованого квитка також повертає успішну відповідь.

Заголовки запиту

ApiToken: <your_event_api_token>

Response (200 OK)

{
  "id": "019dac12-c67e-7b47-bb3b-8b6f2f142d94",
  "deactivated": true
}

cURL

curl -X POST 'https://api.ticket-mail.tech/api/v1.0/blog/tickets/019dac12-c67e-7b47-bb3b-8b6f2f142d94/deactivate' \
  -H 'ApiToken: your_event_api_token'

Помилки

Авторизація

Якщо заголовок ApiToken відсутній або невалідний, API повертає 403 Forbidden:

{
  "error": "access_denied",
  "errorDescription": "ApiToken header is required"
}

Валідація

Помилки валідації тіла запиту повертаються як 422 Unprocessable Entity.

Коди відповідей

200 OK 201 Created 403 Forbidden 422 Unprocessable Entity