Наверх
Подписаться

Регистрация конечного действия пользователя

Назначение API

Client Order Request Api (далее просто API) предназначен для регистрации конечного действия пользователя(заказа) в системе CallTouch. Данное действие позволяет клиентам CallTouch, связать сессионные параметры пользователя (ключевые слова поиска, источник, тип источника, сессию гугл аналитикс) с его конечным целевым действием (например, таким как покупка товара). API позволяет осуществлять регистрацию заказов, поиск, поддержку жизненного цикла заказа, что помогает оценить процент не завершенных заказов или заказов, которые были отклонены.

 

Статусы заказа

NOT_SET (заказ был инициирован пользователем, но не был оформлен)

PENDING (заказ был оформлен, но еще не подтвержден системой)

APPROVED (заказ оплачен и подтвержден системой)

CANCELED (заказ отменен оператором системы или пользователем)

REJECTED (заказ отклонен системой)

COMPLETED (заказ доставлен клиенту / завершен)

 

Жизненный цикл заказа

 

Функции API

  • Регистрация заявки

URLhttp://api.calltouch.ru/calls-service/RestAPI/requests/orders/register/

Допустимые типы запроса: GET, POST

 

Параметры:

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта.

subject

НЕТ

Назначение/имя запроса; Далее эту информацию можно будет видеть и редактировать в личном кабинете.

status

НЕТ

Статус заявки: NOT_SET(если не установлено),, ACCEPTED, REJECTED

fio

НЕТ

Фамилия имя отчество клиента, заполнившего анкету

phoneNumber

НЕТ

Номер телефона клиента по заявке на сайте

personalPhone

НЕТ

Личный телефон или нет(true, false); Ставить нужно “false”, если не требуется, чтобы телефон не был сохранен как личный телефон клиента

email

НЕТ

Адрес электронной почты клиента, заполнившего заявку на сайте

orderSum

НЕТ

Общая сумма заказа (обязательное поле, если есть orderNumber). Если требуется посчитать суммы заказов по сессиям пользователя – необходимо заполнять.

orderNumber

НЕТ

уникальный номер заказа в системе клиента (не в CallTouch). Заполняется как уникальный ключ. Может равняться уникальному номеру заявки, если это один и тот же объект.

orderComment

НЕТ

Комментарии к заказу. Может быть заполнено по усмотрению сайта, например подробным описание заказанных товаров. Далее эту информацию можно будет видеть и редактировать в личном кабинете.

orderStatus

НЕТ

Статус заказа (NOT_SET(если не установлено), PENDING, APPROVED, REJECTED, CANCELLED);

requestNumber

НЕТ

Уникальный номер заявки на сайте. Заполняется уникальным ключем, сгенерированным на стороне клиента для дальнешей связи заявки на сайте и заявки, созданной в CallTouch

sessionId

НЕТ

Текущий номер сессииCallTouch, заполняется параметром, который CallTouch передает call_value переменной скрипта.

 

Для интеграции сессии пользователя необходимо в параметр sessionId устанавливать значение параметра call_value, которое Calltouch передает при ответе на запрос выделения тел. номера для сайта.

 

ОТВЕТ: JSONRequestObject

Пример: http://api.calltouch.ru/calls-service/RestAPI/requests/orders/register/?clientApiId=XXXXX&
requestNumber=1&orderNumber=1&orderSum=1250&fio=Ivan&email=ivan@calltoch.ru&phoneNumber=XXXXXXXXXXX&
personalPhone=false&orderComment=Ok

 

  • Регистрация заказа по звонку

URLhttp://api.calltouch.ru/calls-service/RestAPI/orders/register/

 

Необходимым условием корректной связи звонка и заказа является указание корректного времени заказа orderDate.

orderDate определяет время заказа. Это дата будет использоваться для поиска звонка для связки.

 

Критерий определения:

  • Дата звонка <= Дата заказа <= Дата звонка + Длительность звонка + linkTimeThreshold(допустимый порог)
  • Телефон звонившего должен совпадать с phoneNumber.

 

Допустимые типы запроса: GET, POST

 

Параметры:

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

status

НЕТ

Статус заявки; NOT_SET(если не установлено), ACCEPTED, REJECTED

