Contact import. Before you upload the file.
The same guide as the one beside the Import / export screen of Mailing & SMS: the file format, the recognised column headers, size, consent and privacy, checking the result. The texts and the header list are generated from the product itself.
This page is generated at build time from apps/api/locales/en/messaging.json, packages/contracts/src/messaging/import-headers.ts in the repository.
How to prepare an import file
Format
Upload CSV (UTF-8, separated by semicolons or commas) or Excel .xlsx; .xls, PDF and Word are not supported.
You can also paste addresses: one contact per line, or CSV text.
Columns
The header row is searched in the first 15 rows; headers are recognised whatever their case and Turkish letters («E-posta», «Email», «Mail»…).
After the upload you see where each column goes and can correct it; unrecognised columns are left out.
Several e-mails in one cell separated by «/» become separate contacts; landlines are kept apart, SMS goes to mobile numbers only.
Size
There is no row limit: large files are processed in the background with the progress on screen.
If you split a file, the list name comes from the file name without chunk suffixes («-1of5», «(2)»).
Consent and KVKK
The default consent is «No consent». Without a consent column, the consent you choose is your own statement; a contact's refusal is never undone by an import.
Names, e-mails, phone numbers and addresses of contacts are stored encrypted.
Check
Uploading the same e-mail or phone again updates the contact, no duplicate is made; empty cells never clear a value.
The result shows read, added, updated, skipped and invalid rows; skipped rows can be downloaded with their reason.
Recognised columns
A column whose header matches one of the headers below goes to that field by itself; case, Turkish letters and punctuation do not matter. A header that is not listed can be linked to a field in the mapping step after the upload; a column left unlinked is not imported.
The declaration confirmed on upload
An import does not start until this declaration about consent is confirmed: