Документация API v1
Для получения доступа к API нужно создать токен доступа в личном кабинете на сайте: Личный кабинет
Оплата заказа происходит через списание с баланса аккаунта.
Все HTTP-запросы отправляются на адрес:
https://api.mnogo-golosov.ru/v1/{RESOURCE}
{RESOURCE}
- имя необходимого ресурса.
https://api.mnogo-golosov.ru/v1/services
- Адрес для получения списка доступных услуг.
Content-Type: application/json
Accept: application/json
Authorization: Bearer {TOKEN}
{TOKEN}
- Ваш токен доступа, полученный в личном кабинете на сайте.
HTTP-метод запроса зависит от ресурса и указан в его описании.
Все параметры должны передаваться в теле запроса в формате JSON. Список необходимых параметров для каждого ресурса представлен ниже.
Создание заказа.
Все параметры заказа передаются в теле запроса в JSON-формате.
servicerequiredс>
|
string
Уникальный код услуги |
optionsrequiredс>
|
object
Опции услуги Опции должны передаваться в виде объекта в формате ключ: значение. Для каждой услуги устанавливается свой набор необходимых опций, который указывается в информации об услуге. Параметры для каждой услуги можно посмотреть на странице Услуги. Пример:
|
coupon |
string
Промокод (если имеется) |
curl -X POST http://api.mnogo-golosov.ru/v1/orders
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer {TOKEN}"
-d '{
"service":"example-service-code",
"options": {
"amount": 100,
"link": "https://example.com",
"notes": "Сделайте как можно быстрее"
},
"coupon": "PROMO_TEST"
}'
201
Order
Возвращает JSON-объект типа Order. Схемы объектов представлены ниже в разделе Объекты ответов
{
"order_number": "123-456",
"total": 100.5
"status": "accepted"
}
401
- Неавторизованный запрос. Проверьте правильность заголовка Authorization.
404
- Услуга не найдена. Проверьте правильность указания кода услуги в поле "service".
422
- Ошибка валидации. Проверьте правильность формата передаваемых данных, их типов и наличия обязательных полей.
500
- Ошибка сервера. Обратитесь в техническую поддержку.
Информация о заказе.
order_number
- номер заказа.
curl -X GET http://api.mnogo-golosov.ru/v1/orders/123-456
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer {TOKEN}"
200
Order
Возвращает JSON-объект типа Order. Схемы объектов представлены ниже в разделе Объекты ответов
{
"order_number": "123-456",
"total": 100.5
"status": "accepted"
}
401
- Неавторизованный запрос. Проверьте правильность заголовка Authorization.
404
- Заказ не найден.
500
- Ошибка сервера. Обратитесь в техническую поддержку.
Получение всех доступных для заказа через API услуг.
curl -X GET http://api.mnogo-golosov.ru/v1/services
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer {TOKEN}"
200
Array <Service>
Возвращает JSON с массивом объектов типа Service. Схемы объектов представлены ниже в разделе Объекты ответов
[
{
"code": "example-service-code",
"title": "Название услуги",
"price": 0.9,
"options": [
{
"code": "link",
"type": "string",
"label": "Ссылка",
"description": "Укажите ссылку на страницу",
"description_2": "Ссылка должна быть в фомате https://example.test",
"help": "Помощь",
"constraints": [
{
"name": "Обязательное поле",
"value": "true"
}
]
},
{
"code": "amount",
"type": "number",
"label": "Количество",
"description": "Укажите количество",
"constraints": [
{
"name": "Обязательное поле",
"value": "true"
},
{
"name": "Минимальное значение",
"value": "50"
},
{
"name": "Максимальное значение значение",
"value": "1000"
},
{
"name": "Шаг",
"value": "5"
}
]
},
{
"code": "notes",
"type": "string",
"label": "Пожелания к заказу",
"description": "Укажите ссылку на страницу",
},
...
],
"discounts": [
"10% если количество больше 1000",
"20% если сумма больше 5000"
]
},
{
...
},
...
]
401
- Неавторизованный запрос. Проверьте правильность заголовка Authorization.
500
- Ошибка сервера. Обратитесь в техническую поддержку.
Информация об отдельной услуге.
code
- уникальный код услуги.
curl -X GET http://api.mnogo-golosov.ru/v1/services/example-service-code
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer {TOKEN}"
200
Service
Возвращает JSON-объект типа Service. Схемы объектов представлены ниже в разделе Объекты ответов
{
"code": "example-service-code",
"title": "Название услуги",
"price": 0.9,
"options": [
{
"code": "link",
"type": "string",
"label": "Ссылка",
"description": "Укажите ссылку на страницу",
"description_2": "Ссылка должна быть в фомате https://example.test",
"help": "Помощь",
"constraints": [
{
"name": "Обязательное поле",
"value": "true"
}
]
},
{
"code": "amount",
"type": "number",
"label": "Количество",
"description": "Укажите количество",
"constraints": [
{
"name": "Обязательное поле",
"value": "true"
},
{
"name": "Минимальное значение",
"value": "50"
},
{
"name": "Максимальное значение значение",
"value": "1000"
},
{
"name": "Шаг",
"value": "5"
}
]
},
{
"code": "notes",
"type": "string",
"label": "Пожелания к заказу",
"description": "Укажите ссылку на страницу",
},
...
],
"discounts": [
"10% если количество больше 1000",
"20% если сумма больше 5000"
]
}
401
- Неавторизованный запрос. Проверьте правильность заголовка Authorization.
404
- Услуга не найдена.
500
- Ошибка сервера. Обратитесь в техническую поддержку.
Информация о текущем балансе на вашем аккаунте.
curl -X GET http://api.mnogo-golosov.ru/v1/balance
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer {TOKEN}"
200
Balance
Возвращает JSON-объект типа Balance. Схемы объектов представлены ниже в разделе Объекты ответов
{
"balance": 1234.56
}
401
- Неавторизованный запрос. Проверьте правильность заголовка Authorization.
500
- Ошибка сервера. Обратитесь в техническую поддержку.
Информация о заказе.
order_numberrequiredс>
|
string
Номер заказа |
totalrequiredс>
|
number
Сумма заказа |
statusrequiredс>
|
string
Статус заказа Возможные значения:
Для уточнения информации по отдельному заказу обращайтесь в техническую поддержку на сайте. |
Информация об услуге.
coderequiredс>
|
string
Уникальный код услуги |
titlerequiredс>
|
string
Название услуги |
pricerequiredс>
|
number
Цена |
optionsrequiredс>
|
Array <Option>
Опции, необходимые для заказа услуги |
description |
string
Описание услуги |
discounts |
Array <string>
Описание скидок, доступных при заказе услуги |
Информация об опции конкретной услуги.
coderequiredс>
|
string
Код опции |
typerequiredс>
|
string
Тип значения Доступные типы:
При заказе вы должны передавать значения только в указанном формате. |
labelrequiredс>
|
string
Название опции |
choices |
string
Массив доступных значений. Каждое значение представляет собой объект с полями
Если указано это поле, то при заказе значения должны быть только из этого списка (поле
Пример:
Пример заказа услуги с такой опцией, если тип значения
Пример заказа услуги с такой опцией, если тип значения
|
description |
string
Описание опции |
description_2 |
string
Дополнительное описание опции |
help |
string
Дополнительная помощь |
Информация об ограничениях, установленных для опции конкретной услуги.
namerequiredс>
|
string
Название ограничения Возможные значения:
|
valuerequiredс>
|
string
Значение ограничения Пример:
Такое ограничение означает, что минимальное значение при заказе должно быть больше или равно 50. |
Информация о текущем балансе на вашем аккаунте.
balancerequiredс>
|
number
Баланс в рублях РФ. |