Crear varios contactos de una vez
POST /api/parties/create-parties
Descripción
Registra hasta 100 contactos nuevos en una sola llamada, sean clientes o proveedores.
Detalles
Valida todo el lote antes de guardar: si un solo contacto tiene un problema no se crea ninguno y la respuesta indica la posición y el campo de cada error. Un teléfono que ya pertenece a otro contacto o que se repite en el lote se rechaza, para no duplicar contactos. Permite una prueba previa que valida sin guardar nada.
Permisos requeridos
auth-tenant
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| dryRun | bool | No |
default:0
|
| items | array | Sí | — |
| items[].ref | string | No |
max:60
|
| items[].name | string | Sí |
max:150
|
| items[].phone | string | No |
max:30
|
| items[].notes | string | No | — |
| items[].suppliers | array | No | — |
| items[].suppliers[].name | string | No |
max:150
|
| items[].suppliers[].supplierCode | string | No |
max:50
|
| items[].suppliers[].paymentTermsDays | int | No |
min_value:0
|
| items[].suppliers[].contactPersonName | string | No |
max:150
|
| items[].suppliers[].contactPersonPhone | string | No |
max:30
|
| items[].suppliers[].notes | string | No | — |
Ejemplo de request
curl -X POST https://restofy.pro/api/parties/create-parties \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"items": [
{
"name": "string"
}
]
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-11-02T19:00:57Z
HTTP 200
Request
{
"items": [
{
"ref": "cliente",
"name": "Marta Gómez 6ae8d8c7c7801",
"phone": "***",
"notes": "Prefiere mesa en terraza"
},
{
"ref": "proveedor",
"name": "Distribuidora La Cosecha 6ae8d8c7c7808",
"phone": "***",
"suppliers": [
{
"supplierCode": "PRV-6ae8d8c7c7809",
"paymentTermsDays": 30,
"contactPersonName": "Andrés Rojas"
}
]
}
]
}
Response
{
"success": true,
"message": "Contactos creados",
"data": {
"dryRun": false,
"items": [
{
"index": 0,
"ref": "cliente",
"partyId": 3,
"partyUuid": "d78a9700-953c-4f2d-9a73-8133d306dcb4",
"supplierId": null
},
{
"index": 1,
"ref": "proveedor",
"partyId": 4,
"partyUuid": "ea436763-f01b-4309-b638-7529bf0cc99d",
"supplierId": 2
}
]
}
}