Импорт заявок

Читать 7

Запрос


POST: https://api.calltouch.ru/lead-service/v1/api/request/create   
 HTTP-заголовки:
  • Access-Token – API-ключ
  • SiteId – ID ЛК Calltouch

Тело запроса в формате JSON:

{
    "requests":
        [
        
         // Заявка 1
        
            {
                "requestNumber": "Уникальный ID заявки с формы на сайте",
                "subject": "Название формы",
                "requestUrl": "Адрес страницы, с которой отправлена заявка",
                "requestDate": "Дата и время отправки заявки",
                "sessionId": "ID сессии Calltouch",
                "phoneNumber": "Номер телефона клиента",
                "email": "Почта клиента",
                "fio": "ФИО пользователя",
                "comment": {
                    "text": "Комментарий к заявке"
                },
                "addTags": [
                    {"tag": "Тег 1"},
                    {"tag": "Тег 2"},
                    {"tag": "Тег N"}
                ],
                "customSources": {
                    "source": "Произвольный источник",
                    "medium": "Произвольный канал",
                    "campaign": "Произвольная кампания",
                    "content": "Произвольное объявление",
                    "term": "Произвольная ключевая фраза"
                }, "customFields": [ {"field": "name", "value": "Вася"}, {"field": "birthday", "value": "1990-01-01"} ]
            }
        
            // Заявка N
            
            ...
        ]
}


Параметры запроса

Параметр Формат Обязательный Описание
requests array Да Массив заявок. Можно перечислить до 100 заявок за 1 запрос. Импорт происходит в режиме онлайн. Результат импорта будет доступен сразу же в ответе. Обязательно.
requests.requestNumber string Да Уникальный ID заявки с формы на сайте. Любые символы, максимум 100.
requests.subject string Нет Название формы. Любые символы, максимум 100.
requests.requestUrl string Нет Адрес страницы, с которой отправлена заявка. Любые символы, максимум 1000.
requests.requestDate string Да Дата и время отправки заявки. Формат: dd-mm-yyyy hh:mm:ss.
requests.sessionId string Нет

ID сессии Calltouch. Любые символы, максимум 100. Если не указано, то заявки будет присвоен произвольный источник customSources.

Подробнее о получении sessionId в статье: Получение id сессии Calltouch

requests.phoneNumber string Нет Номер телефона клиента. Номер может быть в любом формате, 71234567890, +71234567890, 8 (123) 456-78-90 и любом другом – он будет автоматически конвертирован в 11-значный формат.
requests.email string Нет Почта клиента. Формат x@x.x, любые символы.
requests.fio string Нет ФИО пользователя. Любые символы, максимум 100.
requests.comment.text string Нет Комментарий к заявке. Любые символы, максимум 1000.
requests.addTags array Нет Добавление тегов к заявке. Если такие теги уже есть в ЛК, новые не создаются, а используются существующие. Любые символы, максимум 100 в каждом теги. Максимум 100 тегов.
requests.customSources object Нет Произвольные источники заявки. Используются только когда не указан sessionId. Необязательно. Если не указан ни sessionId ни произвольные источники, то заявка создается без источника.

requests.customSources.

source

string Да, если указан customSources. Произвольный источник

requests.customSources.

medium

string Да, если указан customSources. Произвольный канал

requests.customSources.

campaign

string Да, если указан customSources. Произвольная кампания

requests.customSources.

content

string Нет Произвольное объявление

requests.customSources.

term

string Нет Произвольная ключевая фраза

requests.customFields

array Нет

Данные по пользовательским полям в заявке.

Формат:

"customFields": [
     {"field": "name", "value": "Вася"},
     {"field": "birthday", "value": "1990-01-01"}
]

В field передается название пользовательского поля в API, в value передается значение пользовательского поля.

Ответ



Если валидация всех параметров прошла успешно, то запускается процесс импорта заявок и в ответ отдается информация по импортированным заявкам, пример:

{
    "meta": [],
    "data": {
        "requests": [
            {
                "imported": true,
                "requestNumber": "HG6Z4qxVEoI4ewZ8",
                "calltouchRequestId": 1257831,
                "error": null
            }
        ]
    }
}
 Если API-токен не указан, то импорт заявок не выполняется и выводится ошибка:
{
    "meta": [],
    "data": {
        "message": "Ошибка доступа"
    }
}
 Если API-токен указан не верно, то импорт заявок не выполняется и выводится ошибка:
{

"meta": [],

"data": {

"message": "Ошибка доступа"

}

}


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

Параметр Формат Описание
data.requests.imported boolean Флаг импортирована ли заявка или нет
datarequests.requestNumber string ID заявки с сайта
datarequests.calltouchRequestId string ID заявки в Calltouch, может быть null
datarequests.error string Отображется причина ошибки импорта заявок


 Если в запросе обнаруживаются ошибки валидации, то импорт заявок не выполняется и выводится ошибка:

{
    "meta": [],
    "data": {
        "type": "validationError",
        "apiErrorData": null,
        "validationErrorData": {
            "violations": [
                {
                    "fieldPath": "requests[0].requestDate",
                    "message": "Значение даты и времени недопустимо."
                }
            ]
        }
    }
}


Система баллов API Calltouch



Система баллов API - механизм, регулирующий нагрузку на сервера Calltouch. Для каждого проекта выдается индивидуальное суточное количество баллов
За каждый успешно выполненный запрос списываются баллы. Подробнее читайте в статье: Система баллов API Calltouch

Количество запросов в секунду к API Calltouch ограничено – не более 5 запросов в секунду с одного IP-адреса. Например, если в 1 секунду с одного IP-адреса поступит 11 API-запросов, то 5 выполнятся сразу, а остальные API-запросы завершатся с ошибкой.