*API REST › Objetos › CRM*

# Contacto

> El contacto, tal como lo devuelve la API.

Un cliente o un proveedor de la cuenta, con sus datos fiscales, correos electrónicos, teléfonos, direcciones y condiciones comerciales. Los pedidos, presupuestos, facturas y proyectos apuntan a un contacto. Los contactos usan el aislamiento heredado de la cuenta principal, así que una cuenta de facturación también ve los contactos de su cuenta principal. [`contactNumber`](https://docs.filmo.io/es/rest-api/objects/contact#response-contactNumber) es escribible (hasta 50 caracteres) pero no es único y Filmo no lo genera. La lectura de detalle, [`GET /api/v1/contacts/{contactId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/get-a-contact), añade los contactos relacionados, que la lista no incluye.

Esquemas: `ContactDto`, `ContactDetailDto`

## Atributos

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `id` | string | Identificador único del contacto. |
| `name` | string | Nombre del contacto (persona o empresa). |
| `contactType` | string | Tipo de contacto: person (particular) o company (negocio). `person`, `company` |
| `role` | string | Rol del contacto: client, provider, lead, debtor, creditor, student, teacher o unspecified. `client`, `provider`, `lead`, `debtor`, `creditor`, `student`, `teacher`, `unspecified` |
| `status` | string | Estado del contacto: active (operativo), inactive (desactivado) o archived (cerrado, conservado como histórico). `active`, `inactive`, `archived` |
| `nif` | string | NIF/CIF o número de identificación fiscal; null si no se ha registrado. |
| `commercialName` | string | Nombre comercial; null si coincide con el nombre o no consta. |
| `position` | string | Cargo o puesto de la persona de contacto; null si no está registrado. |
| `contactNumber` | string | Número de contacto asignado por la cuenta (referencia interna); null si no consta. |
| `emails` | object[] | Lista de direcciones de correo electrónico del contacto. |
| `emails.id` | string | Identificador interno del correo electrónico dentro del contacto. |
| `emails.label` | string | Etiqueta descriptiva del email; null si no tiene. |
| `emails.email` | string | Dirección de email. |
| `emails.isPrimary` | boolean | Si este es el email principal del contacto. |
| `billingEmail` | string | Email de facturación dedicado; null significa que se usa el email principal. |
| `phoneNumbers` | object[] | Lista de teléfonos del contacto. |
| `phoneNumbers.id` | string | Identificador interno del teléfono dentro del contacto. |
| `phoneNumbers.label` | string | Etiqueta descriptiva del teléfono; null si no tiene. |
| `phoneNumbers.number` | string | Número de teléfono. |
| `phoneNumbers.countryCode` | string | Prefijo telefónico internacional del país (p. ej. "+34"); null si no consta. |
| `phoneNumbers.isPrimary` | boolean | Si este es el teléfono principal del contacto. |
| `websites` | object[] | Lista de sitios web del contacto. |
| `websites.id` | string | Identificador interno del sitio web dentro del contacto. |
| `websites.label` | string | Etiqueta descriptiva del sitio web; null si no tiene. |
| `websites.url` | string | URL del sitio web. |
| `addresses` | object[] | Lista de direcciones del contacto. |
| `addresses.id` | string | Identificador interno de la dirección dentro del contacto. |
| `addresses.label` | string | Etiqueta descriptiva de la dirección; null si no tiene. |
| `addresses.addressLine1` | string | Primera línea de la dirección; null si no consta. |
| `addresses.addressLine2` | string | Segunda línea de la dirección; null si no consta. |
| `addresses.city` | string | Ciudad; null si no consta. |
| `addresses.province` | string | Provincia o región; null si no se ha registrado. |
| `addresses.postcode` | string | Código postal; null si no se ha registrado. |
| `addresses.country` | string | País; null si no consta. |
| `addresses.isMain` | boolean | Si esta es la dirección principal del contacto. |
| `folder` | string | Carpeta o agrupación organizativa; null si el contacto no está clasificado. |
| `discountPercentage` | number | Porcentaje de descuento general del contacto (0-100); null si no hay descuento configurado. |
| `preferredLanguage` | string | Idioma preferido del contacto; null si no se ha registrado. |
| `currency` | string | Moneda por defecto del contacto como código ISO 4217; null si no consta. |
| `paymentMethod` | object | Método de pago preferido del contacto; null si no está configurado. |
| `paymentMethod.type` | string | Tipo de método de pago: bank_transfer, card, cash, sepa_direct_debit u other. `bank_transfer`, `card`, `cash`, `other`, `sepa_direct_debit` |
| `paymentMethod.customValue` | string | Detalle en texto libre cuando el tipo es "other" (por ejemplo, un método registrado antes de configurarse); null en caso contrario. |
| `paymentDays` | integer[] | Días del mes en que el contacto hace pagos; null si no está configurado. |
| `expirationDays` | integer | Días de vencimiento por defecto de las facturas del contacto; null si no está configurado. |
| `subscribedToMarketing` | boolean | Si el contacto está suscrito a comunicaciones de marketing. |
| `isAppUser` | boolean | Si el contacto tiene acceso a la app. |
| `customFields` | object<string, any> | Valores de los campos personalizados por identificador de campo personalizado; las definiciones están en `/api/v1/custom-fields`. |
| `createdAt` | string<date-time> | Fecha de creación en ISO 8601 con desplazamiento. |
| `updatedAt` | string<date-time> | Fecha de la última actualización en ISO 8601 con desplazamiento. |
| `relatedContacts` | object[] | Contactos relacionados con este contacto (p. ej. las personas de una empresa). |
| `relatedContacts.id` | string | Identificador único del contacto relacionado. |
| `relatedContacts.name` | string | Nombre del contacto relacionado. |
| `relatedContacts.commercialName` | string | Nombre comercial del contacto relacionado; null si no consta. |
| `relatedContacts.contactType` | string | Tipo del contacto relacionado: person o company. `person`, `company` |
| `relatedContacts.role` | string | Rol del contacto relacionado. `client`, `provider`, `lead`, `debtor`, `creditor`, `student`, `teacher`, `unspecified` |
| `relatedContacts.status` | string | Estado del contacto relacionado: active, inactive o archived. `active`, `inactive`, `archived` |
| `relatedContacts.relationRole` | string | Rol de la relación entre los dos contactos (p. ej. "empleado de"); null si no consta. |

## Valores

| Campo | Valores |
| --- | --- |
| `contactType` | `person`, `company` |
| `role` | `client`, `provider`, `lead`, `debtor`, `creditor`, `student`, `teacher`, `unspecified` |
| `status` | `active`, `inactive`, `archived` |

## Ejemplo

*Contact · Generado a partir del esquema*

```json
{
  "id": "id_8f2a1c",
  "name": "Example",
  "contactType": "person",
  "role": "client",
  "status": "active",
  "nif": "00000000T",
  "commercialName": "Example",
  "position": "string",
  "contactNumber": "string",
  "emails": [
    {
      "id": "id_8f2a1c",
      "label": "Example",
      "email": "ana@example.com",
      "isPrimary": true
    }
  ],
  "billingEmail": "ana@example.com",
  "phoneNumbers": [
    {
      "id": "id_8f2a1c",
      "label": "Example",
      "number": "string",
      "countryCode": "ES",
      "isPrimary": true
    }
  ],
  "websites": [
    {
      "id": "id_8f2a1c",
      "label": "Example",
      "url": "https://example.com"
    }
  ],
  "addresses": [
    {
      "id": "id_8f2a1c",
      "label": "Example",
      "addressLine1": "string",
      "addressLine2": "string",
      "city": "string",
      "province": "string",
      "postcode": "string",
      "country": "ES",
      "isMain": true
    }
  ],
  "folder": "string",
  "discountPercentage": 1,
  "preferredLanguage": "es-ES",
  "currency": "EUR",
  "paymentMethod": {
    "type": "bank_transfer",
    "customValue": "string"
  },
  "paymentDays": [
    1
  ],
  "expirationDays": 1,
  "subscribedToMarketing": true,
  "isAppUser": true,
  "customFields": {
    "key": "string"
  },
  "createdAt": "2026-09-01T08:00:00Z",
  "updatedAt": "2026-09-01T08:00:00Z",
  "relatedContacts": [
    {
      "id": "id_8f2a1c",
      "name": "Example",
      "commercialName": "Example",
      "contactType": "person",
      "role": "client",
      "status": "active",
      "relationRole": "string"
    }
  ]
}
```

## Lo devuelven

- [`GET /api/v1/contacts`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/list-contacts) — Listar contactos
- [`GET /api/v1/contacts/{contactId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/get-a-contact) — Obtener un contacto

## Lo modifican

- [`POST /api/v1/contacts`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/create-a-contact) — Crear un contacto
- [`PATCH /api/v1/contacts/{contactId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/update-a-contact) — Actualizar un contacto
- [`PATCH /api/v1/contacts/{contactId}/preferences`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/update-the-commercial-terms-of-a-contact) — Actualizar las condiciones comerciales de un contacto
- [`POST /api/v1/contacts/{contactId}/addresses`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/add-an-address-to-a-contact) — Añadir una dirección a un contacto
- [`PATCH /api/v1/contacts/{contactId}/addresses/{addressId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/update-an-address-of-a-contact) — Actualizar una dirección de un contacto
- [`DELETE /api/v1/contacts/{contactId}/addresses/{addressId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/remove-an-address-from-a-contact) — Quitar una dirección de un contacto
- [`POST /api/v1/contacts/{contactId}/related-contacts`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/relate-two-contacts) — Relacionar dos contactos
- [`PATCH /api/v1/contacts/{contactId}/related-contacts/{relatedContactId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/change-the-role-of-a-relationship) — Cambiar el rol de una relación
- [`DELETE /api/v1/contacts/{contactId}/related-contacts/{relatedContactId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/contacts/unrelate-two-contacts) — Quitar la relación entre dos contactos

---

URL canónica: https://docs.filmo.io/es/rest-api/objects/contact  
Última actualización: 2026-10-25