Contatos

Listar

get

Listagem paginada de contatos. Para resultados mais específicos, utilize o endpoint /filter.

Autorizações
Parâmetros de consulta
Statusstring · enumOpcional

Status dos contatos a serem listados. Caso não informado, o valor padrão é ACTIVE.

Default: ACTIVEValores possíveis:
CreatedAt.Beforestring · date-timeOpcional

Limite superior de busca, sempre em fuso horário UTM.

CreatedAt.Afterstring · date-timeOpcional

Limite inferior de busca, sempre em fuso horário UTM.

UpdatedAt.Beforestring · date-timeOpcional

Limite superior de busca, sempre em fuso horário UTM.

UpdatedAt.Afterstring · date-timeOpcional

Limite inferior de busca, sempre em fuso horário UTM.

PageNumberinteger · int32 · máx: 2147483647Opcional

Número da página a ser obtida.

Default: 1
PageSizeinteger · int32 · mín: 1 · máx: 100Opcional

Tamanho da página a ser obtida.

Default: 15
OrderBystringOpcional

Nome do campo para ser utilizado como pivô da ordenação.

OrderDirectionstring · enumOpcional

Determina se a ordenação deve ser crescente ou decrescente.

Valores possíveis:
Respostas
200

Success

application/json
get
/v1/contact
GET /core/v1/contact HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Accept: */*
{
  "pageNumber": 1,
  "pageSize": 15,
  "orderBy": "text",
  "orderDirection": "ASCENDING",
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "createdAt": "2025-11-06T22:36:18.351Z",
      "updatedAt": "2025-11-06T22:36:18.351Z",
      "companyId": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "nameWhatsapp": "text",
      "nameInstagram": "text",
      "nameMessenger": "text",
      "phoneNumber": "text",
      "phoneNumberFormatted": "text",
      "email": "text",
      "instagram": "text",
      "messengerId": "text",
      "annotation": "text",
      "tagIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "tagNames": [
        "text"
      ],
      "status": "ACTIVE",
      "origin": "CREATED_BY_USER",
      "importedAt": "2025-11-06T22:36:18.351Z",
      "utm": {
        "sourceId": "text",
        "source": "text",
        "clid": "text",
        "medium": "text",
        "campaign": "text",
        "content": "text",
        "headline": "text",
        "term": "text",
        "referralUrl": "text"
      },
      "customFields": {
        "ANY_ADDITIONAL_PROPERTY": null
      },
      "portfolioIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "portfolioNames": [
        "text"
      ],
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": null
      }
    }
  ],
  "totalItems": 1,
  "totalPages": 1,
  "hasMorePages": true
}

Criar

post
Autorizações
Corpo
namestring | nuloOpcional

Nome do contato.

phoneNumberstring | nuloOpcional

Número no WhatsApp.

emailstring | nuloOpcional

Endereço de email.

instagramstring | nuloOpcional

Nome de usuário no Instagram.

annotationstring | nuloOpcional

Notas internas da equipe.

tagIdsstring · uuid[] | nuloOpcional

IDs das etiquetas atribuídas.

tagNamesstring[] | nuloOpcional

Nomes das etiquetas atribuídas. Este campo será ignorado caso TagIds seja definido.

portfolioIdsstring · uuid[] | nuloOpcional

IDs das carteiras atribuídas.

portfolioNamesstring[] | nuloOpcional

Nomes das carteiras atribuídas. Este campo será ignorado caso PortfolioIds seja definido.

sequenceIdsstring · uuid[] | nuloOpcional

IDs das sequências atribuídas.

Respostas
200

Success

application/json
post
/v1/contact
POST /core/v1/contact HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 499

{
  "name": "text",
  "phoneNumber": "text",
  "email": "text",
  "instagram": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "sequenceIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "options": {
    "upsert": true,
    "upsertFields": [
      "Name"
    ],
    "upsertTagOperation": "INSERTIFNOTEXISTS",
    "getIfExists": true
  }
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-11-06T22:36:18.351Z",
  "updatedAt": "2025-11-06T22:36:18.351Z",
  "companyId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "nameWhatsapp": "text",
  "nameInstagram": "text",
  "nameMessenger": "text",
  "phoneNumber": "text",
  "phoneNumberFormatted": "text",
  "email": "text",
  "instagram": "text",
  "messengerId": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "status": "ACTIVE",
  "origin": "CREATED_BY_USER",
  "importedAt": "2025-11-06T22:36:18.351Z",
  "utm": {
    "sourceId": "text",
    "source": "text",
    "clid": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  }
}

Filtrar

post

Filtragem paginada de contatos.

Autorizações
Corpo
pageNumberinteger · int32 · máx: 2147483647Opcional

Número da página a ser obtida.

Default: 1
pageSizeinteger · int32 · mín: 1 · máx: 100Opcional

Tamanho da página a ser obtida.

Default: 15
orderBystring | nuloOpcional

Nome do campo para ser utilizado como pivô da ordenação.

orderDirectionstring · enum | nuloOpcional

Determina se a ordenação deve ser crescente ou decrescente.

Valores possíveis:
statusstring · enum | nuloOpcional

Status dos contatos a serem listados. Caso não informado, o valor padrão é ACTIVE.

Default: ACTIVEValores possíveis:
textFilterstring | nuloOpcional

Filtro textual. A busca é realizada nos atributos textuais relevantes do contato.

namestring | nuloOpcional

Filtro por nome.

phoneNumberstring | nuloOpcional

Filtro por número de telefone.

emailstring | nuloOpcional

Filtro por email.

instagramstring | nuloOpcional

Filtro por nome de usuário do Instagram.

tagIdsstring · uuid[] | nuloOpcional

Filtro por etiquetas usando IDs.

tagNamesstring[] | nuloOpcional

Filtro por etiquetas usando nomes.

portfolioIdsstring · uuid[] | nuloOpcional

Filtro por carteiras usando IDs.

portfolioNamesstring[] | nuloOpcional

Filtro por carteiras usando nomes.

originstring · enum | nuloOpcional

Filtro por origem.

Valores possíveis:
Respostas
200

Success

application/json
post
/v1/contact/filter
POST /core/v1/contact/filter HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 652

{
  "pageNumber": 1,
  "pageSize": 15,
  "orderBy": "text",
  "orderDirection": "ASCENDING",
  "createdAt": {
    "before": "2025-11-06T22:36:18.351Z",
    "after": "2025-11-06T22:36:18.351Z"
  },
  "updatedAt": {
    "before": "2025-11-06T22:36:18.351Z",
    "after": "2025-11-06T22:36:18.351Z"
  },
  "includeDetails": [
    "Tags"
  ],
  "status": "ACTIVE",
  "textFilter": "text",
  "name": "text",
  "phoneNumber": "text",
  "email": "text",
  "instagram": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "origin": "CREATED_BY_USER",
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}
{
  "pageNumber": 1,
  "pageSize": 15,
  "orderBy": "text",
  "orderDirection": "ASCENDING",
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "createdAt": "2025-11-06T22:36:18.351Z",
      "updatedAt": "2025-11-06T22:36:18.351Z",
      "companyId": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "nameWhatsapp": "text",
      "nameInstagram": "text",
      "nameMessenger": "text",
      "phoneNumber": "text",
      "phoneNumberFormatted": "text",
      "email": "text",
      "instagram": "text",
      "messengerId": "text",
      "annotation": "text",
      "tagIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "tagNames": [
        "text"
      ],
      "status": "ACTIVE",
      "origin": "CREATED_BY_USER",
      "importedAt": "2025-11-06T22:36:18.351Z",
      "utm": {
        "sourceId": "text",
        "source": "text",
        "clid": "text",
        "medium": "text",
        "campaign": "text",
        "content": "text",
        "headline": "text",
        "term": "text",
        "referralUrl": "text"
      },
      "customFields": {
        "ANY_ADDITIONAL_PROPERTY": null
      },
      "portfolioIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "portfolioNames": [
        "text"
      ],
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": null
      }
    }
  ],
  "totalItems": 1,
  "totalPages": 1,
  "hasMorePages": true
}

Obter por Número de telefone

get
Autorizações
Parâmetros de rota
phonestringObrigatório

Número de telefone

Parâmetros de consulta
Respostas
200

Success

application/json
get
/v1/contact/phonenumber/{phone}
GET /core/v1/contact/phonenumber/{phone} HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-11-06T22:36:18.351Z",
  "updatedAt": "2025-11-06T22:36:18.351Z",
  "companyId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "nameWhatsapp": "text",
  "nameInstagram": "text",
  "nameMessenger": "text",
  "phoneNumber": "text",
  "phoneNumberFormatted": "text",
  "email": "text",
  "instagram": "text",
  "messengerId": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "status": "ACTIVE",
  "origin": "CREATED_BY_USER",
  "importedAt": "2025-11-06T22:36:18.351Z",
  "utm": {
    "sourceId": "text",
    "source": "text",
    "clid": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  }
}

Atualizar por Número de telefone

put
Autorizações
Parâmetros de rota
phonestringObrigatório

Número de telefone.

Corpo
namestring | nuloOpcional

Nome do contato.

phoneNumberstring | nuloOpcional

Número no WhatsApp.

emailstring | nuloOpcional

Endereço de email.

instagramstring | nuloOpcional

Nome de usuário no Instagram.

annotationstring | nuloOpcional

Notas internas da equipe.

tagIdsstring · uuid[] | nuloOpcional

IDs das etiquetas atribuídas.

tagNamesstring[] | nuloOpcional

Nomes das etiquetas atribuídas. Este campo será ignorado caso TagIds seja definido.

portfolioIdsstring · uuid[] | nuloOpcional

IDs das carteiras atribuídas.

portfolioNamesstring[] | nuloOpcional

Nomes das carteiras atribuídas. Este campo será ignorado caso PortfolioIds seja definido.

sequenceIdsstring · uuid[] | nuloOpcional

IDs das sequências atribuídas.

statusstring · enum | nuloOpcional

Status do contato.

Valores possíveis:
pictureUrlstring | nuloOpcional

Informe neste campo uma Url para definição da imagem do contato

Respostas
200

Success

application/json
put
/v1/contact/phonenumber/{phone}
PUT /core/v1/contact/phonenumber/{phone} HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 621

{
  "fields": [
    "Name"
  ],
  "name": "text",
  "phoneNumber": "text",
  "email": "text",
  "instagram": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "sequenceIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "status": "ACTIVE",
  "pictureUrl": "text",
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "utm": {
    "source": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "options": {
    "tagsOperation": "InsertIfNotExists"
  }
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-11-06T22:36:18.351Z",
  "updatedAt": "2025-11-06T22:36:18.351Z",
  "companyId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "nameWhatsapp": "text",
  "nameInstagram": "text",
  "nameMessenger": "text",
  "phoneNumber": "text",
  "phoneNumberFormatted": "text",
  "email": "text",
  "instagram": "text",
  "messengerId": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "status": "ACTIVE",
  "origin": "CREATED_BY_USER",
  "importedAt": "2025-11-06T22:36:18.351Z",
  "utm": {
    "sourceId": "text",
    "source": "text",
    "clid": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  }
}

Obter por ID

get
Autorizações
Parâmetros de rota
idstring · uuidObrigatório

ID do contato

Parâmetros de consulta
Respostas
200

Success

application/json
get
/v1/contact/{id}
GET /core/v1/contact/{id} HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-11-06T22:36:18.351Z",
  "updatedAt": "2025-11-06T22:36:18.351Z",
  "companyId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "nameWhatsapp": "text",
  "nameInstagram": "text",
  "nameMessenger": "text",
  "phoneNumber": "text",
  "phoneNumberFormatted": "text",
  "email": "text",
  "instagram": "text",
  "messengerId": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "status": "ACTIVE",
  "origin": "CREATED_BY_USER",
  "importedAt": "2025-11-06T22:36:18.351Z",
  "utm": {
    "sourceId": "text",
    "source": "text",
    "clid": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  }
}

Atualizar

put
Autorizações
Parâmetros de rota
idstring · uuidObrigatório

ID do contato.

Corpo
namestring | nuloOpcional

Nome do contato.

phoneNumberstring | nuloOpcional

Número no WhatsApp.

emailstring | nuloOpcional

Endereço de email.

instagramstring | nuloOpcional

Nome de usuário no Instagram.

annotationstring | nuloOpcional

Notas internas da equipe.

tagIdsstring · uuid[] | nuloOpcional

IDs das etiquetas atribuídas.

tagNamesstring[] | nuloOpcional

Nomes das etiquetas atribuídas. Este campo será ignorado caso TagIds seja definido.

portfolioIdsstring · uuid[] | nuloOpcional

IDs das carteiras atribuídas.

portfolioNamesstring[] | nuloOpcional

Nomes das carteiras atribuídas. Este campo será ignorado caso PortfolioIds seja definido.

sequenceIdsstring · uuid[] | nuloOpcional

IDs das sequências atribuídas.

statusstring · enum | nuloOpcional

Status do contato.

Valores possíveis:
pictureUrlstring | nuloOpcional

Informe neste campo uma Url para definição da imagem do contato

Respostas
200

Success

application/json
put
/v2/contact/{id}
PUT /core/v2/contact/{id} HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 621

{
  "fields": [
    "Name"
  ],
  "name": "text",
  "phoneNumber": "text",
  "email": "text",
  "instagram": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "sequenceIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "status": "ACTIVE",
  "pictureUrl": "text",
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "utm": {
    "source": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "options": {
    "tagsOperation": "InsertIfNotExists"
  }
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-11-06T22:36:18.351Z",
  "updatedAt": "2025-11-06T22:36:18.351Z",
  "companyId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "nameWhatsapp": "text",
  "nameInstagram": "text",
  "nameMessenger": "text",
  "phoneNumber": "text",
  "phoneNumberFormatted": "text",
  "email": "text",
  "instagram": "text",
  "messengerId": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "status": "ACTIVE",
  "origin": "CREATED_BY_USER",
  "importedAt": "2025-11-06T22:36:18.351Z",
  "utm": {
    "sourceId": "text",
    "source": "text",
    "clid": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  }
}

Atualizar etiquetas por Número de telefone

post
Autorizações
Parâmetros de rota
phonestringObrigatório

Número de telefone

Corpo
tagNamesstring[] | nuloOpcional

Lista de nomes das etiquetas

tagIdsstring · uuid[] | nuloOpcional

Lista de identificadores das etiquetas (opcional se o nome for informado)

operationstring · enumOpcional

Tipo de operação: InsertIfNotExists - Insere as etiquetas que já não estiverem relacionadas ao contato; ExcluiIfExists - Remove as etiquetas que já estiverem relacionadas no contato; ReplaceAll - Remove todas as etiquetas do contato e inclui as que estão sendo informadas.

Valores possíveis:
Respostas
200

Success

application/json
post
/v1/contact/phonenumber/{phone}/tags
POST /core/v1/contact/phonenumber/{phone}/tags HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 103

{
  "tagNames": [
    "text"
  ],
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "operation": "InsertIfNotExists"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-11-06T22:36:18.351Z",
  "updatedAt": "2025-11-06T22:36:18.351Z",
  "companyId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "nameWhatsapp": "text",
  "nameInstagram": "text",
  "nameMessenger": "text",
  "phoneNumber": "text",
  "phoneNumberFormatted": "text",
  "email": "text",
  "instagram": "text",
  "messengerId": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "status": "ACTIVE",
  "origin": "CREATED_BY_USER",
  "importedAt": "2025-11-06T22:36:18.351Z",
  "utm": {
    "sourceId": "text",
    "source": "text",
    "clid": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  }
}

Atualizar etiquetas

post
Autorizações
Parâmetros de rota
idstring · uuidObrigatório

ID do contato ou número de telefone.

Corpo
tagNamesstring[] | nuloOpcional

Lista de nomes das etiquetas

tagIdsstring · uuid[] | nuloOpcional

Lista de identificadores das etiquetas (opcional se o nome for informado)

operationstring · enumOpcional

Tipo de operação: InsertIfNotExists - Insere as etiquetas que já não estiverem relacionadas ao contato; ExcluiIfExists - Remove as etiquetas que já estiverem relacionadas no contato; ReplaceAll - Remove todas as etiquetas do contato e inclui as que estão sendo informadas.

Valores possíveis:
Respostas
200

Success

application/json
post
/v1/contact/{id}/tags
POST /core/v1/contact/{id}/tags HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 103

{
  "tagNames": [
    "text"
  ],
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "operation": "InsertIfNotExists"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-11-06T22:36:18.351Z",
  "updatedAt": "2025-11-06T22:36:18.351Z",
  "companyId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "nameWhatsapp": "text",
  "nameInstagram": "text",
  "nameMessenger": "text",
  "phoneNumber": "text",
  "phoneNumberFormatted": "text",
  "email": "text",
  "instagram": "text",
  "messengerId": "text",
  "annotation": "text",
  "tagIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "tagNames": [
    "text"
  ],
  "status": "ACTIVE",
  "origin": "CREATED_BY_USER",
  "importedAt": "2025-11-06T22:36:18.351Z",
  "utm": {
    "sourceId": "text",
    "source": "text",
    "clid": "text",
    "medium": "text",
    "campaign": "text",
    "content": "text",
    "headline": "text",
    "term": "text",
    "referralUrl": "text"
  },
  "customFields": {
    "ANY_ADDITIONAL_PROPERTY": null
  },
  "portfolioIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "portfolioNames": [
    "text"
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": null
  }
}

Salvar em massa

post

Permite salvar até 100 contatos em uma única requisição. Se um contato com o mesmo número de telefone, Instagram ou endereço de email já existir, este apenas será atualizado.

Autorizações
Corpo
Respostas
200

Success

application/json
post
/v2/contact/batch
POST /core/v2/contact/batch HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 511

{
  "items": [
    {
      "name": "text",
      "phoneNumber": "text",
      "email": "text",
      "instagram": "text",
      "annotation": "text",
      "tagIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "tagNames": [
        "text"
      ],
      "portfolioIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "portfolioNames": [
        "text"
      ],
      "sequenceIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "customFields": {
        "ANY_ADDITIONAL_PROPERTY": null
      },
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": null
      }
    }
  ],
  "options": {
    "upsert": true,
    "upsertFields": [
      "Name"
    ],
    "upsertTagOperation": "INSERTIFNOTEXISTS",
    "getIfExists": true
  }
}
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-11-06T22:36:18.351Z",
    "updatedAt": "2025-11-06T22:36:18.351Z",
    "companyId": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "nameWhatsapp": "text",
    "nameInstagram": "text",
    "nameMessenger": "text",
    "phoneNumber": "text",
    "phoneNumberFormatted": "text",
    "email": "text",
    "instagram": "text",
    "messengerId": "text",
    "annotation": "text",
    "tagIds": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "tagNames": [
      "text"
    ],
    "status": "ACTIVE",
    "origin": "CREATED_BY_USER",
    "importedAt": "2025-11-06T22:36:18.351Z",
    "utm": {
      "sourceId": "text",
      "source": "text",
      "clid": "text",
      "medium": "text",
      "campaign": "text",
      "content": "text",
      "headline": "text",
      "term": "text",
      "referralUrl": "text"
    },
    "customFields": {
      "ANY_ADDITIONAL_PROPERTY": null
    },
    "portfolioIds": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "portfolioNames": [
      "text"
    ],
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": null
    }
  }
]

Campos personalizados

get
Autorizações
Parâmetros de consulta
NestedListbooleanOpcional

Determina a estrutura da lista retornada. Se verdadeiro, os campos serão retornados de forma aninhada, isto é, estruturado em grupos.

Default: false
Respostas
200

Success

application/json
get
/v1/contact/custom-field
GET /core/v1/contact/custom-field HTTP/1.1
Host: api.wts.chat
Authorization: YOUR_API_KEY
Accept: */*
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-11-06T22:36:18.351Z",
    "updatedAt": "2025-11-06T22:36:18.351Z",
    "parentId": "123e4567-e89b-12d3-a456-426614174000",
    "type": "GROUP",
    "entityType": "CONTACT",
    "scopeId": "123e4567-e89b-12d3-a456-426614174000",
    "companyId": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "key": "text",
    "position": 1,
    "required": true,
    "visible": true,
    "isValueRange": true,
    "options": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "text"
      }
    ],
    "children": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "createdAt": "2025-11-06T22:36:18.351Z",
        "updatedAt": "2025-11-06T22:36:18.351Z",
        "parentId": "123e4567-e89b-12d3-a456-426614174000",
        "type": "GROUP",
        "entityType": "CONTACT",
        "scopeId": "123e4567-e89b-12d3-a456-426614174000",
        "companyId": "123e4567-e89b-12d3-a456-426614174000",
        "name": "text",
        "key": "text",
        "position": 1,
        "required": true,
        "visible": true,
        "isValueRange": true,
        "options": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "name": "text"
          }
        ],
        "children": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "createdAt": "2025-11-06T22:36:18.351Z",
            "updatedAt": "2025-11-06T22:36:18.351Z",
            "parentId": "123e4567-e89b-12d3-a456-426614174000",
            "type": "GROUP",
            "entityType": "CONTACT",
            "scopeId": "123e4567-e89b-12d3-a456-426614174000",
            "companyId": "123e4567-e89b-12d3-a456-426614174000",
            "name": "text",
            "key": "text",
            "position": 1,
            "required": true,
            "visible": true,
            "isValueRange": true,
            "options": [
              {
                "id": "123e4567-e89b-12d3-a456-426614174000",
                "name": "text"
              }
            ],
            "children": "[Circular Reference]"
          }
        ]
      }
    ]
  }
]

Atualizado