forked from evotor/documentation-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinfo.yaml
67 lines (40 loc) · 7.97 KB
/
info.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
version: 1.0.9
title: API Эвотор
description: |
# О REST API Эвотор
Пользователи платформы Эвотор могут расширить базовую функциональность смарт-терминала с помощью интеграции со сторонними сервисами. Для пользователя, интеграция происходит с помощью приложений, доступных в Магазине Эвотор.
После интеграции, сторонние сервисы могут взаимодействовать с данными пользователей платформы с помощью HTTP-запросов. Обратите внимание, что добавление полей в тело запросов, которые передаёт облако, может происходить в любой момент. Изменение или удаление полей происходит после предварительного уведомления.
Кроме обращений к REST API облака, сторонние сервисы могут подписаться на вебхуки облака Эвотор.
> С 1.06.2016 при работе с /api/v1/inventories/* Эвотор не будет передавать пустые необязательные (не отмеченные как Required) поля.
## Вебхуки
Вебхуки - события, которые рассылает облако Эвотор на заданные адреса. Чтобы подписать сторонний сервис на вебхуки облака Эвотор, при создании приложения, на вкладке **Интеграция** требуется указать соответствующие веб-адреса.
Облако Эвотор поддерживает два вида вебхуков:
* Уведомления. Облако гарантирует доставку вебхуков этого типа, но не требует подтверждения действия от стороннего сервиса.
* Запросы. Облако гарантирует доставку вебхуков этого типа и ожидает подтверждения действия от стороннего сервиса. Например, при регистрации новой или авторизации существующей учётной записи.
# Авторизация
Запросы стороннего сервиса к REST API, Облако Эвотор авторизует с помощью **токена Облака Эвотор**.
Вебхуки Облака сторонний сервис авторизует с помощью токенов стороннего сервиса: **токена приложения стороннего сервиса** и **токена пользователя стороннего сервиса**.
## Токен Облака Эвотор
Чтобы авторизовать запросы своего сервиса к Облаку Эвотор, в запросе требуется передать заголовок `X-Authorization`, который содержит токен Облака Эвотор.
Вы можете получить токен Облака Эвотор одним из спообов, [описанных в документации](https://developer.evotor.ru/docs/doc_authorization.html).
Разделы с запросами к Облаку, в которых требуется передавать заголовок `X-Authorization`:
* Запросы раздела **Сущности пользователя Эвотор**.
* Запросы раздела **Товары и документы**.
* Запросы раздела **Схемы и дополнительные поля товаров**.
## Токены стороннего сервиса
Чтобы авторизовать запросы к вашему сервису, Облаку Эвотор необходимы токены стороннего сервиса. *Токен приложения стороннего сервиса* вы указываете на [сайте разработчиков](https://dev.evotor.ru) в соответствующих параметрах; *токен пользователя приложения стороннего сервиса* ваш сервис должен передавать автоматически после того как пользователь Эвотор установит ваше приложение с помощью [Магазина приложений](https://market.evotor.ru) и зарегистрируется или авторизуется в вашем сервисе.
В зависимости от запроса, Облако передаёт один из токенов в заголовке `Authorization`.
### Токен приложения стороннего сервиса
Токен приложения стороннего сервиса вы задаёте вручную на вкладке **Интеграция** во время настройки своего приложения на [сайте разработчиков](https://dev.evotor.ru).
Подробная информация о том как задать токен приложения стороннего сервиса [представлена в документации](https://developer.evotor.ru/docs/doc_evotor_api_authorization.html#serverToken).
### Токен пользователя приложения стороннего сервиса
Токен пользователя приложения стороннего сервиса Облако Эвотор получает от вашего сервиса в ответ на вебхуки [**[POST] Авторизация пользователя**](https://api.evotor.ru/docs/#tag/Vebhuki-zaprosy%2Fpaths%2F~1partner.ru~1api~1v1~1user~1verify%2Fpost), [**[POST] Регистрация учётной записи**](https://api.evotor.ru/docs/#tag/Vebhuki-zaprosy%2Fpaths%2F~1partner.ru~1api~1v1~1user~1create%2Fpost) и [**[POST] Активация / деактивация тарифа**](https://api.evotor.ru/docs/#tag/Vebhuki-zaprosy%2Fpaths%2F~1partner.ru~1api~1v1~1user~1tariff%2Fpost). Облако передаёт этот токен во всех вебхуках, кроме указанных выше.
Подробная информация о получении токена пользователя приложения стороннего сервиса [представлена в документации](https://developer.evotor.ru/docs/doc_evotor_api_authorization.html#usersToken).
# Ограничения
С сентября 2017 вводятся ограничения запросов к REST API Облака Эвотор.
Максимальный объём данных в запросе к Облаку Эвотор не может превышть 10 МБайт.
Если сторонний сервис в течение 10 секунд не ответил `200 ОК`, Облако отправляет уведомление повторно.
Ко всем ответам 200 OK от Облака Эвотор будут добавлены следующие заголовки:
* `X-RateLimit-Limit` – Максимальное количество запросов, которые вы можете сделать в текущем временном интервале.
* `X-RateLimit-Remaining` – Количество запросов, оставшихся в текущем временном интервале.
* `X-RateLimit-Reset` – Время, в секундах, оставшееся до начала нового временного интервала.