fio

НЕТ

Фамилия имя отчество клиента, заполнившего анкету

phoneNumber

НЕТ

Номер телефона клиента по заявке на сайте

personalPhone

НЕТ

Личный телефон или нет(true, false); Ставить нужно “false”, если не требуется, чтобы телефон не был сохранен как личный телефон клиента

email

НЕТ

Адрес электронной почты клиента

orderSum

НЕТ

Общая сумма заказа (обязательное поле, если есть orderNumber). Если требуется посчитать суммы заказов по сессиям пользователя – необходимо заполнять.

orderNumber

НЕТ

Уникальный номер заказа в системе клиента (не в CallTouch). Заполняется как уникальный ключ. 

orderComment

НЕТ

Комментарии к заказу. Может быть заполнено по усмотрению сайта, например подробным описание заказанных товаров. Далее эту информацию можно будет видеть и редактировать в личном кабинете.

orderStatus

НЕТ

Статус заказа (NOT_SET(если не установлено), PENDING, APPROVED, REJECTED, CANCELLED)

orderDate

ДА

Определяет время заказа (Формат день.месяц.год чч:мм:сек )

linkTimeThreshold

НЕТ

Параметр определяющий допустимый порог по времени для поиска ближайшего звонка (размерность в секундах), если параметр отсутствует то значение будет определяться значением настройки из нашей системы по умолчанию 7200 (2 часа)

 

Важным параметром является orderDate, он определяет время заказа. Предполагается, что заказ составляется во время разговора по телефону с клиентом и данная дата является временем заведения заказа на момент звонка. Это дата будет использоваться для поиска звонка для связки.

Критерий определения 

  • Дата звонка <= Дата заказа <= Дата звонка + Длительность звонка + linkTimeThreshold(допустимый порог)
  • Телефон звонившего должен совпадать с phoneNumber.

 

ОТВЕТ: JSONOrderObject

 

Пример: http://api.calltouch.ru/calls-service/RestAPI/orders/register/?clientApiId=XXXXX&orderSum=780

&fio=Ivan&phoneNumber=XXXXXXXXXXX&orderComment=Ok&orderNumber=MK-908777&orderDate=22.04.2014 15:09:44



  • Поиск заявки

URLhttp://api.calltouch.ru/calls-service/RestAPI/requests

 

Допустимые типы запроса: GET

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

dateFrom

НЕТ

Дата начала просмотра. Формат: (mm/dd/yyyy)

dateTo

НЕТ

Дата конца просмотра. Формат: (mm/dd/yyyy)

subject

НЕТ

Назначение/имя запроса (поиск: START_WITH),

keywords

НЕТ

Ключевые слова по которым был заход на сайт (поиск: CONTAINS),

city

НЕТ

Город (поиск: FULL MATCH)

source

НЕТ

Источник (поиск: FULL MATCH)

medium

НЕТ

Тип источника (поиск: FULL MATCH)

  • поиск: START_WITH – поиск строк, которые начинаются с “значения параметра”

  • поиск: CONTAINS – поиск строк, которые содержат в себе “ значение параметра”

  • поиск: FULL MATCH – поиск строк с полным соответствием “ значению параметра”

 

ОТВЕТ: Array(JSON Request Object)

 

Примерhttp://api.calltouch.ru/calls-service/RestAPI/requests?clientApiId=XXXXX&dateFrom=01/02/2013&dateTo=02/14/2013

 

 

  • Выбор заявки

URLhttp://api.calltouch.ru/calls-service/RestAPI/requests/{requestNumber}

 

Допустимые типы запроса: GET

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

 

ОТВЕТ: JSON Request Object

 

Примерhttp://api.calltouch.ru/calls-service/RestAPI/requests/1?clientApiId=XXXXX

 

  • Выбор заказа

URLhttp://api.calltouch.ru/calls-service/RestAPI/requests/orders/{orderNumber}

 

Допустимые типы запроса: GET

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

 

ОТВЕТ: JSON Order Object

 

Примерhttp://api.calltouch.ru/calls-service/RestAPI/requests/orders/2?clientApiId=XXXXX

 

  • Поиск заказов

URLhttp://api.calltouch.ru/calls-service/RestAPI/[id сайта]/orders-diary/orders

 

