API для взаимодействия с платформой MCRM
Правила работы с API
Данное API предназначено для взаимодействия с системой со стороны интеграционных модулей, серверной части сайта, интернет-магазина либо из мобильного приложения.
URL для запросов: https://you_server.marketingcrm.online/api/v3
Основные принципы
- Все запросы передаются по HTTPS в кодировке UTF-8
- Все ответы приходят в формате JSON
- В любом ответе присутствуют данные:
- status – принимает значение «success» или «error»
- code – HTTP код ответа
- error_message – если статус запроса «error», то тут содержится текстовое описание ошибки. Если статус «success», то сообщение будет пустым.
- Формат даты «гггг-мм-дд», а даты и времени «гггг-мм-дд чч:мм:сс»
- Все суммы передаются в копейках
- POST запросы могут отправляться тремя способами:
- Передать параметры в теле запроса в формате JSON (рекомендуется)
- В формате application/x-www-form-urlencoded. При этом вложенные структуры (типа структуры чека) передаются в виде JSON строки.
- В формате application/form-data. При этом вложенные структуры (типа структуры чека) передаются в виде JSON строки.
Работа с метаданными
Вся работа с метаданными описана в документации, но не реализована. Переданные данные будут проигнорированы, методы раздела /metadata недоступны, и будут отвечать кодом 404.
Разделы API
/cash
В этом разделе собраны методы, с помощью которых можно проводить кассовые операции, а так же операции с балансом пользователя.
/transaction
В этом разделе находятся методы, отвечающие за работу с уже сформированными транзакциями. Можно получить список транзакций, выполнить частичный или полный откат.
/user
Работа с пользователями. Получить анкету пользователя дла демонстрации кассиру, зарегистрировать нового, изменить анкету и т.п.
/community
Коммуникации с пользователями. Отправка сообщений, проверочных кодов, СМС и т.п.
/reservation
Управление бронированиями
/reference
Справочные данные. Во многих местах в API используются внутренние идентификаторы MCRM. Эти методы позволяют получить списки таких идентификаторов с расшифровкой.
/metadata
Работа с метаданными
Авторизация
Авторизация производится с помощью API-ключа, который передается в GET параметре apiKey:
https://you_server.marketingcrm.online/api/v3/reference/account?api_key=user_api_key
Также API-ключ можно передавать через заголовок по ключу x-api-key
Адрес сервера you_server и ключ API можно получить у администратора MCRM.
Аналитические возможности MCRM
MCRM обладает богатыми возможностями по аналитике поведения пользователей на сайте. Чтобы использовать эти возможности нужно выполнить следующие действия
1. Установить на сайт счётчикMCRMРазмещаете на сайте код:
<script src="https://you_server.marketingcrm.online/frame/metric" type="text/javascript"></script>
<script type="text/javascript">
getregKey('mcrm_js_key');
</script>
Значения you_server и mcrm_js_key вы сможете получить в поддержке MCRM.
2. Во все запросы в разделе /user добавлять в запрос параметр sid. Передать можно как параметр URL, так и в POSTЭтот параметр не является обязательным, все методы будут работать без него.
В sid передаётся идентификатор сессии пользователя. Значение для sid нужно взять из coockie. Имя параметра mcrm_sid.
Использовать аналитику MCRM в мобильных приложениях невозможно. Аналитика работает только на сайтах.
Авторизация пользователя
Для вызова большинства методов /user необходимо добавлять в запрос индивидуальный ключ пользователя (token). Этот ключ можно получить в результате авторизации.
Авторизация пользователя доступна двумя способами:
- С помощью логина и пароля (/user/auth)
- Только по логину, без пароля (/user/openauth)
Выбор способа авторизации зависит от того, кто будет управлять пользователями – сайт или MCRM. Выбирайте авторизацию без пароля, если:
- Вы самостоятельно ведёте базу пользователей, дублируя новые регистрации в MCRM;
- У вас есть собственная авторизация и собственный личный кабинет на сайте, от которых вы не планируете отказываться;
- Вы самостоятельно делаете восстановление пароля пользователям.
Для остальных случаев, в том числе для новых сайтов, используйте авторизацию по паролю.
/cash
Кассовые операции
Предварительный чек. Позволяет узнать, сколько бонусов будет начислено в результате оплаты чека, а так же какой баланс будет после оплаты чека. По структуре этот запрос аналогичен /cash/order, но является информационным, и не приводит ни к каким действиям.
post /cash/preorder
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиента
- order_sum: required(integer)
Общая сумма заказа в копейках
- order_pay_bonus: required(integer)
Сумма, оплаченная бонусами в копейках
- order_pay_money: required(integer)
Сумма, которая фактически попала в кассу, в копейках
- struct: (array of OrderLib.Position)
Товарные позиции в чеке
Items: Position
- cat_name: (string)
Название категории товара.
- cat_code: (string)
Идентификатор категории во внешней системе. Если идентификатора нет, дублируйте название.
- name: required(string)
Название товара.
- price: required(integer)
Цена товара за единицу в копейках.
- count: required(number)
Количество товаров.
- article: required(string)
Артикул, либо внешний идентификатор товара. Используется при частичной отмене товаров из чека.
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- coefficient: (number)
Внешний коэффициент. Если указан, то сумма бонусов будет умножена на этот коэффициент.
Example:
{ "cat_name": "Безалкогольные напитки", "cat_code": "Безалкогольные напитки", "name": "Молочный коктейль Ванильный", "price": 15000, "article": "123", "count": 2, "metadata": [ { "name": "position_type", "value": "concert" } ] }
- cat_name: (string)
- promo: (number)
Промокод для заказа
- discount: (number)
Сумма скидки, если на кассе была проведена скидка
- account: (integer)
Если предприятие работает с разными счетами, то тут можно передать, с какого счёта производить списание. По умолчанию -1 - основной баланс клиента. Узнать доступные счета можно в методе /reference/account
Example:
{
"number": "9230000000",
"order_sum": 49400,
"order_pay_bonus": 0,
"order_pay_money": 49400,
"guests": 1,
"officiant": "Анастасия",
"struct": [
{
"cat_name": "Пиво Бельгия",
"cat_code": "{27644A4E-BA98-48BA-A380-F13DE744CC56}",
"name": "Мюнхель Хелл 300мл",
"price": 22800,
"article": "2823",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Французкий багет",
"price": 9800,
"article": "123",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Пирог слоеный с камчатским лососем",
"price": 16800,
"article": "310",
"count": 1
}
]
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
- bonus_sum: required(integer)
Сумма начисленного бонуса
- card_sum: required(integer)
Новый баланс карты, с учетом новых бонусов и списаний
- order_code: required(string)
Код транзакции. Если он был передан в запросе, то в ответе он будет продублирован.
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"bonus_sum": 16800,
"card_sum": 17800,
"order_code": "727FA0E0-170A-4B2B-B1CD-502135F97850"
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Оплата чека. В результате в MCRM появляется транзакция, происходит списание и начисление бонусов.
post /cash/order
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиента
- order_sum: required(integer)
Общая сумма заказа в копейках
- order_pay_bonus: required(integer)
Сумма, оплаченная бонусами в копейках
- order_pay_money: required(integer)
Сумма, которая фактически попала в кассу, в копейках
- request: (string)
Идентификатор запроса для контроля дублей. Повторный запрос выдаст аналогичный предыдущему результат, даже если остальные данные изменились.
- order_code: (string)
Код транзакции. Если не передан, то MCRM сгенерирует свой. Важно - код должен быть случайным набором символов. Рекомендуемая длинна - не менее 32.
- struct: (array of OrderLib.Position)
Товарные позиции в чеке
Items: Position
- cat_name: (string)
Название категории товара.
- cat_code: (string)
Идентификатор категории во внешней системе. Если идентификатора нет, дублируйте название.
- name: required(string)
Название товара.
- price: required(integer)
Цена товара за единицу в копейках.
- count: required(number)
Количество товаров.
- article: required(string)
Артикул, либо внешний идентификатор товара. Используется при частичной отмене товаров из чека.
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- coefficient: (number)
Внешний коэффициент. Если указан, то сумма бонусов будет умножена на этот коэффициент.
Example:
{ "cat_name": "Безалкогольные напитки", "cat_code": "Безалкогольные напитки", "name": "Молочный коктейль Ванильный", "price": 15000, "article": "123", "count": 2, "metadata": [ { "name": "position_type", "value": "concert" } ] }
- cat_name: (string)
- officiant: (string)
Официант, ответственный за обслуживание
- date_create: (string)
Дата создания чека. Для импорта транзакций обязателен. Для /cash/order игнорируется.
- guests: (integer)
Количество гостей
- promo: (number)
Промокод для заказа
- discount: (number)
Сумма скидки, если на кассе была проведена скидка
- account: (integer)
Если предприятие работает с разными счетами, то тут можно передать, с какого счёта производить списание. По умолчанию -1 - основной баланс клиента. Узнать доступные счета можно в методе /reference/account
- discount_code: (string)
Код скидки, применённый на кассе
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- type: (integer)
Для особых случаев. Если нужно указать конкретный тип транзакции, то используется этот параметр. Доступные типы транзакций можно узнать в методе /reference/transactiontype
- no_spend: (number)
Для особых случаев. Если передается order_pay_bonus отличный от 0, но при этом не нужно создавать транзакцию на списание - установите этот параметр 1.
Example:
{
"number": "9230000000",
"order_sum": 49400,
"order_pay_bonus": 0,
"order_pay_money": 49400,
"guests": 1,
"order_code": "727FA0E0-170A-4B2B-B1CD-502135F97850",
"officiant": "Анастасия",
"struct": [
{
"cat_name": "Пиво Бельгия",
"cat_code": "{27644A4E-BA98-48BA-A380-F13DE744CC56}",
"name": "Мюнхель Хелл 300мл",
"price": 22800,
"article": "2823",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Французкий багет",
"price": 9800,
"article": "123",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Пирог слоеный с камчатским лососем",
"price": 16800,
"article": "310",
"count": 1
}
],
"metadata": [
{
"name": "table_number",
"value": "10"
}
]
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
- bonus_sum: required(integer)
Сумма начисленного бонуса
- card_sum: required(integer)
Новый баланс карты, с учетом новых бонусов и списаний
- order_code: required(string)
Код транзакции. Если он был передан в запросе, то в ответе он будет продублирован.
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"bonus_sum": 16800,
"card_sum": 17800,
"order_code": "727FA0E0-170A-4B2B-B1CD-502135F97850"
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Импорт чека. Похож на /cash/order, но не приводит к начислению бонусов. Параметр date_create обязательный. Ожидается в формате yyyy-mm-dd hh:ii
post /cash/import
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиента
- order_sum: required(integer)
Общая сумма заказа в копейках
- order_pay_bonus: required(integer)
Сумма, оплаченная бонусами в копейках
- order_pay_money: required(integer)
Сумма, которая фактически попала в кассу, в копейках
- request: (string)
Идентификатор запроса для контроля дублей. Повторный запрос выдаст аналогичный предыдущему результат, даже если остальные данные изменились.
- order_code: (string)
Код транзакции. Если не передан, то MCRM сгенерирует свой. Важно - код должен быть случайным набором символов. Рекомендуемая длинна - не менее 32.
- struct: (array of OrderLib.Position)
Товарные позиции в чеке
Items: Position
- cat_name: (string)
Название категории товара.
- cat_code: (string)
Идентификатор категории во внешней системе. Если идентификатора нет, дублируйте название.
- name: required(string)
Название товара.
- price: required(integer)
Цена товара за единицу в копейках.
- count: required(number)
Количество товаров.
- article: required(string)
Артикул, либо внешний идентификатор товара. Используется при частичной отмене товаров из чека.
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- coefficient: (number)
Внешний коэффициент. Если указан, то сумма бонусов будет умножена на этот коэффициент.
Example:
{ "cat_name": "Безалкогольные напитки", "cat_code": "Безалкогольные напитки", "name": "Молочный коктейль Ванильный", "price": 15000, "article": "123", "count": 2, "metadata": [ { "name": "position_type", "value": "concert" } ] }
- cat_name: (string)
- officiant: (string)
Официант, ответственный за обслуживание
- date_create: (string)
Дата создания чека. Для импорта транзакций обязателен. Для /cash/order игнорируется.
- guests: (integer)
Количество гостей
- promo: (number)
Промокод для заказа
- discount: (number)
Сумма скидки, если на кассе была проведена скидка
- account: (integer)
Если предприятие работает с разными счетами, то тут можно передать, с какого счёта производить списание. По умолчанию -1 - основной баланс клиента. Узнать доступные счета можно в методе /reference/account
- discount_code: (string)
Код скидки, применённый на кассе
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- type: (integer)
Для особых случаев. Если нужно указать конкретный тип транзакции, то используется этот параметр. Доступные типы транзакций можно узнать в методе /reference/transactiontype
- no_spend: (number)
Для особых случаев. Если передается order_pay_bonus отличный от 0, но при этом не нужно создавать транзакцию на списание - установите этот параметр 1.
Example:
{
"number": "9230000000",
"order_sum": 49400,
"order_pay_bonus": 0,
"order_pay_money": 49400,
"guests": 1,
"order_code": "727FA0E0-170A-4B2B-B1CD-502135F97850",
"officiant": "Анастасия",
"struct": [
{
"cat_name": "Пиво Бельгия",
"cat_code": "{27644A4E-BA98-48BA-A380-F13DE744CC56}",
"name": "Мюнхель Хелл 300мл",
"price": 22800,
"article": "2823",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Французкий багет",
"price": 9800,
"article": "123",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Пирог слоеный с камчатским лососем",
"price": 16800,
"article": "310",
"count": 1
}
],
"metadata": [
{
"name": "table_number",
"value": "10"
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Максимально доступная сумма к списанию в чеке. Параметры order_pay_money и order_pay_bonus в этом запросе игнорируется
post /cash/maxspendbonus
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиента
- order_sum: required(integer)
Общая сумма заказа в копейках
- order_pay_bonus: required(integer)
Сумма, оплаченная бонусами в копейках
- order_pay_money: required(integer)
Сумма, которая фактически попала в кассу, в копейках
- struct: (array of OrderLib.Position)
Товарные позиции в чеке
Items: Position
- cat_name: (string)
Название категории товара.
- cat_code: (string)
Идентификатор категории во внешней системе. Если идентификатора нет, дублируйте название.
- name: required(string)
Название товара.
- price: required(integer)
Цена товара за единицу в копейках.
- count: required(number)
Количество товаров.
- article: required(string)
Артикул, либо внешний идентификатор товара. Используется при частичной отмене товаров из чека.
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- coefficient: (number)
Внешний коэффициент. Если указан, то сумма бонусов будет умножена на этот коэффициент.
Example:
{ "cat_name": "Безалкогольные напитки", "cat_code": "Безалкогольные напитки", "name": "Молочный коктейль Ванильный", "price": 15000, "article": "123", "count": 2, "metadata": [ { "name": "position_type", "value": "concert" } ] }
- cat_name: (string)
- promo: (number)
Промокод для заказа
- discount: (number)
Сумма скидки, если на кассе была проведена скидка
- account: (integer)
Если предприятие работает с разными счетами, то тут можно передать, с какого счёта производить списание. По умолчанию -1 - основной баланс клиента. Узнать доступные счета можно в методе /reference/account
Example:
{
"number": "9230000000",
"order_sum": 49400,
"order_pay_bonus": 0,
"order_pay_money": 49400,
"guests": 1,
"officiant": "Анастасия",
"struct": [
{
"cat_name": "Пиво Бельгия",
"cat_code": "{27644A4E-BA98-48BA-A380-F13DE744CC56}",
"name": "Мюнхель Хелл 300мл",
"price": 22800,
"article": "2823",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Французкий багет",
"price": 9800,
"article": "123",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Пирог слоеный с камчатским лососем",
"price": 16800,
"article": "310",
"count": 1
}
]
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- max_spend_sum: required(integer)
Максимальная сумма списания бонусов для данного чека
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"max_spend_sum": 11000
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Проверить, можно ли будет применить промокод к заказу. Параметр promo в этом запросе обязателен.
post /cash/checkpromocode
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиента
- order_sum: required(integer)
Общая сумма заказа в копейках
- order_pay_bonus: required(integer)
Сумма, оплаченная бонусами в копейках
- order_pay_money: required(integer)
Сумма, которая фактически попала в кассу, в копейках
- struct: (array of OrderLib.Position)
Товарные позиции в чеке
Items: Position
- cat_name: (string)
Название категории товара.
- cat_code: (string)
Идентификатор категории во внешней системе. Если идентификатора нет, дублируйте название.
- name: required(string)
Название товара.
- price: required(integer)
Цена товара за единицу в копейках.
- count: required(number)
Количество товаров.
- article: required(string)
Артикул, либо внешний идентификатор товара. Используется при частичной отмене товаров из чека.
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- coefficient: (number)
Внешний коэффициент. Если указан, то сумма бонусов будет умножена на этот коэффициент.
Example:
{ "cat_name": "Безалкогольные напитки", "cat_code": "Безалкогольные напитки", "name": "Молочный коктейль Ванильный", "price": 15000, "article": "123", "count": 2, "metadata": [ { "name": "position_type", "value": "concert" } ] }
- cat_name: (string)
- promo: (number)
Промокод для заказа
- discount: (number)
Сумма скидки, если на кассе была проведена скидка
- account: (integer)
Если предприятие работает с разными счетами, то тут можно передать, с какого счёта производить списание. По умолчанию -1 - основной баланс клиента. Узнать доступные счета можно в методе /reference/account
Example:
{
"number": "9230000000",
"order_sum": 49400,
"order_pay_bonus": 0,
"order_pay_money": 49400,
"guests": 1,
"officiant": "Анастасия",
"struct": [
{
"cat_name": "Пиво Бельгия",
"cat_code": "{27644A4E-BA98-48BA-A380-F13DE744CC56}",
"name": "Мюнхель Хелл 300мл",
"price": 22800,
"article": "2823",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Французкий багет",
"price": 9800,
"article": "123",
"count": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Пирог слоеный с камчатским лососем",
"price": 16800,
"article": "310",
"count": 1
}
]
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- can_use_promocode: required(one of true, false)
Возможность применения промокода
- food_id: (string)
Идентификатор блюда, которое нужно добавить к чеку клиента. Этот идентификатор задаётся администратором, и соответствует идентификатору блюда кассовой системы. Важно - добавление блюда должно быть в конце сценария формирования чека, когда он уже не будет изменён.
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"can_use_promocode": true,
"food_id": "321"
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Начислить админинстративный бонус клиенту
post /cash/addbonus
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиенты
- sum: required(integer)
Сумма добавления/списания со счёта клиента в копейках. Добавление или списание определяется исключительно выбором метода. Знак у числа + или - будет проигнорирован.
- type: (integer)
Для особых случаев. Если нужно указать конкретный тип транзакции у списания, то используется этот параметр. Для метода /cash/addbonus параметр игнорируется. Доступные типы транзакций можно узнать в методе /reference/transactiontype. По умолчанию тип "Ручное"
- account: (integer)
Счёт для добавления/списания бонусов. Список доступных счетов в /reference/account. По умолчанию используется -1 - основной бонусный счёт.
- request: (string)
Идентификатор запроса для контроля дублей. Повторный запрос выдаст аналогичный предыдущему результат, даже если остальные данные изменились.
- order_code: (string)
Код отмены чека. Если не передан, то MCRM сгенерирует свой. Важно - код должен быть случайным набором символов. Рекомендуемая длинна - не менее 32.
- comment: (string)
Комментарий к начислению бонуса
Example:
{
"number": "9230000000",
"sum": 10000,
"request": "727FA0E0-170A-4B2B-B1CD-502135F97850",
"comment": ""
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
- card_sum: required(integer)
Новый баланс карты, с учетом новых бонусов/списаний
- order_code: required(string)
Код отмены транзакции. Если он был передан в запросе, то в ответе он будет продублирован.
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"card_sum": 17800,
"order_code": "727FA0E0-170A-4B2B-B1CD-502135F97850"
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Списать бонус с клиента
post /cash/spendbonus
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиенты
- sum: required(integer)
Сумма добавления/списания со счёта клиента в копейках. Добавление или списание определяется исключительно выбором метода. Знак у числа + или - будет проигнорирован.
- type: (integer)
Для особых случаев. Если нужно указать конкретный тип транзакции у списания, то используется этот параметр. Для метода /cash/addbonus параметр игнорируется. Доступные типы транзакций можно узнать в методе /reference/transactiontype. По умолчанию тип "Ручное"
- account: (integer)
Счёт для добавления/списания бонусов. Список доступных счетов в /reference/account. По умолчанию используется -1 - основной бонусный счёт.
- request: (string)
Идентификатор запроса для контроля дублей. Повторный запрос выдаст аналогичный предыдущему результат, даже если остальные данные изменились.
- order_code: (string)
Код отмены чека. Если не передан, то MCRM сгенерирует свой. Важно - код должен быть случайным набором символов. Рекомендуемая длинна - не менее 32.
- comment: (string)
Комментарий к начислению бонуса
Example:
{
"number": "9230000000",
"sum": 10000,
"request": "727FA0E0-170A-4B2B-B1CD-502135F97850",
"comment": ""
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
- card_sum: required(integer)
Новый баланс карты, с учетом новых бонусов/списаний
- order_code: required(string)
Код отмены транзакции. Если он был передан в запросе, то в ответе он будет продублирован.
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"card_sum": 17800,
"order_code": "727FA0E0-170A-4B2B-B1CD-502135F97850"
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
/transaction
Операции с транзакциями
Список транзакций
get /transaction/list
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Query Parameters
- limit: (integer - default: 100)
Количество элементов на странице
- page: (integer - default: 1)
Номер страницы
- date_from: (string)
Начальная дата транзакции
- date_to: (string)
Конечная дата транзакции
- restos: (array of )
Перечень предприятий, где были сделаны транзакции. Передаётся массив идентификаторов. Полный список возможных значений можно получить через метод /resto/list
- types: (array of )
Перечень типов транзакций. Передаётся массив идентификаторов. Полный список возможных значений можно получить через метод /reference/transactiontype
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
- count: required(integer)
Общее количество транзакций, с учётом фильтров в запросе
- transactions: required(array of TransactionLib.Transaction)
Список транзакций, с учетом параметров page и limit
Items: Transaction
- id: required(integer)
Идентификатор транзакции в MCRM
- request: required(string)
Идентификатор запроса, через который транзакция была создана
- card_number: required(string)
Номер карты, которой принадлежит транзакция
- resto: required(string)
Предприятие, где была сделана транзакция
- check_sum: required(integer)
Сумма чека транзакции в копейках
- bonus_sum: required(integer)
Сумма бонуса транзакции в копейках
- account: required(integer)
Счёт, по которому происходит начисление или списание. Список доступных счетов можно узнать через метод /reference/account
- date: required(string)
Дата и время создания транзакции
- type: required(integer)
Тип транзакции. Расшифровку типов можно узнать через метод /reference/transactiontype
- sign: required(one of plus, minus)
Пополнение баланса карты или списание с баланса
- comment: required(string)
Комментарий к транзакции
- discount: required(integer)
Сумма скидки в копейках
- struct: required(array of OrderLib.Position)
Товары в транзакции
Items: Position
- cat_name: (string)
Название категории товара.
- cat_code: (string)
Идентификатор категории во внешней системе. Если идентификатора нет, дублируйте название.
- name: required(string)
Название товара.
- price: required(integer)
Цена товара за единицу в копейках.
- count: required(number)
Количество товаров.
- article: required(string)
Артикул, либо внешний идентификатор товара. Используется при частичной отмене товаров из чека.
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- coefficient: (number)
Внешний коэффициент. Если указан, то сумма бонусов будет умножена на этот коэффициент.
Example:
{ "cat_name": "Безалкогольные напитки", "cat_code": "Безалкогольные напитки", "name": "Молочный коктейль Ванильный", "price": 15000, "article": "123", "count": 2, "metadata": [ { "name": "position_type", "value": "concert" } ] }
- cat_name: (string)
- params: required(array of ReferenceLib.NameValueElement)
Дополнительные параметры транзакции
Items: NameValueElement
- name: required(string)
Название параметра
- value: required(string)
Значение параметра
- name: required(string)
- metadata: (array of MetadataLib.MetadataElement)
Метаданные транзакции. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- id: required(integer)
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"count": 6968,
"transactions": [
{
"id": 7534,
"request": "",
"card_number": "1005652",
"resto": "Сибклад",
"check_sum": 49400,
"bonus_sum": 4950,
"account": -1,
"date": "2023-06-13 12:20:37",
"type": 14,
"sign": "plus",
"comment": "Сотрудник: Анастасия Гостей: 1",
"discount": 0,
"struct": [
{
"cat_name": "Пиво Бельгия",
"cat_code": "{27644A4E-BA98-48BA-A380-F13DE744CC56}",
"name": "Мюнхель Хелл 300мл",
"price": 22800,
"article": "2823",
"count": 1,
"coefficient": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Французкий багет",
"price": 9800,
"article": "123",
"count": 1,
"coefficient": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Пирог слоеный с камчатским лососем",
"price": 16800,
"article": "310",
"count": 1,
"coefficient": 1
}
],
"params": [
{
"name": "Параметр 1",
"value": "Значение параметра 1"
},
{
"name": "Ещё параметр",
"value": "Ещё значение"
}
],
"metadata": [
{
"name": "table_number",
"value": "10"
}
]
},
{
"id": 7533,
"request": "",
"card_number": "1005652",
"resto": "Сибклад",
"check_sum": 49400,
"bonus_sum": 0,
"account": -1,
"date": "2023-06-13 12:17:56",
"type": 14,
"sign": "plus",
"comment": "Сотрудник: Анастасия Гостей: 1",
"discount": 0,
"struct": [],
"params": [],
"metadata": []
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Выполнить полный откат транзакции
post /transaction/rollback
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- order_code: required(string)
Код транзакции, получается при создании чека /cash/order
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- card_sum: required(integer)
Баланс карты в копейках после отмены транзакции
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Выполнить частичный откат транзакции
post /transaction/articlerollback
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- order_code: required(string)
Код транзакции, получается при создании чека /cash/order
- article: required(string)
Артикул товара, который нужно убрать из транзакции
- count: required(number)
Количество, которое нужно отменить
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- card_sum: required(integer)
Баланс карты в копейках после частичной отмены транзакции
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Установить код запроса для транзакции. ВАЖНО! Установка кода запроса не приведёт к кешированию ответа. Попытка повторной обработки аналогичного запроса приведёт к ошибке.
post /transaction/setrequest
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- order_code: required(string)
Код транзакции, получается при создании чека /cash/order
- request: required(string)
Код запроса для транзакции
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Добавление метаданных для транзакции
post /transaction/addmetadata
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- order_code: required(string)
Код транзакции, получается при создании чека /cash/order
- metadata: required(array of object)
Метаданные транзакции. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
Example:
{
"order_code": "100",
"metadata": [
{
"name": "source",
"value": "yandex"
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Удаление метаданных из транзакции
post /transaction/removemetadata
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- order_code: required(string)
Код транзакции, получается при создании чека /cash/order
- name: required(string)
Идентификатор метаданных, который требуется удалить.
Example:
{
"order_code": "100",
"name": "meta-name"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Установить дополнительные параметры для транзакции
post /transaction/addparams
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- order_code: required(string)
Код транзакции, получается при создании чека /cash/order
- params: required(array of object)
Дополнительные параметры для транзакции
Items: NameValueElement
- name: required(string)
Название параметра
- value: required(string)
Значение параметра
- name: required(string)
Example:
{
"order_code": "100",
"params": [
{
"name": "Новый параметр",
"value": "qwe"
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
/user
Работа с клиентами. Обратите внимание, что для методов, которые получают данные конкретного клиента нужен дополнительный параметр - access_token. Который получается в результате выполнения /user/auth или /user/openauth
Список клиентов в сегменте
get /user/listinsegment
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Query Parameters
- segment_id: required(integer)
Идентификатор сегмента. Список сегментов можно получить в методе /reference/segment
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- users: required(array of object)
Список пользователей
Items: UserList
- card_number: required(string)
Номер карты
- user_id: required(string)
Идентификатор пользователя в MCRM
- phone: required(string)
Номер телефона
- external_id: (string)
Внешний идентификатор пользователя
- card_number: required(string)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
post /user/listinsegment
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- segment_id: required(integer)
Идентификатор сегмента. Список сегментов можно получить в методе /reference/segment
Example:
{
"segment_id": 100
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- users: required(array of object)
Список пользователей
Items: UserList
- card_number: required(string)
Номер карты
- user_id: required(string)
Идентификатор пользователя в MCRM
- phone: required(string)
Номер телефона
- external_id: (string)
Внешний идентификатор пользователя
- card_number: required(string)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"users": [
{
"card_number": "1000001",
"user_id": "1",
"phone": "9509773821",
"external_id": "123"
},
{
"card_number": "1000002",
"user_id": "2",
"phone": "9029272042",
"external_id": ""
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Анкетные данные клиента по номеру карты или номеру телефона. Вместо number/external_id можно включить в запрос access_token. Тогда будет возвращена анкета авторизованного пользователя.
get /user/get
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Query Parameters
- number: (string)
Номер карты или номер телефона
- external_id: (string)
Для особых случаев. Получение пользователя по внешнему идентификатору. Если задан, то поле number будет проигнорировано.
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- user_id: (integer)
Идентификатор пользователя в MCRM
- external_id: (string)
Внешний идентификатор пользователя
- first_name: (string)
Фамилия клиента
- last_name: (string)
Имя клиента
- father_name: (string)
Отчество клиента
- phone: required(string)
Телефон клиента. Только цифры, без пробелов
- card_number: required(string)
Номер карты
- email: (string)
Email пользователя
- birth_date: (string)
Дата рождения. Если не указана, то пустая строка
- gender: (one of male, female)
Пол
- balance: (integer)
Бонусный баланс клиента
- check_sum: (integer)
Сумма чеков клиента
- check_count: (integer)
Количество чеков у клиента
- average_check: (integer)
Средний чек за всё время
- register_date: (string)
Дата и время регистрации
- last_visit_date: (string)
Последний визит
- message: (string)
Системное сообщение для сотрудников. Не предназначено для демонстрации пользователю
- osmi_link: (string)
Ссылка на установку карты ОСМИ
- osmi_number: (string)
Номер карты в ОСМИ
- osmi_setup: (boolean)
Признак, установлена карта в приложение телефона (true) или нет (false)
- osmi_qr_image: (string)
Ссылка изображение QR код для установки карты ОСМИ
- base_coefficient: (number)
Базовый коэффициент карты. Фактический в предприятии определяется как произведение этого параметра на коэффициент в предприятии (список в coefficients)
- coefficient: (number)
Коэффициент скидки/бонуса карты в предприятии, от коротого идёт запрос
- metadata: (array of MetadataLib.MetadataElement)
Метаданные пользователя
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- params: (array of ReferenceLib.NameValueElement)
Дополнительные параметры анкеты
Items: NameValueElement
- name: required(string)
Название параметра
- value: required(string)
Значение параметра
- name: required(string)
- segments: (array of ReferenceLib.ReferenceElement)
Cегментs пользователя
Items: ReferenceElement
- id: required(integer)
Идентификатор элемента
- name: required(string)
Имя элемента
- id: required(integer)
- accounts: (array of ReferenceLib.ValueElement)
Дополнительные счета с балансом. Список дополнительных счетов можно получить в /reference/balance
Items: ValueElement
- id: required(integer)
Идентификатор элемента
- value: required(integer)
Значение элемента
- id: required(integer)
- coefficients: (array of ReferenceLib.CoefficientElement)
Индивидуальные бонусные коэффициенты по предприятиям
Items: CoefficientElement
- id: required(integer)
Идентификатор предприятия
- name: required(string)
Имя предприятия
- coefficient: required(number)
Коэффициент в предприятии
- id: required(integer)
- date_end_premium: (string)
Параметр появляется, если у клиента VIP подписка, и обозначает дату окончания подписки
- reserves: (array of ReferenceLib.ReserveElement)
Бронирования пользователя
Items: ReserveElement
- resto_reserve: required(string)
Название предприятия, для которого сделано бронирование
- date_reserve: required(string)
Дата и время бронирования. Ожидается в формате "гггг-мм-дд чч:мм"
- comment: (string)
Комментарий к бронированию
- resto_reserve: required(string)
- addresses: (array of ReferenceLib.AddressElement)
Адреса пользователя
Items: AddressElement
- postal_code: (string)
Почтовый индекс
- region: (string)
Регион
- city: (string)
Город
- street: (string)
Улица
- home: (string)
Дом
- flat: (string)
Значение параметра
- comment: (string)
Значение параметра
- postal_code: (string)
- reservations: (array of ReservationLib.ReservationData)
Адреса пользователя
Items: ReservationData
- resto: required(string)
Предприятие, где сделано бронирование
- name: required(string)
Имя клиента для бронирования
- phone: required(string)
Номер карты или номер телефона клиента. Номер телефона может быть в любом формате.
- table: required(string)
Столик. Произвольная строка
- date_reserve: required(string)
Дата и время бронирования в формате "гггг-мм-дд чч:мм"
- status: required(string)
Статус бронирования. Произвольная строка
- resto: required(string)
- dynamic_number: (string)
Динамический номер для оплаты. Если этот параметр задан, то метод cash/order в number примет только его.
- dynamic_qr: (string)
Ссылка изображение c QR кодом динамического номера, с префиксом и потфиксом.
- discount_codes: (array of ReferenceLib.NameValueElement)
Коды скидки, доступные пользователю. name - имя скидки, value - сам код.
Items: NameValueElement
- name: required(string)
Название параметра
- value: required(string)
Значение параметра
- name: required(string)
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"user_id": 9026,
"external_id": "399D8F81-9D4A-4863-B586-9E4B0A20C1FF",
"first_name": " ",
"last_name": "",
"phone": "9235235425",
"card_number": "1005652",
"gender": "male",
"balance": 2600,
"check_sum": 10763,
"check_count": 13,
"average_check": 828,
"register_date": "2022-11-20 20:04:51",
"last_visit_date": "2023-06-13 12:40:28",
"message": "",
"osmi_link": "",
"osmi_number": "",
"osmi_setup": false,
"qr_image": null,
"coefficient": 1,
"params": [
{
"name": "Название параметра",
"value": "Значение параметра"
}
],
"metadata": [
{
"name": "source",
"value": "yandex"
}
],
"segments": [
{
"id": 540,
"name": "Виртуальный служебный сегмент"
},
{
"id": 786,
"name": "Второй сегмент"
}
],
"accounts": [
{
"id": 1,
"value": 0
},
{
"id": -1,
"value": 2600
}
],
"reserves": [
{
"resto_reserve": "Ресторан №1",
"date_reserve": "2023-09-26 14:00:00",
"comment": ""
}
],
"addresses": [
{
"postal_code": "",
"region": "",
"city": "Москва",
"street": "Кутузовский пр.",
"home": "",
"flat": "",
"comment": ""
}
],
"reservations": [
{
"resto": "Тестовый ресторан",
"name": "Петя",
"phone": "9999999999",
"table": "У окна",
"date_reservation": "2024-01-24 19:00:00",
"status": "new"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
post /user/get
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона
- external_id: (string)
Для особых случаев. Получение пользователя по внешнему идентификатору. Если задан, то поле number будет проигнорировано.
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- user_id: (integer)
Идентификатор пользователя в MCRM
- external_id: (string)
Внешний идентификатор пользователя
- first_name: (string)
Фамилия клиента
- last_name: (string)
Имя клиента
- father_name: (string)
Отчество клиента
- phone: required(string)
Телефон клиента. Только цифры, без пробелов
- card_number: required(string)
Номер карты
- email: (string)
Email пользователя
- birth_date: (string)
Дата рождения. Если не указана, то пустая строка
- gender: (one of male, female)
Пол
- balance: (integer)
Бонусный баланс клиента
- check_sum: (integer)
Сумма чеков клиента
- check_count: (integer)
Количество чеков у клиента
- average_check: (integer)
Средний чек за всё время
- register_date: (string)
Дата и время регистрации
- last_visit_date: (string)
Последний визит
- message: (string)
Системное сообщение для сотрудников. Не предназначено для демонстрации пользователю
- osmi_link: (string)
Ссылка на установку карты ОСМИ
- osmi_number: (string)
Номер карты в ОСМИ
- osmi_setup: (boolean)
Признак, установлена карта в приложение телефона (true) или нет (false)
- osmi_qr_image: (string)
Ссылка изображение QR код для установки карты ОСМИ
- base_coefficient: (number)
Базовый коэффициент карты. Фактический в предприятии определяется как произведение этого параметра на коэффициент в предприятии (список в coefficients)
- coefficient: (number)
Коэффициент скидки/бонуса карты в предприятии, от коротого идёт запрос
- metadata: (array of MetadataLib.MetadataElement)
Метаданные пользователя
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- params: (array of ReferenceLib.NameValueElement)
Дополнительные параметры анкеты
Items: NameValueElement
- name: required(string)
Название параметра
- value: required(string)
Значение параметра
- name: required(string)
- segments: (array of ReferenceLib.ReferenceElement)
Cегментs пользователя
Items: ReferenceElement
- id: required(integer)
Идентификатор элемента
- name: required(string)
Имя элемента
- id: required(integer)
- accounts: (array of ReferenceLib.ValueElement)
Дополнительные счета с балансом. Список дополнительных счетов можно получить в /reference/balance
Items: ValueElement
- id: required(integer)
Идентификатор элемента
- value: required(integer)
Значение элемента
- id: required(integer)
- coefficients: (array of ReferenceLib.CoefficientElement)
Индивидуальные бонусные коэффициенты по предприятиям
Items: CoefficientElement
- id: required(integer)
Идентификатор предприятия
- name: required(string)
Имя предприятия
- coefficient: required(number)
Коэффициент в предприятии
- id: required(integer)
- date_end_premium: (string)
Параметр появляется, если у клиента VIP подписка, и обозначает дату окончания подписки
- reserves: (array of ReferenceLib.ReserveElement)
Бронирования пользователя
Items: ReserveElement
- resto_reserve: required(string)
Название предприятия, для которого сделано бронирование
- date_reserve: required(string)
Дата и время бронирования. Ожидается в формате "гггг-мм-дд чч:мм"
- comment: (string)
Комментарий к бронированию
- resto_reserve: required(string)
- addresses: (array of ReferenceLib.AddressElement)
Адреса пользователя
Items: AddressElement
- postal_code: (string)
Почтовый индекс
- region: (string)
Регион
- city: (string)
Город
- street: (string)
Улица
- home: (string)
Дом
- flat: (string)
Значение параметра
- comment: (string)
Значение параметра
- postal_code: (string)
- reservations: (array of ReservationLib.ReservationData)
Адреса пользователя
Items: ReservationData
- resto: required(string)
Предприятие, где сделано бронирование
- name: required(string)
Имя клиента для бронирования
- phone: required(string)
Номер карты или номер телефона клиента. Номер телефона может быть в любом формате.
- table: required(string)
Столик. Произвольная строка
- date_reserve: required(string)
Дата и время бронирования в формате "гггг-мм-дд чч:мм"
- status: required(string)
Статус бронирования. Произвольная строка
- resto: required(string)
- dynamic_number: (string)
Динамический номер для оплаты. Если этот параметр задан, то метод cash/order в number примет только его.
- dynamic_qr: (string)
Ссылка изображение c QR кодом динамического номера, с префиксом и потфиксом.
- discount_codes: (array of ReferenceLib.NameValueElement)
Коды скидки, доступные пользователю. name - имя скидки, value - сам код.
Items: NameValueElement
- name: required(string)
Название параметра
- value: required(string)
Значение параметра
- name: required(string)
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"user_id": 9026,
"external_id": "399D8F81-9D4A-4863-B586-9E4B0A20C1FF",
"first_name": " ",
"last_name": "",
"phone": "9235235425",
"card_number": "1005652",
"gender": "male",
"balance": 2600,
"check_sum": 10763,
"check_count": 13,
"average_check": 828,
"register_date": "2022-11-20 20:04:51",
"last_visit_date": "2023-06-13 12:40:28",
"message": "",
"osmi_link": "",
"osmi_number": "",
"osmi_setup": false,
"qr_image": null,
"coefficient": 1,
"params": [
{
"name": "Название параметра",
"value": "Значение параметра"
}
],
"metadata": [
{
"name": "source",
"value": "yandex"
}
],
"segments": [
{
"id": 540,
"name": "Виртуальный служебный сегмент"
},
{
"id": 786,
"name": "Второй сегмент"
}
],
"accounts": [
{
"id": 1,
"value": 0
},
{
"id": -1,
"value": 2600
}
],
"reserves": [
{
"resto_reserve": "Ресторан №1",
"date_reserve": "2023-09-26 14:00:00",
"comment": ""
}
],
"addresses": [
{
"postal_code": "",
"region": "",
"city": "Москва",
"street": "Кутузовский пр.",
"home": "",
"flat": "",
"comment": ""
}
],
"reservations": [
{
"resto": "Тестовый ресторан",
"name": "Петя",
"phone": "9999999999",
"table": "У окна",
"date_reservation": "2024-01-24 19:00:00",
"status": "new"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Регистрация нового клиента. Важно: обязательность полей (в том числе код подтверждения телефона) определяется индивидуальными настройками в MCRM. Проверку отдельных полей можете проверить в ответе, поле field_status
post /user/register
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- sid: (string)
Идентификатор сессии. Должен быть взять из coockies mcrm_sid. Используется только для сайтов.
- external_id: (string)
Для особых случаев. Идентификатор пользователя во внешней системе.
- card_number: (string)
Номер карты для регистрации. Может быть пустым, тогда система присвоит ему номер автоматически.
- first_name: (string)
Фамилия клиента
- last_name: (string)
Имя клиента
- father_name: (string)
Отчество клиента
- phone: required(string)
Телефон пользователя в любом формате.
- email: (string)
E-mail пользователя
- city: (string)
Город
- district_home: (integer)
Идентификатор района из списка, где пользователь живет. Список получается в методе /reference/district
- district_work: (integer)
Идентификатор района из списка, где пользователь работает. Список получается в методе /reference/district
- gender: (one of male, female)
Пол
- birth_date: (string)
Дата рождения в формате ГГГГ-ММ-ДД
- phone_code: (string)
Код подтверждения телефона из СМС. Для отправки проверочного кода используйте /community/verify
- metadata: (array of MetadataLib.MetadataElement)
Метаданные пользователя. Список возможных вариантов с форматами можно узнать в методе /metadata/user
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- change: (one of yes, no)
Для особых случаев. Менять-ли заведение владельца карты
Example:
{
"phone": "9230000000",
"first_name": "Иванов",
"last_name": "Иван",
"gender": "male",
"email": "info@mail.ru",
"metadata": [
{
"name": "source",
"value": "yandex"
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 400
Ошибка проверки данных
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 400
- error_message: required(string)
Расшифровка ошибки
- field_status: required(array of UserLib.UserFieldStatus)
Ошибки по отдельным полям
Items: UserFieldStatus
- name: required(string)
Название поля для регистрации
- status: required(one of success, error)
Статус поля
- error_message: (string)
Описание ошибки
- name: required(string)
Example:
{
"status": "error",
"error_message": "Проверьте правильность заполнения формы",
"code": 400,
"field_status": [
{
"name": "first_name",
"status": "success",
"error_message": ""
},
{
"name": "last_name",
"status": "error",
"error_message": "Имя должно быть заполнено"
},
{
"name": "gender",
"status": "success",
"error_message": ""
},
{
"name": "email",
"status": "error",
"error_message": "Укажите верный E-mail"
},
{
"name": "birth_date",
"status": "success",
"error_message": ""
},
{
"name": "phone",
"status": "success",
"error_message": ""
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Авторизация клиента по телефону и паролю
post /user/auth
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- phone: required(string)
Номер телефона
- password: required(string)
Пароль
Example:
{
"phone": "9230000000",
"password": "123"
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- access_token: required(string)
access_token для запросов, которые его требуют. Срок действия - 365 дней с момента последнего запроса.
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Авторизация без пароля. Для подключения возможности нужно обратиться к администратору MCRM
post /user/openauth
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Дополнительный ключ, который передаётся для метода /user/openauth. Получить можно от администратора MCRM. Ключ может быть передан в заголовке или в URL строке запроса (параметр oauth_key)
Body
Media type: application/json
Type: object
Properties- phone: required(string)
Номер телефона
Example:
{
"phone": "9230000000"
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- access_token: required(string)
access_token для запросов, которые его требуют. Срок действия - 365 дней с момента последнего запроса.
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Обновление анкетных данных клиента. Поле phone изменить нельзя. Поле birth_date можно изменить, если ранее оно было пустым. Попытка изменений не вызовет ошибки, но изменения будут проигнорированы. Анкета принимается и обновляется целиком. Если имя было указано, а при вызове обновления вы его не укажете - после обновления он станет пустым. Пустой gender заменит любой пол на мужской.
post /user/update
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- sid: (string)
Идентификатор сессии. Должен быть взять из coockies mcrm_sid. Используется только для сайтов.
- external_id: (string)
Для особых случаев. Идентификатор пользователя во внешней системе.
- card_number: (string)
Номер карты для регистрации. Может быть пустым, тогда система присвоит ему номер автоматически.
- first_name: (string)
Фамилия клиента
- last_name: (string)
Имя клиента
- father_name: (string)
Отчество клиента
- phone: required(string)
Телефон пользователя в любом формате.
- email: (string)
E-mail пользователя
- city: (string)
Город
- district_home: (integer)
Идентификатор района из списка, где пользователь живет. Список получается в методе /reference/district
- district_work: (integer)
Идентификатор района из списка, где пользователь работает. Список получается в методе /reference/district
- gender: (one of male, female)
Пол
- birth_date: (string)
Дата рождения в формате ГГГГ-ММ-ДД
- phone_code: (string)
Код подтверждения телефона из СМС. Для отправки проверочного кода используйте /community/verify
- metadata: (array of MetadataLib.MetadataElement)
Метаданные пользователя. Список возможных вариантов с форматами можно узнать в методе /metadata/user
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- change: (one of yes, no)
Для особых случаев. Менять-ли заведение владельца карты
Example:
{
"phone": "9230000000",
"first_name": "Иванов",
"last_name": "Иван",
"gender": "male",
"email": "info@mail.ru",
"metadata": [
{
"name": "source",
"value": "yandex"
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Список транзакций пользователя
get /user/transaction
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Query Parameters
- limit: (integer - default: 100)
Количество элементов на странице
- page: (integer - default: 1)
Номер страницы
- date_from: (string)
Начальная дата транзакции
- date_to: (string)
Конечная дата транзакции
- restos: (array of )
Перечень предприятий, где были сделаны транзакции. Передаётся массив идентификаторов. Полный список возможных значений можно получить через метод /resto/list
- types: (array of )
Перечень типов транзакций. Передаётся массив идентификаторов. Полный список возможных значений можно получить через метод /reference/transactiontype
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
- count: required(integer)
Общее количество транзакций, с учётом фильтров в запросе
- transactions: required(array of TransactionLib.Transaction)
Список транзакций, с учетом параметров page и limit
Items: Transaction
- id: required(integer)
Идентификатор транзакции в MCRM
- request: required(string)
Идентификатор запроса, через который транзакция была создана
- card_number: required(string)
Номер карты, которой принадлежит транзакция
- resto: required(string)
Предприятие, где была сделана транзакция
- check_sum: required(integer)
Сумма чека транзакции в копейках
- bonus_sum: required(integer)
Сумма бонуса транзакции в копейках
- account: required(integer)
Счёт, по которому происходит начисление или списание. Список доступных счетов можно узнать через метод /reference/account
- date: required(string)
Дата и время создания транзакции
- type: required(integer)
Тип транзакции. Расшифровку типов можно узнать через метод /reference/transactiontype
- sign: required(one of plus, minus)
Пополнение баланса карты или списание с баланса
- comment: required(string)
Комментарий к транзакции
- discount: required(integer)
Сумма скидки в копейках
- struct: required(array of OrderLib.Position)
Товары в транзакции
Items: Position
- cat_name: (string)
Название категории товара.
- cat_code: (string)
Идентификатор категории во внешней системе. Если идентификатора нет, дублируйте название.
- name: required(string)
Название товара.
- price: required(integer)
Цена товара за единицу в копейках.
- count: required(number)
Количество товаров.
- article: required(string)
Артикул, либо внешний идентификатор товара. Используется при частичной отмене товаров из чека.
- metadata: (array of MetadataLib.MetadataElement)
Метаданные для транзакции при создании заказа. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- coefficient: (number)
Внешний коэффициент. Если указан, то сумма бонусов будет умножена на этот коэффициент.
Example:
{ "cat_name": "Безалкогольные напитки", "cat_code": "Безалкогольные напитки", "name": "Молочный коктейль Ванильный", "price": 15000, "article": "123", "count": 2, "metadata": [ { "name": "position_type", "value": "concert" } ] }
- cat_name: (string)
- params: required(array of ReferenceLib.NameValueElement)
Дополнительные параметры транзакции
Items: NameValueElement
- name: required(string)
Название параметра
- value: required(string)
Значение параметра
- name: required(string)
- metadata: (array of MetadataLib.MetadataElement)
Метаданные транзакции. Список возможных вариантов с форматами можно узнать в методе /metadata/transaction
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
- id: required(integer)
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"count": 6968,
"transactions": [
{
"id": 7534,
"request": "",
"card_number": "1005652",
"resto": "Сибклад",
"check_sum": 49400,
"bonus_sum": 4950,
"account": -1,
"date": "2023-06-13 12:20:37",
"type": 14,
"sign": "plus",
"comment": "Сотрудник: Анастасия Гостей: 1",
"discount": 0,
"struct": [
{
"cat_name": "Пиво Бельгия",
"cat_code": "{27644A4E-BA98-48BA-A380-F13DE744CC56}",
"name": "Мюнхель Хелл 300мл",
"price": 22800,
"article": "2823",
"count": 1,
"coefficient": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Французкий багет",
"price": 9800,
"article": "123",
"count": 1,
"coefficient": 1
},
{
"cat_name": "",
"cat_code": "",
"name": "Пирог слоеный с камчатским лососем",
"price": 16800,
"article": "310",
"count": 1,
"coefficient": 1
}
],
"params": [
{
"name": "Параметр 1",
"value": "Значение параметра 1"
},
{
"name": "Ещё параметр",
"value": "Ещё значение"
}
],
"metadata": [
{
"name": "table_number",
"value": "10"
}
]
},
{
"id": 7533,
"request": "",
"card_number": "1005652",
"resto": "Сибклад",
"check_sum": 49400,
"bonus_sum": 0,
"account": -1,
"date": "2023-06-13 12:17:56",
"type": 14,
"sign": "plus",
"comment": "Сотрудник: Анастасия Гостей: 1",
"discount": 0,
"struct": [],
"params": [],
"metadata": []
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Список push сообщений в приложении
get /user/apppush
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Query Parameters
- limit: (integer - default: 100)
Количество элементов на странице
- page: (integer - default: 1)
Номер страницы
- date_from: (string)
Начальная дата транзакции
- date_to: (string)
Конечная дата транзакции
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
- count: required(integer)
Общее количество push сообщений, с учётом фильтров в запросе
- transactions: required(array of CommunityLib.AppPushHistoryMessage)
Список push сообщений, с учетом параметров page и limit
Items: AppPushHistoryMessage
- message: required(string)
Текст сообщения
- subject: required(string)
Тема для Push сообщения
- date_send: required(string)
Дата отправки сообщения
- message: required(string)
Example:
{
"status": "ok",
"code": 200,
"error_message": "",
"count": 7,
"messages": [
{
"subject": "Тестовый пуш",
"message": "Тестовое пуш сообщение",
"date_send": "2024-03-12 13:15:00"
},
{
"subject": "Пушка 2",
"message": "Сообщение сосмайликом 😎",
"date_send": "2024-02-22 13:37:45"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Изменение пароля пользователю
post /user/changepassword
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- password: required(string)
Новый пароль пользователя
Example:
{
"password": "123"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Добавление доп. параметров для пользователя
post /user/addparam
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- name: required(string)
Название параметра
- value: required(string)
Значение параметра
Example:
Значение
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Добавление комментария для карты
post /user/addcomment
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- comment: required(string)
Текст комментария
Example:
{
"comment": "Новый комментарий"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Добавление метаданных для пользователя
post /user/addmetadata
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- metadata: required(array of object)
Метаданные пользователя. Список возможных вариантов с форматами можно узнать в методе /metadata/user
Items: MetadataElement
- name: required(string)
Идентификатор элемента метаданных
- value: (string)
Название элемента метаданных. Ожидаемый тип можно узнать в запроса /metadata/transaction для методов /cash или /metadata/user для методов /user
- name: required(string)
Example:
{
"metadata": [
{
"name": "source",
"value": "yandex"
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Удаление метаданных у пользователя
post /user/removemetadata
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- name: required(string)
Идентификатор метаданных, который требуется удалить
Example:
{
"name": "meta-name"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Установка токена для отправки push сообщений в приложения
post /user/setapptoken
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- app_token: required(string)
Token пользователя из firebase или onesignal
Example:
{
"app_token": "123"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Добавление сегмента для пользователя
post /user/addsegment
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- segment_id: required(integer)
Идентификатор сегмента, полученный в /reference/segment
Example:
{
"segment_id": 123
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Удаление сегмента у пользователя
post /user/removesegment
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- segment_id: required(integer)
Идентификатор сегмента, полученный в /reference/segment
Example:
{
"segment_id": 123
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Добавить для пользователя адрес доставки. ВАЖНО! Валидация адреса не производится. Должен быть заполнен хотя бы один параметр адреса.
post /user/addaddress
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- postal_code: (string)
Почтовый индекс
- region: (string)
Регион
- city: (string)
Город
- street: (string)
Улица
- home: (string)
Дом
- flat: (string)
Значение параметра
- comment: (string)
Значение параметра
Example:
{
"city": "Москва",
"street": "Кутузовский",
"home": "1"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Добавить новую бронь для пользователя
post /user/addreserve
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
Body
Media type: application/json
Type: object
Properties- resto_reserve: required(string)
Название предприятия, для которого сделано бронирование
- date_reserve: required(string)
Дата и время бронирования. Ожидается в формате "гггг-мм-дд чч:мм"
- comment: (string)
Комментарий к бронированию
Example:
{
"resto_reserve": "Ресторан №1",
"date_reserve": "2023-09-26 14:00",
"comment": "Столик у окна"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Баланс пользователя
post /user/balance
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- balance: required(integer)
Бонусный баланс пользователя в копейках
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"balance": 2600
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
Получить персональные рекомендации для пользователя
get /user/special
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Авторизация пользователя для получения его индивидуальных данных. Токен может быть передан в заголовке или в URL строке запроса (параметр access_token)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- specials: required(array of object)
Список рекомендаций
Items: UserSpecial
- subject: (string)
Заголовок рекомендации
- short_text: (string)
Снипет рекомендации
- full_text: (string)
Полный текст рекомендации
- image: (string)
URL адрес изображения
- subject: (string)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"specials": [
{
"subject": "Предложение №1",
"short_text": "Снипет 1",
"full_text": "Большой текст",
"image": "https://......."
},
{
"subject": "Предложение №2",
"short_text": "Снипет 2"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Secured by access_token
Headers
- x-access-token: required(string)
Токен пользователя, полученный в результате /user/auth или /user/openauth
HTTP status code 403
Пользовательский токен не передан, либо устарел
/community
Коммуникации.
Добавление комментария для карты
post /community/addcomment
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона
- comment: required(string)
Текст комментария
Example:
{
"number": "9020000000",
"comment": "Новый комментарий"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Отправить push сообщение в стороннее приложение.
post /community/sendapppush
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиенты. Номер телефона может быть в любом формате.
- message: required(string)
Текст сообщения
- subject: required(string)
Тема для Push сообщения
Example:
{
"number": "9020000000",
"message": "API сообщение",
"subject": "Тема"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Отправить сообщение в чат бот телеграм MCRM.
post /community/sendtelegram
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиента. Номер телефона может быть в любом формате.
- message: required(string)
Текст сообщения для отправки
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Отправить сообщение по SMS
post /community/sendsms
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- number: required(string)
Номер карты или номер телефона клиента. Номер телефона может быть в любом формате.
- message: required(string)
Текст сообщения для отправки
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Выслать проверочный код для регистрации по СМС
get /community/verify
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Query Parameters
- phone: required(string)
Номер телефона
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- verify_code: (string)
Если в настройках MCRM стоит открытая проверка, то в этом поле будет проверочный код, который платформа отправила пользователю. Иначе параметр в ответе отсутствует.
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"verify_code": "123"
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
post /community/verify
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- phone: required(string)
Номер телефона
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- verify_code: (string)
Если в настройках MCRM стоит открытая проверка, то в этом поле будет проверочный код, который платформа отправила пользователю. Иначе параметр в ответе отсутствует.
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"verify_code": "123"
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Восстановление пароля
get /community/recovery
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Query Parameters
- phone: required(string)
Номер телефона
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
post /community/recovery
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- phone: required(string)
Номер телефона
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
/reservation
Управление бронированиями
Создать новое бронирование. Если у предприятия уже есть бронирование у этого клиента на эту дату и время - существующее бронирование будет обновлено
post /reservation/create
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- name: required(string)
Имя клиента для бронирования
- phone: required(string)
Номер карты или номер телефона клиента. Номер телефона может быть в любом формате.
- table: required(string)
Столик. Произвольная строка
- date_reserve: required(string)
Дата и время бронирования. Может быть в разных форматах, но желателен "гггг-мм-дд чч:мм"
- status: required(string)
Статус бронирования. Произвольная строка
Example:
{
"name": "Петя",
"phone": "9999999999",
"table": "У окна",
"date_reserve": "2024-01-24 19:00",
"status": "new"
}
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- external_id: required(string)
Идентификатор брони
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"external_id": "123"
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Обновить существующее бронирование. Поиск идёт по клиенту, предприятию, дате и времени. Обновляется только столик и статус.
post /reservation/update
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- external_id: required(string)
Внешний идентификатор брони, который получен при создании
- table: required(string)
Столик. Произвольная строка
- date_reserve: required(string)
Дата и время бронирования. Может быть в разных форматах, но желателен "гггг-мм-дд чч:мм"
- status: (string)
Статус бронирования. Произвольная строка
Example:
{
"external_id": "9999999999",
"table": "У окна",
"date_reserve": "2024-01-24 19:00",
"status": "apply"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Мягкое удаление бронирования. Поиск идёт по клиенту, предприятию, дате и времени. Откат невозможен, при запросе /reservation/create будет создано новое бронирование.
post /reservation/delete
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
Body
Media type: application/json
Type: object
Properties- external_id: required(string)
Внешний идентификатор брони, который получен при создании
Example:
{
"external_id": "9999999999"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
/reference
Справочные данные для разных методов
Список обязательных полей для авторизации. Имена полей соответствуют методу /user/register. Значение true у поля phone_code говорит о том, что подтверждение по СМС обязательно.
get /reference/registerinfo
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- register: required(array of object)
Список районов
Items: RequiredElement
- name: required(string)
Название параметра
- required: required(boolean)
Обязательно или нет
- name: required(string)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"register": [
{
"name": "email",
"required": false
},
{
"name": "birth_date",
"required": true
},
{
"name": "district_home",
"required": false
},
{
"name": "district_work",
"required": false
},
{
"name": "gender",
"required": false
},
{
"name": "phone_code",
"required": true
},
{
"name": "first_name",
"required": false
},
{
"name": "last_name",
"required": true
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Список доступных предприятий в сети
get /reference/resto
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- restos: required(array of object)
Список районов
Items: ReferenceElement
- id: required(integer)
Идентификатор элемента
- name: required(string)
Имя элемента
- id: required(integer)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"restos": [
{
"id": 1,
"name": "Предприятие 1"
},
{
"id": 2,
"name": "Предприятие 2"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Список доступных для регистрации районов
get /reference/district
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- districts: required(array of object)
Список районов
Items: ReferenceElement
- id: required(integer)
Идентификатор элемента
- name: required(string)
Имя элемента
- id: required(integer)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"districts": [
{
"id": 1,
"name": "Центральный"
},
{
"id": 2,
"name": "Южный"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Список счетов, доступных для предприятия
get /reference/account
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- accounts: required(array of object)
Список счетов
Items: ReferenceElement
- id: required(integer)
Идентификатор элемента
- name: required(string)
Имя элемента
- id: required(integer)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"accounts": [
{
"id": -1,
"name": "Баланс карты"
},
{
"id": 1,
"name": "Дополнительный счёт"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Список сегментов, доступных для предприятия
get /reference/segment
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- segments: required(array of object)
Список сегментов
Items: ReferenceElement
- id: required(integer)
Идентификатор элемента
- name: required(string)
Имя элемента
- id: required(integer)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"segments": [
{
"id": 1,
"name": "Сегмент 1"
},
{
"id": 2,
"name": "Сегмент 2"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Список типов транзакций, доступных для предприятия
get /reference/transactiontype
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- types: required(array of object)
Список районов
Items: ReferenceElement
- id: required(integer)
Идентификатор элемента
- name: required(string)
Имя элемента
- id: required(integer)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"types": [
{
"id": 1,
"name": "Покупка"
},
{
"id": 2,
"name": "Триггер"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
/metadata
Работа с метаданными (функционал в разработке)
Список доступных вариантов метаданных, которые используются для транзакций
get /metadata/transaction
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- metadata: required(array of object)
Доступные метаданные для транзакций
Items: MetadataDescriptionElement
- name: required(string)
Идентификатор элемента метаданных. Уникально для сети предприятий. Используется при создании и при получении метаданных.
- canonical_name: required(string)
Понятное для человека название элемента метаданных
- desctiption: (string)
Описание элемента.
- required: required(boolean)
Обязательность для заполнения. Если true, то при создании сущностей блок метаданных обязателен, и заполнение этого элемента тоже обязательно
- format: required(one of int, float, string, date, datetime)
Формат данных ожидаемых данных. Если при добавлении метаданных не соответствует, то это ошибка.
Example:
{ "name": "meta_field", "canonical_name": "Мета поле", "desctiption": "Тестовое мета поле", "required": false, "format": "int" }
- name: required(string)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"metadata": [
{
"name": "meta_id",
"canonical_name": "Мета поле",
"desctiption": "Тестовое мета поле",
"required": false,
"format": "int"
},
{
"name": "some-meta-field",
"canonical_name": "Какое-то метаполе",
"required": true,
"format": "datetime"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ
Список доступных вариантов метаданных, которые используются для пользователей
get /metadata/user
Авторизация по API ключу. Ключ может быть передан в заголовке или в URL строке запроса (параметр api_key)
HTTP status code 200
Успешный ответ
Body
Media type: application/json
Type: object
Properties- metadata: required(array of object)
Доступные метаданные для транзакций
Items: MetadataDescriptionElement
- name: required(string)
Идентификатор элемента метаданных. Уникально для сети предприятий. Используется при создании и при получении метаданных.
- canonical_name: required(string)
Понятное для человека название элемента метаданных
- desctiption: (string)
Описание элемента.
- required: required(boolean)
Обязательность для заполнения. Если true, то при создании сущностей блок метаданных обязателен, и заполнение этого элемента тоже обязательно
- format: required(one of int, float, string, date, datetime)
Формат данных ожидаемых данных. Если при добавлении метаданных не соответствует, то это ошибка.
Example:
{ "name": "meta_field", "canonical_name": "Мета поле", "desctiption": "Тестовое мета поле", "required": false, "format": "int" }
- name: required(string)
- status: required(string)
Статус ответа success
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "success",
"code": 200,
"error_message": "",
"metadata": [
{
"name": "meta_id",
"canonical_name": "Мета поле",
"desctiption": "Тестовое мета поле",
"required": false,
"format": "int"
},
{
"name": "some-meta-field",
"canonical_name": "Какое-то метаполе",
"required": true,
"format": "datetime"
}
]
}
HTTP status code 401
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа 401
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":401,
"error_message":"Неверный или отсутствующий API ключ"
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":404,
"error_message":"Метод не найден"
}
HTTP status code 422
Ошибка в данных у запроса
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":422,
"error_message":"Недостаточно денег на счету для списания суммы"
}
HTTP status code 500
Body
Media type: application/json
Type: object
Properties- status: required(string)
Статус ответа error
- code: required(integer)
HTTP код ответа
- error_message: required(string)
Расшифровка ошибки
Example:
{
"status": "error",
"code":500,
"error_message":"Внутренняя ошибка сервера"
}
Secured by api_key
Headers
- x-api-key: required(string)
API ключ, полученный от администратора MCRM
HTTP status code 401
Неверный API ключ