Restofy Docs
Contactos del negocio POST

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
            }
        ]
    }
}