curl --request POST \
--url https://api.example.com/api/admin/import-csv \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"phone": "<string>",
"código país": "<string>",
"nombre": "<string>",
"apellido": "<string>",
"cumpleaños": "<string>",
"empresa": "<string>",
"cargo": "<string>",
"dirección": "<string>",
"etiquetas": "<string>"
}
'{
"success": true,
"report": {
"details": [
{
"file": "<string>",
"location": "<string>",
"imported": 123,
"errors": 123,
"status": "<string>"
}
],
"totalSuccess": 123,
"totalErrors": 123
}
}Bulk import customers from CSV files and link them to locations
curl --request POST \
--url https://api.example.com/api/admin/import-csv \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"phone": "<string>",
"código país": "<string>",
"nombre": "<string>",
"apellido": "<string>",
"cumpleaños": "<string>",
"empresa": "<string>",
"cargo": "<string>",
"dirección": "<string>",
"etiquetas": "<string>"
}
'{
"success": true,
"report": {
"details": [
{
"file": "<string>",
"location": "<string>",
"imported": 123,
"errors": 123,
"status": "<string>"
}
],
"totalSuccess": 123,
"totalErrors": 123
}
}POST /api/admin/import-csv
canViewSettings permission (admin or super_admin only).
await requirePermission("canViewSettings");
| Filename | Location |
|---|---|
molla-clientes.csv | La Tasca Alicante · Centro |
balmis-clientes.csv | La Tasca Alicante · Puerto |
marques-cubas-clientes.csv | La Tasca Madrid · Centro |
claudio-coello-clientes.csv | La Tasca Madrid · Salamanca |
el-patio-clientes.csv | El Patio Alicante |
Show Report Properties
curl -X POST https://your-domain.com/api/admin/import-csv \
-H "Cookie: your-session-cookie"
{
"success": true,
"report": {
"details": [
{
"file": "molla-clientes.csv",
"location": "La Tasca Alicante · Centro",
"imported": 243,
"errors": 5
},
{
"file": "balmis-clientes.csv",
"status": "Skipped - Not Found"
}
],
"totalSuccess": 243,
"totalErrors": 5
}
}
{
"error": "Error message",
"stack": "Error stack trace",
"status": 500
}
customers tableemail provided, match by emailphonesource: 'Bulk Import'let phone = phoneVal;
if (phone && countryCode) {
phone = `+${countryCode.replace('+', '')}${phone}`;
}
DD/MM/YYYY → converted to YYYY-MM-DDYYYY-MM-DD → used as-is