Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
api_передача_заказов [2015/10/21 15:52] Максим |
api_передача_заказов [2017/06/05 11:18] (текущий) Алексей |
||
---|---|---|---|
Строка 6: | Строка 6: | ||
Для обмена данными с API Qnits используется формат JSON. | Для обмена данными с API Qnits используется формат JSON. | ||
- | Запросы в формате JSON передаются методом HTTP POST на следующий адрес: | + | Запросы в формате JSON передаются методом HTTP POST на следующий адрес: |
- | http://ваш_домен/api | + | [[http://api.qnits.ru/api|http://api.qnits.ru/api]] либо [[http://ваш_домен/api|http://ваш_домен/api]] |
Строка 18: | Строка 18: | ||
Параметры qnit_id и token можно узнать в менеджер панели по адресу | Параметры qnit_id и token можно узнать в менеджер панели по адресу | ||
- | http://panel.qnits.ru/manager_mvc/settings/api | + | [[http://panel.qnits.ru/manager_mvc/settings/api|http://panel.qnits.ru/manager_mvc/settings/api]] |
Строка 24: | Строка 24: | ||
Используется для передачи заказов в Qnits. | Используется для передачи заказов в Qnits. | ||
- | |||
Пример запроса | Пример запроса | ||
- | ''{ | + | ''{ "token": "541c4a59bdad87039c7ae8df6af14785сaf7526f01a613f5bd894d615ee811e5", "qnit_id": 1, "method": "CreateOrder", "params": { "name": "Иванов Иван", "phone": "79123211232", "external_id": "2643", <nowiki>"products": [</nowiki> { "id": 1000587, "quantity": 1, }, { "id": 3044, "quantity": 2 } ] } }'' |
+ | === Параметры === | ||
- | "token": "541c4a59bdad87039c7ae8df6af14785сaf7526f01a613f5bd894d615ee811e5", | + | Параметры метода передаются в массиве '''params'''. Параметры, помеченные звездочкой* обязательны, остальные можно не передавать. |
- | "qnit_id": 1, | + | |Ключ |Тип |Описание ||| |
+ | |name* |Строка |Имя клиента в свободной форме ||| | ||
+ | |phone* |Строка |Номер телефона клиента в свободной форме ||| | ||
+ | |external_id* |Строка |Идентификатор заказа на внешней витрине, необходим для защиты от дублирования заказов. Если вы не храните на внешней витрине заказы, то можно передавать в данный параметр текущие дату+время ||| | ||
+ | |products* | Массив | Массив списка товаров для заказа состоит из списка объектов с полями ||| | ||
+ | |::: |::: | Ключ |Тип |Описание | | ||
+ | |::: |::: | id* |Число |Артикул товара можно узнать в библиотеке товаров | | ||
+ | |::: |::: | quantity* |Число |Количество товаров в заказе | | ||
+ | |::: |::: | price |Число | \\ Желаемая цена товара \\ \\ \\ Если не передана или передан ноль/пустое значение, то устанавливается текущая розничная цена по платформе + доп. наценка витрины \\ \\ Может быть выше текущей розничной цены по платформе соответственно партнерский бонус с продажи будет выше \\ \\ Может быть ниже текущей розничной цены по платформе, за счет партнерского бонуса. Но не ниже уровня, при котором бонус равен нулю. | | ||
+ | |::: |::: |name |Строка |Название товара в вашем магазине | | ||
+ | |address |Строка |Адрес клиента в свободной форме ||| | ||
+ | |secondaryPhone |Строка |Дополнительный телефон клиента, на случай если первый телефон не доступен ||| | ||
+ | |email |Строка |Email клиента ||| | ||
+ | |comments |Строка |Комментарий(Виден клиенту) ||| | ||
+ | |clientIpAddress | Строка| ip адрес клиента в формате ipv4\\ \\ Осторожно используйте данный параметр — если переданный адрес не будет принадлежать клиенту, заказ может быть определен как подозрительный ||| | ||
+ | |utmParams | Массив| Массив UTM меток ||| | ||
+ | |::: |::: | Ключ | Тип | Описание | | ||
+ | |::: |::: | utm_cid | Строка | субаккаунт | | ||
+ | |::: |::: | utm_source | Строка | Метка utm_source | | ||
+ | |::: |::: | utm_medium | Строка | Метка utm_medium | | ||
+ | |::: |::: | utm_campaign | Строка | Метка utm_campaign | | ||
+ | |::: |::: | utm_content | Строка | Метка utm_content | | ||
+ | |::: |::: | utm_term | Строка | Метка utm_term | | ||
- | "method": "CreateOrder", | ||
- | "params": { | + | В ответ на запрос сервер вернёт: |
- | "name": "Иванов Иван", | + | |Код |Описание ||| |
- | + | |201 |Заказ успешно создан, в ответе будет JSON массив со следующими полями: ||| | |
- | "phone": "79123211232", | + | |::: | Ключ |Тип |Описание | |
- | + | |::: | status |Строка |статус создания «Ок» | | |
- | "external_id": "2643", | + | |::: | order_id |Число |Номер созданного заказа | |
- | + | |::: | order_url |Строка |ссылка на заказ на витрине платформы, по данной ссылке можно делать редирект для клиента, чтобы он мог выбрать способ оплаты или ознакомиться с заказом | | |
- | <nowiki>"products": [</nowiki> | + | |400 |Ошибка во вводных данных, в ответе будет JSON массив со следующими полями: ||| |
- | + | |::: | Ключ |Тип |Описание | | |
- | { | + | |::: | status |Строка |статус создания, «ERROR» | |
- | + | |::: | errors |Массив |массив ошибок в формате JSON | | |
- | "id": 1000587, | + | |
- | + | ||
- | "quantity": 1, | + | |
- | + | ||
- | }, | + | |
- | + | ||
- | { | + | |
- | + | ||
- | "id": 3044, | + | |
- | + | ||
- | "quantity": 2 | + | |
- | + | ||
- | } | + | |
- | + | ||
- | ] | + | |
- | + | ||
- | } | + | |
- | + | ||
- | }'' | + | |
- | + | ||
- | + | ||
- | === Параметры === | + | |
- | + | ||
- | Параметры метода передаются в массиве '''params'''. Параметры, помеченные звездочкой* обязательны, остальные можно не передавать. | + | |
- | {{:pasted:20151021-154906.png}} | + | \\ |
- | В ответ на запрос сервер вернет ответ: | ||
- | {{:pasted:20151021-154824.png}} |