Имеется возможность произвести интеграцию системы Mobium с личным кабинетом клиента, если такой имеется на сервере пользователя.
Методы:
- Получение списка полей для регистрации
- Регистрация
- Авторизация
- Верификация
- Повторное получение данных (смс, e-mail) для верификации
- Обновление ключа авторизации
- Выход
- Получение списка полей для восстановления пароля
- Восстановление пароля
- Получение сведений о профиле пользователя
- Изменение полей
- Получение списка заказов
Получение списка полей для регистрации
Осуществляется перед отображением экрана регистрации.
Пример запроса списка полей для регистрации
GET {regFields_url}
Данный запрос не может провалиться и возвращает JSON-объект следующего формата:
Пример ответа на запрос списка полей
{
"status":"ok",
"data":{
"fields":[
{
"id":"name",
"type":"text",
"title":"ФИО",
"required":true,
"need_verification":false
},
{
"id":"email",
"type":"email",
"title":"Электронная почта",
"required":true,
"need_verification":false
},
{
"id":"phone",
"type":"phone",
"title":"Телефон",
"required":true,
"need_verification":true,
"time":120,
"text":"информационный текст",
"editable":true,
"code_input_type":"number"
},
{
"id":"password",
"type":"password",
"title":"Пароль",
"required":true,
"need_verification":false
}
]
}
}
Название | Описание | |
---|---|---|
fields |
Массив, каждый объект которого описывает поле, доступное к заполнению при регистрации | |
id | Уникальный идентификатор поля | |
type |
Тип поля:
|
|
title | Заголовок поля | |
required | Обязательно ли данное поле к заполнению | |
need_verification | Нужна ли верификация поля | |
time | Время для обратного отсчета в секундах для перезапроса кода | |
text | Текст для экрана верификации. Если текст отсутствует, будет задан текст по умолчанию. | |
editable | Изменяемое ли поле | |
code_input_type | Тип поля для ввода кода, аналогичен type |
Регистрация
Пример запроса регистрации
POST {registration_url}
{ "appId":"appId", "platform":"platform", "locale":"locale", "field1":"value1", "field2":"value2", "field3":"value3",
"pushToken": "fahjkaslkh123hkjsdalkl",
"regionId": "spb",
"savedPhone": "+78885533",
"savedEmail": "example@example.com"
}
Название
|
Описание
|
---|---|
appId | Уникальный идентификатор приложения пользователя |
platform |
Идентификатор платформы,ios/android |
locale | ISO (ru_RU,en_US,...) |
pushToken | Токен для push-уведомлений |
regionId | Идентификатор региона, выбранного пользователем |
savedPhone | Телефон, заполненный при оформлении заказа |
savedEmail | Электронная почта, заполненная при оформлении заказа |
field1, field2 ... |
Значения полей, присланных для регистрации |
В случае удачной регистрации происходит автоматически авторизация и возвращаемое значение аналогично оному при авторизации.
В случае неудачной регистрации возвращается следующий JSON-блок:
Пример ответа на неудавшийся запрос регистрации
{ "status" : "error", "data" : { "errors" : [ { "fieldId" : "id поля, в котором произошла ошибка", "errorMessage" : "текстовое описание ошибки" }, { "fieldId" : "id другого поля, в котором произошла ошибка", "errorMessage" : "текстовое описание этой ошибки" } ] } }
Название | Описание | |
errors | field_id | Идентификатор поля |
errorMessage | Текст ошибки |
Пример ответа на неудавшийся запрос
{
"status" : "auth_error"
}
Пример ответа при необходимости верификации
{
"status":"verification"
}
Название | Описание | |
status |
|
Авторизация
Пример запроса на авторизацию по логину и паролю
POST {auth_url} { "login":"login", "password":"password", "appId":"appId", "platform":"ios", "locale":"ru_RU",
"pushToken": "fahjkaslkh123hkjsdalkl",
"regionId": "spb",
"savedPhone": "+78885533",
"savedEmail": "example@example.com" }
Пример запроса на авторизацию через соц. сети
POST {auth_url}
{
"accessToken":"dvdxfbdfb",
"type":"vkontakte",
"internal_id":"id",
"appId":"appId",
"platform":"ios",
"locale":"ru_RU",
"pushToken":"fahjkaslkh123hkjsdalkl",
"regionId":"spb",
"savedPhone":"+78885533",
"savedEmail":"example@example.com"
}
Название
|
Описание
|
---|---|
login | Логин пользователя |
password | Пароль пользователя |
appId | Уникальный идентификатор приложения пользователя |
platform |
Идентификатор платформы,ios/android |
locale | ISO (ru_RU,en_US,...) |
pushToken | Токен для push-уведомлений |
regionId | Идентификатор региона, выбранного пользователем |
savedPhone | Телефон, заполненный при оформлении заказа |
savedEmail | Электронная почта, заполненная при оформлении заказа |
accessToken | Ключ авторизации, полученный от соц сети |
type |
Название социальной сети:
|
internal_id | Идентификатор пользователя, полученный соц от сети (может не быть) |
Ответом на запрос в случае успешной авторизации является JSON-объект следующего формата:
Пример ответа
{ "status" : "ok", "data" : { "accessToken" : "ключ, используемый для доступа к методам API" } }
В случае провалившейся авторизации возвращается JSON-объект следующего формата:
Пример ответа на неудавшийся запрос
{ "status" : "error", "data" : { "errorMessage" : "Текстовое описание произошедшей ошибки" } }
Название | Описание | |
status |
|
Верификация
Пример запроса верификации
POST {verification_url}
{
"appId":"appId",
"code":"value",
"field_id":"идентификатор поля",
"value":"значение поля"
}
Название | Описание |
appId | Уникальный идентификатор приложения пользователя |
code | Значение кода |
field_id | Идентификатор поля |
value | Новое значение поля |
Пример ответа
{
"status":"ok",
"data":{
"accessToken":"ключ, используемый для доступа к методам API"
}
}
Пример ответа на неудавшийся запрос
{ "status" : "error", "data" : { "errorMessage" : "Текстовое описание произошедшей ошибки" } }
Название | Описание |
status |
|
Повторное получение данных (смс, e-mail) для верификации
Получает новое смс (письмо) с кодом для верификации учётной записи.
Пример запроса повторного получения данных
POST {verification_repeat_url}
{
"appId":"appId",
"field_id":"идентификатор верифицируемого поля",
"value":"значение поля"
}
Название | Описание |
appId | Уникальный идентификатор приложения пользователя |
field_id | Идентификатор поля |
value | Новое значение поля |
Возвращается объект следующего формата:
Пример ответа
{ "status" : "ok" }
Пример ответа на неудавшийся запрос
{ "status" : "error", "data" : { "errorMessage" : "Текстовое описание произошедшей ошибки" } }
Название | Описание |
status |
|
Обновление ключа авторизации
Отправляет новый ключ авторизации, при получении такого от соц сети.
Пример запроса повторного получения данных
POST {verification_repeat_url}
Authorization: accessToken
{
"accessToken":"новый ключ авторизации",
"type":"facebook",
"internal_id":"49539579"
}
Название
|
Описание
|
---|---|
accessToken | Ключ авторизации, полученный от соц сети |
type |
Название социальной сети:
|
internal_id | Идентификатор пользователя, полученный соц от сети (может не быть) |
Возвращается объект следующего формата:
Пример ответа
{ "status" : "ok" }
Название | Описание |
status |
|
Выход
Происходит для уничтожения accessToken и отвязки устройства от учётной записи.
Пример запроса выхода
DELETE {auth_url(MUST MATSH WITH POST METHOD)}
Authorization: accessToken
Получение списка полей для восстановления пароля
Осуществляется перед отображением экрана восстановления пароля.
Пример запроса списка полей для регистрации
Данный запрос не может провалиться и возвращает JSON-объект следующего формата:
Пример ответа на запрос списка полей
{ "status" : "ok", "data" : { "fields" : [ { "id" : "name", "type" : "text", "title" : "ФИО" }, { "id" : "email", "type" : "email", "title" : "Электронная почта" } ] } }
Название | Описание | |
status |
|
|
fields | Массив, каждый объект которого описывает поле, доступное к заполнению при восстановлении пароля | |
id | Уникальный идентификатор поля | |
type |
Тип поля:
|
|
title | Заголовок поля |
Восстановление пароля
Пример запроса восстановления пароля
POST {registration_url}
{ "appId":"appId", "platform":"platform", "locale":"locale", "field1":"value1", "field2":"value2", "field3":"value3",
"pushToken": "fahjkaslkh123hkjsdalkl",
"regionId": "spb"
}
Название
|
Описание
|
---|---|
appId | Уникальный идентификатор приложения пользователя |
platform |
Идентификатор платформы,ios/android |
locale | ISO (ru_RU,en_US,...) |
pushToken | Токен для push-уведомлений |
regionId | Идентификатор региона, выбранного пользователем |
field1, field2 ... |
Значения полей, присланных для восстановления пароля |
В случае удачного восстановления пароля выводится сообщение из ответа.
Пример ответа на удавшийся запрос восстановления пароля
{
"status": "ok",
"data": {
"message": "Письмо отправлено Вам на email! или другое сообщение для пользователя"
}
}
В случае не удачного восстановления пароля выводится сообщение из ответа.
Пример ответа на неудавшийся запрос восстановления пароля
{ "status" : "error", "data" : { "errors" : [ { "fieldId" : "id поля, в котором произошла ошибка", "errorMessage" : "текстовое описание ошибки" }, { "fieldId" : "id другого поля, в котором произошла ошибка", "errorMessage" : "текстовое описание этой ошибки" } ] } }
Название | Описание | |
status |
|
|
errors | field_id | Идентификатор поля |
errorMessage | Текст ошибки |
Получение сведений о профиле пользователя
Получает информацию о пользователе.
Пример запроса получения сведений о профиле
GET {profile_url}
Authorization: accessToken
Возвращает блок следующего формата:
Пример ответа на запрос профиля
{
"status":"ok",
"data":{
"name":"имя пользователя",
"email":"адрес электронной почты пользователя",
"phone":"номер телефона пользователя",
"bonus":{
"amount":300.0,
"available_proportion":0.2
}
}
}
Другой вариант ответа (кастомизируемый личный кабинет)
{
"status":"ok",
"data":{
"fields":[
{
"cabinet_field_type":"name_field",
"editable":true,
"id":"идентификатор поля",
"value":"значение",
"image":"https"
},
{
"cabinet_field_type":"image_action_field",
"action":{
"type":"openUrl",
"param":"https"
},
"image":"https"
},
{
"cabinet_field_type":"title_text_field",
"time":2,
"text":"информационный текст для окна верификации",
"editable":true,
"id":"идентификатор поля",
"title":"заголовок",
"value":"текущее значение",
"need_verification":true,
"verified":false,
"type":"тип клавиатуры для редактирования поля",
"code_input_type":"тип клавиатуры для кода верификации"
},
{
"cabinet_field_type":"text_field",
"value":"текст"
},
{
"cabinet_field_type":"action_field",
"action":{
"type":"openUrl",
"param":"https"
},
"value":"текст",
"image":"https"
},
{
"cabinet_field_type":"bonus_field",
"title":"заголовок",
"value":"количество бонусов"
},
{
"cabinet_field_type":"barcode_field",
"image":"https"
}
],
"bonus":{
"amount":300.0,
"available_proportion":0.2
},
"discount":{
"value":0.14
}
}
}
Название | Описание | |
fields | Массив полей отображаемых на странице личного кабинета. | |
cabinet_field_type |
Тип поля. Поля будут отображены в переданном порядке.
|
|
time | Время для обратного отсчета в секундах (Необходимо, если поле может быть верифицировано). | |
text | Текст для экрана верификации (Необходимо, если поле может быть верифицировано). | |
editable | Изменяемое ли поле. | |
id | Идентификатор поля. | |
title | Название поля (используется как заголовок). | |
value | Текущее значение поля. | |
need_verification | Нужна ли верификация. Если значение false, следующий флаг не учитывается, но должен быть передан как false. | |
verified | Верифицировано ли поле. | |
size | Размер поля с типом separator | |
image | Картинка для поля (опционально) | |
type |
Тип поля:
|
|
cabinet_field_type | Тип поля для ввода кода, аналогичен type |
Объект bonus:
- amount - количество доступных пользователю бонусов, число с точкой
- available_proportion - какую часть заказа можно погасить баллами, число с плавающей точкой (20% - 0.2). Если отсутствует, то считается 1.0 (100%)
Объект discount
- value - величина скидки
При наличии бонусов, при заказе появляется поле, позволяющее оплатить часть заказа бонусами.
Объект Action:
- type - тип действия
- param - параметр для действия
Типы действия
ID | Описание | Описание параметра | Параметр |
openCategory | Открыть категорию | ID категории | "id1572" |
openCatalog | Открыть каталог | - | - |
openProduct | Открыть товар | ID товара | "id1572" |
openSearch | Открыть поиск с запросом | Текст запроса | "Футболки" |
openUrl | Открыть url в приложении | URL | "https://google.com" |
openUrlExternal | Открыть url в браузере | URL | "https://google.com" |
doCall | Звонок на указанный номер | Номер телефона | "8 (800) 707-52-57" |
openCart | Открыть корзину | - | - |
openMainScreen | Открыть главный экран | - | - |
openShops | Открыть адреса магазинов | - | - |
openHistory | Открыть историю заказов | - | - |
openArticles | Открыть новости | - | - |
openFavourites | Открыть избранное | - | - |
openForm | Открыть форму обратной связи | - | - |
openGallery | Открыть галерею | - | - |
openProfile | Открыть личный кабинет | - | - |
openContent | Открыть html файл | - | - |
openMenu | Открыть меню | - | - |
Изменение полей
Изменяет поля, которые помечены флагом editable.
Пример запроса на изменение поля
POST {verification_change_url}
Authorization: accessToken
{
"fields":[
{
"field_id":"идентификатор поля",
"value":"значение поля"
},
{
"field_id":"идентификатор поля",
"value":"значение поля"
}
]
}
Название | Описание |
field_id | Идентификатор поля |
value | Новое значение поля |
Пример ответа
{
"status":"ok"
}
Пример ответа на неудавшийся запрос
{ "status" : "error", "data" : { "errorMessage" : "Текстовое описание произошедшей ошибки" } }
Название | Описание |
status |
|
Получение списка заказов
Получает список идентификаторов заказов, связанных с данной учётной записью.
Пример запроса получения списка заказов
GET {order_list_url}
Authorization: accessToken
Возвращается объект следующего формата:
Пример списка заказов
{
"status":"ok",
"data":{
"orders":[
{
"id":"35454135",
"status":"оплачен",
"total":1590,
"deliveryType":"самовывоз",
"created_at":"20 марта 2018",
"contact":{
"fildName1":"fieldValue1",
"fildName2":"fieldValue2"
},
"payment":{
"title":"Наличные",
"total_cost":2500,
"delivery_cost":500,
"status":"Оплачено"
},
"bonuses_used":0,
"delivery":{
"type":"самовывоз"
},
"items":[
{
"id":"546543",
"count":5,
"price":582
}
]
}
]
}
}
Order (заказ):
Название | Описание |
id | уникальный идентификатор заказа |
status | статус заказа |
total | суммарная стоимость заказа |
deliveryType | тип доставки (старый вариант) |
created_at | дата создания заказа |
contact |
Контактная информация. Например: { |
payment |
информация об оплате |
bonuses_used |
количество использованных баллов |
delivery.type |
информация о доставке |
Payment (информация об оплате):
Название | Описание |
title | название оплаты |
total_cost | полная сумма заказа |
delivery_cost | сумма доставки |
status | статус оплаты |
Items (единица заказа):
Название | Описание |
id | уникальный идентификатор товара |
count | количество товаров данного типа в заказе |
price | цена на момент заказа |
Комментарии
0 комментариев
Статья закрыта для комментариев.