Передача заказов по API
Общая информация
При конфигурации приложения настройщик проекта указывает URL, на который POST-запросом будет приходить от системы информация о заказе, оформленном в приложении.
Тело POST-запроса представляет из себя JSON-объект следующего формата:
Пример блока сведений о заказе:
{
"version": "1.4.1",
"method": "neworder",
"platform": "ios",
"appId": 749356,
"user": "mobium",
"data": {
},
"region_data": {
"id": "SPB",
"title": "Санкт-Петербург",
"google_place_id": "ChIJ7WVKx4w3lkYR_46Eqz9nx20",
"coordinates": {
"lon": 30.3350986,
"lat": 59.9342802
}
},
"access_token": null
}
Поле | Описание |
---|---|
version | Версия приложения |
method | Тип запроса системы |
platform | Платформа приложения, с которого был выполнен заказ(android/ios) |
appId | Идентификатор приложения, с которого был выполнен заказ |
data | Сведения о заказе |
user | mobium |
access_token | Токен пользователя, если он зашел в личный кабинет |
region_data | Информация о выбранном регионе |
Поля корневого объекта имеет значение обрабатывать лишь при расширении функционала связи между системой и клиентом.
Сопроводительные сведения
Блок order_info
, вложенный в блок data
, представляет из себя совокупность полей — имя, телефон, адрес электронной почты и комментарий — и полей, определяемых при выгрузке способов доставки для данного типа доставки, указанного в поле deliveryType
.
"order_info": {
"name": "Аноним",
"phone": "+79044153612",
"email": "admin@mobiumapps.com",
"comments": "Приложением доволен, хорошо сделали",
"regionId": "spb",
"bonuses_used": 0
}
Поле | Описание |
---|---|
name | Имя пользователя |
phone | Телефон пользователя |
Адрес электронной почты пользователя | |
comments | Комментарии к заказу |
regionId | Если произведена конфигурация регионов, то в этом поле передаётся идентификатор того из них, в котором находится пользователь |
bonuses_used | Сколько использовано бонусов, при оплате заказа. Для оплаты бонусами надо настроить личный кабинет. |
Формулировка заказа
Основной частью сведений о заказе является список предложений, которыми пользователь решил воспользоваться. Данный блок представляет из себя массив идентификаторов предложений с сопутствующими сведениями о количестве единиц каждого из них.
Пример блока
items
"items": [
{
"id": "15",
"count": 1
},
{
"id": "332",
"count": 3
}
]
Поле | Описание |
---|---|
id | Уникальный идентификатор предложения, предоставленный клиентом в выгрузке |
count | Количество заказываемых единиц данного предложения |
Сведения об оплате
При оформлении заказа также передаются сведения о том, каким способом пользователь решил оплатить покупку. Сведения об этом передаются в поле payment
.
"payment": {
"type": "cash",
"transactionId": null,
"id": "5a43a9d8c7c5f",
"title": "Наличными"
}
Поле | Описание |
---|---|
type | тип оплаты |
transactionId | номер транзакции, если есть |
title | Название оплаты |
id | Идентификатор оплаты |
Удачный приём заказа
{
"status": 0,
"data": {
"order_id": "34",
"link": "https://.."
}
}
Поле | Описание |
---|---|
status | Статус оформления заказа |
data | Информация о заказе |
data.order_id | Идентификатор заказа |
data.link | Ссылка на страницу оплаты, откроется в WebView |
Ошибка при приёме заказа
{
"status" : 1,
"message" : "Критическая ошибка #59"
}
Поле | Описание |
---|---|
status | Статус оформления заказа(не равен 0) |
message | Текст ошибки |
Пример запроса
{
"version": "1.4.1",
"method": "neworder",
"platform": "ios",
"appId": 749356,
"user": "mobium",
"data": {
"deliveryCost": 0,
"deliveryType": "Самовывоз",
"deliveryData": [
{
"title": "Дом",
"value": "1"
},
{
"title": "Квартира",
"value": "14"
}
],
"items": [
{
"id": "1",
"count": 1
}
],
"fake": 0,
"order_info": {
"name": "",
"phone": "999 999-99-99",
"email": "",
"comments": "",
"regionId": "SPB",
"payment_type": {
"type": "cash",
"id": "5a43a9d8c7c5f",
"title": "Наличными"
},
"bonuses_used": 0
},
"payment": {
"type": "cash",
"transactionId": null,
"id": "5a43a9d8c7c5f",
"title": "Наличными"
}
},
"region_data": {
"id": "SPB",
"title": "Санкт-Петербург",
"google_place_id": "ChIJ7WVKx4w3lkYR_46Eqz9nx20",
"coordinates": {
"lon": 30.3350986,
"lat": 59.9342802
}
},
"access_token": null
}
Поле | Описание |
---|---|
version | Версия приложения |
method | Тип запроса системы |
platform | Платформа приложения, с которого был выполнен заказ(android/ios) |
appId | Идентификатор приложения, с которого был выполнен заказ |
data | Сведения о заказе |
user | mobium |
access_token | Токен пользователя, если он зашел в личный кабинет |
region_data | Информация о выбранном регионе |
name | Имя пользователя |
phone | Телефон пользователя |
Адрес электронной почты пользователя | |
comments | Комментарии к заказу |
regionId | Если произведена конфигурация регионов, то в этом поле передаётся идентификатор того из них, в котором находится пользователь |
bonuses_used | Сколько использовано бонусов, при оплате заказа. Для оплаты бонусами надо настроить личный кабинет. |
name | Имя пользователя |
phone | Телефон пользователя |
Адрес электронной почты пользователя | |
comments | Комментарии к заказу |
regionId | Если произведена конфигурация регионов, то в этом поле передаётся идентификатор того из них, в котором находится пользователь |
bonuses_used | Сколько использовано бонусов, при оплате заказа. Для оплаты бонусами надо настроить личный кабинет. |
type | тип оплаты |
transactionId | номер транзакции, если есть |
title | Название оплаты |
id | Идентификатор оплаты |
id | Уникальный идентификатор предложения, предоставленный клиентом в выгрузке |
count | Количество заказываемых единиц данного предложения |