=============== Базовые понятия =============== В этом разделе описаны общие положения API TicketsCloud. HTTP ==== В TicketsCloud используется стандартный JSON REST API. Методы ------ В TicketsCloud используются следующие методы: - :method:`GET` Получение объектов. В ресурсах используется, как для коллекций (например: ``GET /v1/resources/events``), так и для конкретных объектов (например: ``GET /v1/resources/events/:id``). - :method:`POST` Создание нового объекта. Применяется к коллекциям. В ответе возвращается созданный объект. - :method:`PATCH` Изменение созданного объекта. Применяется к объекту. В ответе возвращается изменённый объект. - :method:`DELETE` Удаление или действие отмены объекта. Применяется к объекту. Ответ с пустым телом и кодом ``200``. Заголовки HTTP-запросов ----------------------- - :header:`Accept` Крайне желательно указывать этот заголовок как :mimetype:`application/json`. - :header:`Content-Type` Крайне желательно указывать этот заголовок как :mimetype:`application/json`. .. _header-authorization: - :header:`Authorization` Заголовок авторизации. - :header:`X-Partner` Id авторизованного партнёра. Коды ответа ----------- Коды ответа стандартные и описаны в спецификации протокола HTTP (:rfc:`2616`). Тело запроса и ответа --------------------- Если не указанно иного, в теле запросов и ответов используется `JSON `_. При работе с коллекциями, возврашается массив объектов, при работе с конкретным объектом -- сам объект. .. _basic/auth: Авторизация по ключу ==================== Для авторизации по ключу, значение :ref:`заголовка "Authorization" ` имеет префикс ``key`` (``key<пробел>``). Пример заголовка: ``Authorization: key 0123456789abcdef0123456789abcdef`` .. _basic/field-schema: DSL схемы ответа ================ Для того, чтобы ограничить или расширить ответ, применяется "схема". Она, схема, указывается в query параметре ``fields-schema`` и имеет следующую структуру: ``field_1,field_2,reference{ref_field_1,ref_fields_2}``. Схему можно применять как для GET-запросов, так и для POST/PATCH, точно так же передавая её в URL. Не рекомендуется делать очень грубокие схемы для запросов к коллекциям, потому что в таком случае запрос будет строится дольше и может быть отменён по таймауту. :ref:`Пример использования `. Сервера ======= Наш продакшен сервер доступен по адресу https://api.ticketscloud.org. Не рекомендуется использовать его для отладки интеграции. Для этих целей есть стейджинг сервер, доступный по адресу https://stage.ticketscloud.org. Данные на этом сервере каждую ночь сбрасываются.