Часто задаваемые вопросы

Как выдать карты клиенту?

Для выдачи карты клиенту необходимо пройти 4 этапа:

выдачи карты клиенту по номеру телефона:
отправить POST запрос на Registration/Phone, после чего будет получена структура данных PhoneOTPVM
отправить POST запрос на Core/OTPConfirm с данными полученными ранее (PhoneOTPVM) и заполненным полем "Code" соответствующему ОТП коду пришедшему в сообщении клиенту
отправить POST запрос на Registration/Person, после чего будут получены анкетные клиент (если наша система уже узнает клиента)
отправить POST запрос с заполненной/дозаполненной анкетой клиента на Registration/Person/Confirm
выдачи карты клиенту по номеру карты:
отправить POST запрос на Registration/Card, после чего будет получена структура данных PhoneOTPVM
отправить POST запрос на Core/OTPConfirm с данными полученными ранее (PhoneOTPVM) и заполненным полем "Code" соответствующему ОТП коду пришедшему в сообщении клиенту
отправить POST запрос на Registration/Person, после чего будут получены анкетные клиент (если наша система уже узнает клиента)
отправить POST запрос с заполненной/дозаполненной анкетой клиента на Registration/Person/Confirm
Как делать запрос к API по учетной записи кассира?

Для персонализации запросов по учетной записи кассира необходимо:

  • получить Access Token отправив POST запрос на Token
  • при каждом обращение к ресурсам API передавать Access Token кассира в Header. Пример: Authorization: Bearer *Access Token*
Можно ли обойтись одной учетной записью на все торговые точки?

ВНИМАНИЕ! Изначальное разделения кассовых мест позволяет получать более детальные отчёты и информацию по операциям.

Да, можно обойтись одной учетной записью для всей торговой сети.

Что такое Access Token и Refresh Token и как часто нужно их обновлять?

API Maxicard использует протокол авторизации OAuth 2.0. Более подробней ознакомится можно тут.

Access Token - некий маркер доступа, предъявление которого является пропуском к защищенным ресурсам API. Каждое обращение к ресурсам API сопровождается передачей Access Token в Header.
Пример: Authorization: Bearer *Access Token*
Access Token - используется как основной и кратковременный токен доступа к API Maxicard. Его время жизни равняется 24 часам с момента получения.

Refresh Token - некий маркер доступа, который при запросе новой пары токенов формирует новую структуру данных TokenVM. Refresh Token - используется как токен для получения новой структуры данных TokenVM без использования логина и пароля учетной записи. Его время жизни равняется 120 часам с момента получения.

Как осуществить транзакцию на начисления/трату бонусов клиента?

Транзакция с тратой бонусов (частичной, полной) осуществляется в 3 этапа:

отправить POST запрос на Transaction/New, после чего будет получена структура данных PhoneOTPVM
отправить POST запрос на Core/OTPConfirm с данными полученными ранее (PhoneOTPVM) и заполненным полем "Code" соответствующему ОТП коду пришедшему в сообщении клиенту
отправить POST запрос на Transaction/Confirmation?OTPId={OTPId}, где поле "OTPId" соответствует полю "Id" из ранее полученной структуры данных (PhoneOTPVM), после чего в ответ придёт рассчитанный MAXI-чек подтверждающий операцию

Транзакция без траты бонусов (частичной, полной) осуществляется в 1 этапа:

  • отправить POST запрос на Transaction/New, после чего в ответ придёт рассчитанный MAXI-чек подтверждающий операцию
Как осуществить транзакцию пополнения/сдачи на бонусный счет клиента?

Необходимо отправить POST запрос на Transaction/New, после чего в ответ придёт рассчитанный MAXI-чек подтверждающий операцию.

Какие транзакции необходимо подтверждать ОТП кодом?

ОТП код выступает в роли цифрового подтверждения клиента об фин. операциях с его MAXI-кошельком.

Следующий список фин. операций осуществляются с использованиям ОТП кода:

  • транзакция с тратой бонусов (частичной, полной)
  • возврат транзакции*
