Загрузка сделок
| Метод | upload.deals_history | 
|---|---|
| Описание | Загрузка сделок | 
| Кому доступен | Агент, Клиент | 
Метод позволяет загружать историю сделки, переходы между этапами, стоимость.
Для правильного построения отчета "Сквозная аналитика" минимально у сделки должны быть заполнены такие параметры как "дата создания сделки, стоимость, контакт (с контактными данными - дата создания, email, phone) или указанныйcommunication_idиcommunication_type". - По контактным даннымmain_contact_ext_idиcontact_ext_idsищем все обращения контакта (звонок, заявка, чат) - Поcommunication_idиcommunication_typeсвязываем сделку с данным обращением. - Если были переданы одновременноmain_contact_ext_id,contact_ext_idsиcommunication_id,communication_typeсвязка с обращением будет поcommunication_idиcommunication_type- Отсеиваем обращения которые попадают под фильтр - время между обращением и созданием сущности более 30 дней. - Возможно обновить контактные данные (main_contact_ext_idиcontact_ext_ids) или обращение (communication_id,communication_type) на сделке только со сдвигом даты модификации этапа (modified_date_time,modified_stage_date_time). Произойдет переопределение связки сделки и обращения.
Ограничения
| Название | Описание | 
|---|---|
created_date_time | 
Дата и время не может быть в будущем | 
modified_stage_date_time | 
Больше creation_date.  modified_stage_date_time загружаемого этапа должен быть больше или равен modified_stage_date_time последнего загруженного этапа  | 
closed_date_time | 
Не может быть меньше даты создания сделки. Учитывается в расчетах только для сделок на этапе со статусом "success" или "failed"  | 
При некорректном заполнении данных по одной из сделок, запрос завершается ошибкой и после его исправления необходимо весь запрос передавать заново.
Параметры запроса
| Название | Тип | Обязательный | Описание | 
|---|---|---|---|
access_token | 
string | да | Ключ сессии аутентификации | 
user_id | 
number | нет | Уникальный идентификатор пользователя клиента агента от имени которого делается запрос Является обязательным для агентаДля получения списка пользователей клиента необходимо использовать метод "get.customer_users"  | 
deals | 
array | да | Список сделок. Лимит 1000 сделок | 
ext_id | 
string | да | Идентификатор сделки во внешней системе | 
name | 
string | да | Имя сделки | 
created_date_time | 
iso8601 | да | Дата и время создания сделки (YYYY-MM-DD hh:mm:ss) | 
modified_date_time | 
iso8601 | нет | Дата и время изменения сделки (YYYY-MM-DD hh:mm:ss) Если параметр не передан, будет проставлена дата и время вызова метода  | 
modified_stage_date_time | 
iso8601 | да | Дата и время перехода сделки в текущий этап (YYYY-MM-DD hh:mm:ss) | 
closed_date_time | 
iso8601 | нет | Дата и время закрытия сделки (YYYY-MM-DD hh:mm:ss) | 
contact_ext_ids | 
array | нет | Контакт привязанный к сделке. Обязательный если указан    main_contact_ext_id. | 
main_contact_ext_id | 
string | нет | Главный контакт сделки из списка contact_ext_ids. Обязательный если передается contact_ext_ids. | 
employee_ext_id | 
string | нет | Ответственный сотрудник за сделку | 
lead_ext_id | 
string | нет | Связанный лид | 
company_ext_id | 
string | нет | Связанные компании | 
revenue | 
number | нет | Выручка по сделке | 
sales_funnel_ext_id | 
string | да | Идентификатор воронки продаж | 
stage_ext_id | 
string | да | Идентификатор этапа воронки продаж | 
comments | 
string | нет | Комментарий к сделке | 
source | 
string | нет | Источник сделки | 
communication_id | 
number | нет | Идентификатор обращения с которым связана сделка. Обязательный если передается communication_type
 | 
communication_type | 
string | нет | Типа обращения с которым связана сделка. Доступны значения chat,offline_message,call,goal,email. Обязательный если передается communication_id. | 
user_fields | 
array | нет | Пользовательские поля проставленные у сделки. Перед тем как передать, нужно создать пользовательское поле через метод "create.deal_user_field" | 
ext_id | 
string | да | Внешний идентификатор пользовательского поля сделки | 
value | 
string | да | значение пользовательского поля сделки | 
tags | 
array | нет | Пользовательские тэги. | 
ext_id | 
string | да | Внешний идентификатор тэга | 
name | 
string | да | Имя тэга | 
JSON структура запроса
{
  "jsonrpc": "2.0",
  "id": "number",
  "method": "upload.deals_history",
  "params": {
    "access_token": "string",
    "user_id": "number",
    "deals": [
      {
        "ext_id": "string",
        "name": "string",
        "created_date_time": "iso8601",
        "modified_date_time":"iso8601",
        "modified_stage_date_time": "iso8601",
        "closed_date_time": "iso8601",
        "contact_ext_ids": [
          "string"
        ],
        "main_contact_ext_id": "string",
        "employee_ext_id": "string",
        "lead_ext_id": "string",
        "revenue": "number",
        "sales_funnel_ext_id": "string",
        "stage_ext_id": "string",
        "comments": "string",
        "source": "string",
        "communication_id": "number",
        "communication_type": "string",
        "source": "string",
        "tags":[
           {
            "name": "string",
            "ext_id": "string"
           },
           {
            "name": "string",
            "ext_id": "string"
           }
        ]
        "user_fields":[
          {
            "ext_id": "string",
            "value": "string"
          },
          {
            "ext_id": "string",
            "value": "string"
          }
        ]
      }
    ]
  }
}
JSON структура ответа
{
  "jsonrpc": "2.0",
  "id": "number",
  "result": {
    "data": {},
    "metadata": "object"
  }
}
Список возвращаемых ошибок
Смотрим раздел "Список ошибок для методов с глаголом upload"