API импорта сделок
Где узнать id-номер виджета, Вы можете узнать в этой статье.
Для авторизации запроса необходимо передать token
Тело запроса может быть в либо CSV (content type: text/csv, application/csv), либо формате JSON (content type: application/json).
Ограничения:
Если формат JSON, то сделки передаются в массиве с набором следующих полей, см. таблицу Поля сделки
Если формат CSV, то сделки передаются по одной в каждой строке с разделителем ";". Также передается первая строка, в которой указывается набор передаваемых полей с учётом порядка.
Таблица "Поля сделки"
Список статусов сделок:
Ограничения:
- Запрос в формате CSV ограничен 1 Мb.
- Запрос в формате JSON ограничен 50 Kb.
Если формат JSON, то сделки передаются в массиве с набором следующих полей, см. таблицу Поля сделки
Если формат CSV, то сделки передаются по одной в каждой строке с разделителем ";". Также передается первая строка, в которой указывается набор передаваемых полей с учётом порядка.
Таблица "Поля сделки"
Название | Наличие | Тип данных | Описание |
id | required | string | Уникальный идентификатор сделки |
status | required | string | Статус сделки (список см. ниже) |
timestamp | required |
string (YYYY-MM-DDThh:mm:ss) |
Дата последней модификации сделки или её статуса в формате ISO 8601 |
amount | optional | number | Сумма сделки в рублях |
uid | optional | string | Идентификатор пользователя MANGO OFFICE |
contactPhone | optional | string | Контакт (номер телефона) Клиента |
gaCid | optional | string | Идентификатор пользователя Google Analytics (Client ID) |
utmSource | optional | string | Источник (метка utm_source) |
utmMedium | optional | string | Канал (метка utm_medium) |
utmCampaign | optional | string | Кампания (метка utm_campaign) |
utmContent | optional | string | Содержание (метка utm_content) |
utmTerm | optional | string | Ключевое слово (метка utm_term) |
regionCode | optional | string | ISO код региона, в котором пользователь зашёл на сайт (например MOW) |
firstPath | optional | string | Путь, по которому пользователь зашёл на сайт (например /about) |
Список статусов сделок:
- new - новая;
- accepted - в работе;
- closed - успешно закрытая (сделка состоялась);
- declined - отклоненная (сделка не состоялась).
Token авторизации
Для авторизации запроса /deals необходимо передать token, полученный в личном кабинете.Узнать идентификатор Вашего виджета коллтрекинга и получить token для доступа к API Вы можете в личном кабинете MANGO OFFICE, руководствуясь статьей "Подключение API".
Передавать token в ДКТ нужно одним из следующих способов:
- в параметрах:access_token=<token>
- в http заголовке:Authorization: Bearer <token>
Ответ
Статусы ответов:- 200 OK - сделки успешно загружены;
- 400 Bad Request - неверные параметры запроса, или ошибка в формате передаваемых данных, или слишком много данных в запросе;
- 401 Unauthorized - не передан token авторизации;
- 403 Forbidden - не хватает прав доступа у token'а;
- 429 Too Many Requests - ограничение по количеству запросов.
Ответ приходит в формате application/json.
В результате успешной обработки запроса, будет выдано следующее сообщение:
{
"status": "ok",
"requestId": "<идентификатор запроса>"
}
"status": "ok",
"requestId": "<идентификатор запроса>"
}
В случае ошибки ответ будет такой:
{
"status": "error",
"requestId": "<идентификатор запроса>"
"error": {
"code": <код ошибки>
"message": "<текстовое описание ошибки>"
} }
Поле requestId генерируется на сервере и присваивается запросу для последующего разбора инцидентов."status": "error",
"requestId": "<идентификатор запроса>"
"error": {
"code": <код ошибки>
"message": "<текстовое описание ошибки>"
} }
Список кодов ошибок:
Код ошибки | Описание | ||
1001 | Неизвестная/неклассифицированная ошибка | ||
1101 | Неизвестный source | ||
1102 | Недопустимый размер данных | ||
1103 | Неизвестный Content-Type | ||
1131 | CSV - ошибка парсинга | ||
1132 | CSV - похоже на неверный разделитель | ||
1133 | CSV - похоже на неверный разделитель | ||
1151 | JSON - ошибка парсинга | ||
1152 | JSON - как минимум одна строка недопустимого формата | ||
1153 | JSON - как минимум одна строка недопустимого формата | ||
1002 | В разработке | ||
1003 | Внутренний запрос закончился ошибкой |
Пример запроса /deals
Здесь приведен пример запроса импорта сделок, переданный от сервиса интеграций Albato к ДКТ.Запрос:
Тело в формате application/json:
[
{
"id": "22110885",
"status": "new",
"timestamp": "2019-09-04T16:10:43Z",
"amount": 0,
"uid": "37609b54f3eff487ef71",
"contactPhone" : "79991234567",
"gaCid": "578007821.1568880149",
"utmSource": "google",
"utmMedium": "cpc",
"utmCampaign": "cars",
"utmContent": "",
"utmTerm": "купить машину",
"regionCode": "MOW",
"firstPath": "/new_cars"
},
{
"id": "22113423",
"status": "closed",
"timestamp": "2019-09-04T17:12:01Z",
"amount": 3540000,
"uid": "23452f45234sd21234q3",
"gaCid": "5780023421.15234280149",
"utmSource": "yandex",
"utmMedium": "display",
"utmCampaign": "bmw",
"utmContent": "",
"utmTerm": "купить бмв",
"regionCode": "SPB",
"firstPath": "/"
}
]
{
"id": "22110885",
"status": "new",
"timestamp": "2019-09-04T16:10:43Z",
"amount": 0,
"uid": "37609b54f3eff487ef71",
"contactPhone" : "79991234567",
"gaCid": "578007821.1568880149",
"utmSource": "google",
"utmMedium": "cpc",
"utmCampaign": "cars",
"utmContent": "",
"utmTerm": "купить машину",
"regionCode": "MOW",
"firstPath": "/new_cars"
},
{
"id": "22113423",
"status": "closed",
"timestamp": "2019-09-04T17:12:01Z",
"amount": 3540000,
"uid": "23452f45234sd21234q3",
"gaCid": "5780023421.15234280149",
"utmSource": "yandex",
"utmMedium": "display",
"utmCampaign": "bmw",
"utmContent": "",
"utmTerm": "купить бмв",
"regionCode": "SPB",
"firstPath": "/"
}
]
Тело в формате text/csv:
id;status;timestamp;amount;uid;gaCid;utmSource;utmMedium;utmCampaign;utmContent;utmTerm;regionCode;firstPath
22110885;new;2019-09-04T16:10:43Z;0;37609b54f3eff487ef71;578007821.1568880149;google;cpc;cars;;купить машину;MOW;/new_cars
22113423;closed;2019-09-04T17:12:01Z;35329.52;23452f45234sd21234q3;5780023421.15234280149;yandex;display;bmw;;купить бмв;SPB;/
22110885;new;2019-09-04T16:10:43Z;0;37609b54f3eff487ef71;578007821.1568880149;google;cpc;cars;;купить машину;MOW;/new_cars
22113423;closed;2019-09-04T17:12:01Z;35329.52;23452f45234sd21234q3;5780023421.15234280149;yandex;display;bmw;;купить бмв;SPB;/
Ответ:
{
"status": "ok",
"requestId": "2ar228bf3-6768-31a9-91ee-84ddc49wer8cb"
}
"status": "ok",
"requestId": "2ar228bf3-6768-31a9-91ee-84ddc49wer8cb"
}
Ответ с ошибкой:
{
"status": "error",
"requestId": "2ar228bf3-6768-31a9-91ee-84ddc49wer8cb",
"error": {
"code": 1102,
"message": "Недопустимый размер данных"
}
}
"status": "error",
"requestId": "2ar228bf3-6768-31a9-91ee-84ddc49wer8cb",
"error": {
"code": 1102,
"message": "Недопустимый размер данных"
}
}