* исключениям является учетная запись с ролью "контроллер"
Как произвести транзакцию с указанным перечнем товаров, но определенные товары не должны начислять бонусы?

При формировании POST запрос на Transaction/New со структурой данных TransactionVM необходимо в каждом товаре, который не должен начислять бонусы, передать параметр SpecialCode = "SCODE=ZERO"*.

* данный параметр работает как при транзакции без траты бонусов, так и при транзакции с тратой бонусов.
Как получить список транзакций кассиров всей торговой сети?

Для получения списка транзакций необходимо отправить POST запрос на Transaction/HistoryByCashier?GetRefunds={GetRefunds}.

Данный функционал доступен лишь для учетных записей, которые имеют соответствующее разрешения в виде роли "контроллер".

Как осуществить возврат/аннулирования транзакции?

Полный возврат транзакции (без явного указания товаров, если таковые были переданы в систему MAXI) осуществляется в 3 этапа:

отправить POST запрос на Transaction/Refund?Id={Id}, после чего будет получена структура данных PhoneOTPVM*
отправить POST запрос на Core/OTPConfirm с данными полученными ранее (PhoneOTPVM) и заполненным полем "Code" соответствующему ОТП коду пришедшему в сообщении клиенту
отправить POST запрос на Transaction/Confirmation?OTPId={OTPId}, где поле "OTPId" соответствует полю "Id" из ранее полученной структуры данных (PhoneOTPVM), после чего в ответ придёт рассчитанный MAXI-чек подтверждающий операцию

Частичный возврат транзакции (с явный указаниям товаров, если таковые были переданы в систему MAXI) осуществляется в 3 этапа:

отправить POST запрос на Transaction/Refund, после чего будет получена структура данных PhoneOTPVM*
отправить POST запрос на Core/OTPConfirm с данными полученными ранее (PhoneOTPVM) и заполненным полем "Code" соответствующему ОТП коду пришедшему в сообщении клиенту
отправить POST запрос на Transaction/Confirmation?OTPId={OTPId}, где поле "OTPId" соответствует полю "Id" из ранее полученной структуры данных (PhoneOTPVM), после чего в ответ придёт рассчитанный MAXI-чек подтверждающий операцию

* в случае когда учетная запись с ролью "контроллер" подтверждения данной операции через ОТП код не нужен, в ответ вернется структура данных TransactionRefundResultVM (рассчитанный MAXI-чек подтверждающий операцию)

Как получить информацию о клиенте по введенному номеру карты/телефона?

Для получения информации по клиенту необходимо отправить POST запрос на Client/Info.

Как изменить MAXI-ключ клиента?

Для изменения MAXI-ключа клиента на всех его картах необходимо отправить POST запрос на Client/ChangePin.

Как изменить анкету клиента?

Для изменения анкеты клиента сначала необходимо отправить GET запрос на Client/Info с целью получения текущих анкетных данных.

Далее необходимо изменить полученные данные и изменения отправить POST запросом на Client/ChangeInfo.

Как валидировать ОТП код?

Для валидации ОТП кода необходимо отправить POST запрос на Core/OTPConfirm.

Не нашел ответ на свой вопрос?

Необходимо кратко и по сути сформулировать свой вопрос и отправить его по эл. почте sergei.kharlum@maxicard.ua.

POST
/Client/ChangeInfo
[RU] Метод для изменения информации о клиенте.

Інформація по запиту

Параметри тіла запиту [RU] Данные клиента.
Формат запиту
{
  "Phone": "sample string 2",
  "HasChildren": true,
  "HasCar": true,
  "Surname": "sample string 5",
  "FirstName": "sample string 6",
  "MiddleName": "sample string 7",
  "DateBirth": "2018-08-15T04:39:56.9858223+03:00",
  "Sex": 1
}

Інформація по відповіді

Короткий опис можливих відповідей

Опис ресурсів

Модель: ResponseErrorVM [RU] Глобальная модель ошибки.