Допустимые типы запроса: GET

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

dateFrom

ДА

Дата начала просмотра. Формат: (dd/mm/yyyy).

dateTo

ДА

Дата конца просмотра. Формат: (dd/mm/yyyy).

orderSource

НЕТ

Источник заказа (CALL или REQUEST, можно указать оба значения через запятую).

phoneNumber.value

НЕТ

Номер телефона заказчика.

 

ОТВЕТ: JSON Order Object

 

Пример: http://api.calltouch.ru/calls-service/RestAPI/XXX/orders-diary/orders?clientApiId=XXXXX&
dateFrom=01/04/2014&dateTo=10/04/2014&orderSource=CALL,REQUEST&phoneNumber.value=XXXXXXXXXXX

 

  • Изменение статуса заказа

 

Подтверждение заказа (Approved)

URLhttp://api.calltouch.ru/calls-service/RestAPI/requests/orders/{orderNumber}/approve

 

Допустимые типы запроса: GET

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

 

ОТВЕТ: JSON Order Object

 

Пример: http://api.calltouch.ru/calls-service/RestAPI/requests/orders/2/approve?clientApiId=XXXXX

 

Отмена заказа (canceled)

URL: http://api.calltouch.ru/calls-service/RestAPI/requests/orders/{orderNumber}/cancel

 

Допустимые типы запроса: GET

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

 

ОТВЕТ: JSON Order Object

 

Пример: http://api.calltouch.ru/calls-service/RestAPI/requests/orders/2/cancel?clientApiId=XXXXX

 

Ошибка в обработке заказа (Rejected)

URL: http://api.calltouch.ru/calls-service/RestAPI/requests/orders/{orderNumber}/reject

 

Допустимые типы запроса: GET

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

 

ОТВЕТ: JSON Order Object

 

Примерhttp://api.calltouch.ru/calls-service/RestAPI/requests/orders/2/reject?clientApiId=XXXXX

 

Заказ доставлен клиенту / завеошен (completed)

URL: http://api.calltouch.ru/calls-service/RestAPI/requests/orders/{orderNumber}/complete

 

Допустимые типы запроса: GET

 

Имя параметра

Обязателен?

Описание

clientApiId

ДА

Уникальный идентификатор, ключ для отправки запроса в CallTouch, выдается по запросу для каждого сайта. Обращаться за значением необходимо по заявке из личного кабинета.

 

ОТВЕТ: JSON Order Object 

 

Пример: http://api.calltouch.ru/calls-service/RestAPI/requests/orders/2/complete?clientApiId=XXXXX

 

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

 

  • JSONRequestObject

 

Пример

 

запрос:

http://api.calltouch.ru/calls-service/RestAPI/requests/orders/register/?clientApiId=XXXXX&
requestNumber=5399&orderNumber=11225&orderStatus=PENDING&orderSum=1250&fio=Ivan&
email=ivan@calltouch.ru&phoneNumber=XXXXXXXXXXX&personalPhone=true

ответ: {"requestNumber":"5399", "status":"NOT_SET", "client":{"fio":"Alex", "phones":[{"phoneNumber":"XXXXXXXXXXX", "phoneType":"PERSONAL"}], "contacts":[{"contactType":"EMAIL", "contactValue":"ivan@calltouch.ru"}]}, "order":{"orderNumber":"11225", "orderSum":"1251", "orderStatus":"PENDING", "orderComments":null}, "session":null}
 

 

  • JSON Order Object

 

Пример

 

запрос:

http://api.calltouch.ru/calls-service/RestAPI/requests/orders/2/approve?clientApiId=XXXXX

ответ: {"orderNumber":"2","orderSum":"1251","orderStatus":"APPROVED","orderComments":null}

 


Коды ошибок

КОД ОШИБКИ

ОПИСАНИЕ

HTTP Status 500

Illegal access - Неверные авторизационные данные (clientApiId, siteId)

HTTP Status 400

The request sent by the client was syntactically incorrect (Синтаксическая ошибка в запросе)

HTTP Status 404

The requested resource is not available (Запрошенный ресурс недоступен, обращение к несуществующей директории)



Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

0 Комментарии

Статья закрыта для комментариев.