The upload report
Imports are visible only through campaigns of your organization (
404 import_not_found otherwise).
The import summary object
Row-level issue codes
Thecode column of the report, and the keys of issues:
The report file
The report columns arerow_number, severity, code, supplied, duplicate_of_row (supplied is a JSON object with the submitted values). There is no message column: the machine-readable contract of the report is the code, and rendering it as human text is the consumer’s job.
The summary block at the end of the file (import_summary) uses the field keys as labels — filename, format, encoding, phone_column, rows_seen, accepted, warned, rejected, duplicates_found, status, plus refusal with the refusal code for a refused import; for planned_calls and calls sources filename and encoding are empty and format is json. The dnc_match report has the columns row_number, phone, contact_name, phone_key, dnc_entry_id, source, reason, recorded_at and a dnc_screen_summary block (checked_rows, unscreened_rows, matched_rows, suppressed_contacts).
Two conventions of the shared upload machinery apply on every path alike — a file in the dashboard, the planned_calls of campaign creation, and an added calls batch:
- row numbers count the header as row 1, so the first planned call is
row_number2 and the N-th is N+1 — inissues, inerror.importand in the report file; - the CSV is UTF-8 with a BOM and CRLF line endings (so Excel opens Cyrillic correctly): decode it as
utf-8-sig, or the first header cell reads asrow_number.
row_number and are not data rows.