Skip to main content

Отчёт по загрузке номеров

Загрузки видны только через кампании вашей организации (иначе 404 import_not_found).

Объект сводки по загрузке

issues в сводке — объект с ключами по коду, а не массив. Массив (элементы {"row_number", "code", "severity"}, первые 50) приходит только внутри error.import на отклонённой партии.

Построчные коды замечаний

Колонка code в отчёте и ключи issues:

Файл отчёта

Колонки отчёта: row_number, severity, code, supplied, duplicate_of_row (supplied — JSON-объект с присланными значениями). Колонки с текстом сообщения нет: машиночитаемый контракт отчёта — это code, а превращать его в человеческий текст — задача потребителя. Итоговый блок в конце файла (import_summary) подписан именами полей — filename, format, encoding, phone_column, rows_seen, accepted, warned, rejected, duplicates_found, status плюс refusal с кодом отказа у отклонённой загрузки; для источников planned_calls и calls поля filename и encoding пусты, а format равен json. У отчёта dnc_match колонки row_number, phone, contact_name, phone_key, dnc_entry_id, source, reason, recorded_at и блок dnc_screen_summary (checked_rows, unscreened_rows, matched_rows, suppressed_contacts). Два соглашения общего механизма загрузок действуют на всех путях одинаково — и для файла в кабинете, и для planned_calls при создании кампании, и для добавляемой партии calls:
  • нумерация строк считает заголовок первой строкой, поэтому первый planned call — это row_number 2, а N-й — N+1: и в issues, и в error.import, и в файле отчёта;
  • CSV — это UTF-8 с BOM и переводами строк CRLF (чтобы Excel корректно открывал кириллицу): декодируйте как utf-8-sig, иначе первая ячейка заголовка прочитается как row_number.
Итоговые строки вместо числового row_number несут имена полей и строками данных не являются.