Place Info API

M
M
Last updated 3 months ago

CardsMobile Check-In Service

post
Синхронизация списка точек обслуживания

/sync
Обновление списка точек обслуживания, поддерживающих чек-ин мобильных карт лояльности.
Request
Response
Headers
offerId
required
string
Идентификатор программы лояльности партнера в системе CardsMobile
Body Parameters
places
required
array
Список точек обслуживания
200: OK
В ответе хост CardsMobile вернет идентификатор сессии синхронизации:
{
"sessionId": "string"
}
422: Unprocessable Entity

Структура тела запроса:

{
"places": [ // список точек обслуживания, поддерживающих check-in service
{
"itemId": "string", // идентификатор точки обслуживания в информационной системе партнера
"placeInfo": { // информация о точке обслуживания
"name": "string", // название точки обслуживания
"address": "string", // адрес точки обслуживания
"phones": [ // телефон(ы) точки обслуживания
{
"type": "string",
"number": "string"
}
],
"schedule": "string", // режим работы
"metroStations": [ // ближайшие станции метро
"string"
],
"type": "string", // тип точки обслуживания
"geoPoint": { // координаты точки обслуживания
"lat": 0, // географическая широта
"lng": 0 // географическая долгота
}
}
}
]
}

Об объекте "placeInfo":

  • Все поля являются необязательными, при условии обязательной передачи address или geoPoint. В первом случае хост CardsMobile при обработке определит координаты по адресу, во втором — адрес по координатам.

  • Где применимо, текстовые данные должны передаваться на русском языке в кодировке UTF-8.

Параметры ответа

Хост CardsMobile в ответе вернет партнеру идентификатор сессии синхронизацииsessionId — означает, что обработка списка началась.

get
Запрос статуса обработки списка

/sync/{sessionId}
Используя идентификатор sessionId, хост партнера опрашивает хост CardsMobile о текущем статусе обработки списка точек обслуживания.
Request
Response
Path Parameters
sessionId
required
string
Идентификатор сессии синхронизации точек обслуживания
Headers
offerId
required
string
Идентификатор программы лояльности партнера в системе CardsMobile
200: OK
В ответе хост CardsMobile вернет текущий статус обработки списка:
{
"sessionId": "string", // идентификатор сессии синхронизации
"status": "FINISHED", // статус обработки: "PROCESSING" или "FINISHED"
"errors": [ // по окончании обработки, здесь будут перечислены позиции, содержащие ошибки
{
"place": {
"itemId": "string",
"placeInfo": {
"name": "string",
"address": "string",
"phones": [
{
"type": "string",
"number": "string"
}
],
"schedule": "string",
"metroStations": [
"string"
],
"type": "string",
"geoPoint": {
"lat": 0,
"lng": 0
}
}
},
"description": "string" // описание ошибки
}
]
}
422: Unprocessable Entity

С какой периодичность проверять статус обработки?

Окончанию обработки соответствует статус "FINISHED". В среднем, обработка списка занимает около минуты, однако в конечном счете длительность обработки зависит от объема списка и количества изменений.

О позициях, содержащих ошибки:

В финальном ответе ("status": "FINISHED") все обнаруженные ошибки обработки, в случае их наличия, будут переданы в массиве "errors". Данные о точке обслуживания, содержащие ошибки, отбраковываются сервисом CardsMobile — в этом случае партнер должен считать, что данные точки не были добавлены/обновлены, и должен прислать корректные данные при очередной синхронизации.