Синхронизация событий в Таймпад

Часто требуется поддерживать в базе Таймпада тот же список событий, что и на основном сайте, например при организации дополнительных продаж через наши каналы. Для решения этой задачи API Таймпада поддерживает создание и редактирование событий.

Эти API требуют аутентификации токеном для работы. Самый простой способ его получить — это воспользоваться автоматическим инструментом, будучи залогиненным от пользователя, имеющего доступ к организации. Для создания и редактирования событий, нужно выбрать scope add_events и edit_events соответственно.

Синтаксис создания и редактирования событий описан в интерактивной документации, вот пример запроса на создание события:

POST /v1/events?token=123
{
  "ticket_types": [
    {
      "price": 100,
      "name": "Билет за 100 рублей",
      "description": "Легендарный и неповторимый билет за 100 рублей"
    }
  ],
  "organization": {
    "subdomain": "my-org"
  },
  "questions": [
    {
      "field_id": "mail"
    },
    {
      "field_id": "surname"
    },
    {
      "field_id": "name"
    },
    {
      "is_mandatory": true,
      "name": "Отчество",
      "comment": "Потому что мы хотим обращаться по имени-отчеству"
    }
  ],
  "name": "Новое событие",
  "description_short": "Окунитесь в атмосферу новизны с нашим новым событием",
  "description_html": "<p>Окунитесь в <i>атмосферу новизны</i> с нашим новым событием - потрясающим и удивительным.</p><p>Обратите внимание, что мы написали два абзаца, потому что это событие просто ни с чем не сравнимо, и мы хотим донести это до вас.</p>",
  "starts_at": "2014-01-01T12:00:00+03:00",
  "ends_at": "2014-01-01T15:00:00+03:00",
  "categories": [
    {
      "name": "Бизнес"
    }
  ],
  "location": {
    "city": "Москва",
    "address": "ул. Нижняя Сыромятническая, д. 10"
  },
  "poster_image_url": "https://yandex.ru/images/today?size=800x600"
}

В ответе будет получен id события (например, 5562). С его помощью можно в дальнейшем редактировать событие:

POST /v1/events/5562?token=123
{
  "name": "Отредактированное новое событие",
  "description_short": "Окунитесь в атмосферу отредактированности с нашим новым событием"
}

Обратите внимание на редактирование видов билетов (например, цены). Указывайте id билета, если не хотите создание новой категории, например:

POST /v1/events/5562?token=123
{
  "ticket_types": [
  {
    "id": 8566,
    "price": 1000,
    "name": "Теперь билет за 1000 рублей"
  }]
}

Для поддержания синхронизации баз Таймпада и вашей системы, отправляйте запрос редактирования и создания в API при каждом редактировании и создании в вашей системе.