> ## Documentation Index
> Fetch the complete documentation index at: https://docs.multchats.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adicionar etiquetas ao contato

> Adiciona uma ou mais etiquetas a um contato, por ID (tagIds) e/ou por nome (tagNames). Etiquetas informadas por nome que ainda não existem são criadas na hora, com a cor padrão #000000. Etiquetas informadas por ID precisam existir: se alguma não existir, nada é criado nem adicionado. Etiquetas que o contato já tem são apenas informadas em alreadyInContact. O contato não precisa ter uma conversa para receber etiquetas. Um LID vinculado a um número é tratado pelo mesmo id da conversa existente, seja o LID ou o número.



## OpenAPI

````yaml POST /tag/add-to-contact
openapi: 3.1.0
info:
  title: OpenAPI Multchats
  description: Multchats API
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.multchats.com/v2
security:
  - bearerAuth: []
paths:
  /tag/add-to-contact:
    post:
      tags:
        - Tags
      summary: Adicionar etiquetas ao contato
      description: >-
        Adiciona uma ou mais etiquetas a um contato, por ID (tagIds) e/ou por
        nome (tagNames). Etiquetas informadas por nome que ainda não existem são
        criadas na hora, com a cor padrão #000000. Etiquetas informadas por ID
        precisam existir: se alguma não existir, nada é criado nem adicionado.
        Etiquetas que o contato já tem são apenas informadas em
        alreadyInContact. O contato não precisa ter uma conversa para receber
        etiquetas. Um LID vinculado a um número é tratado pelo mesmo id da
        conversa existente, seja o LID ou o número.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddTagsToContactRequest'
      responses:
        '200':
          description: Etiquetas adicionadas com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddTagsToContactResponse'
        '400':
          description: Erro na requisição
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Etiqueta (por ID) não encontrada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AddTagsToContactRequest:
      type: object
      required:
        - phoneNumber
      properties:
        phoneNumber:
          description: >-
            Número de telefone do contato, por exemplo 5511999999999, ou o LID
            do contato, por exemplo 123456789012345@lid
          type: string
          minLength: 8
          maxLength: 30
        tagIds:
          description: IDs das etiquetas, até 50 (informe tagIds e/ou tagNames)
          type: array
          maxItems: 50
          items:
            type: string
            pattern: ^c[a-z0-9]{24}$
        tagNames:
          description: Nomes exatos das etiquetas, até 50 (informe tagIds e/ou tagNames)
          type: array
          maxItems: 50
          items:
            type: string
            minLength: 1
            maxLength: 255
        triggerAutomations:
          type: boolean
          default: false
          description: >-
            Envie true para iniciar as automações do sistema com o gatilho
            "contato adicionado à etiqueta" para cada etiqueta de fato
            adicionada. As automações rodam na conversa mais recente do número;
            sem conversa, nada é disparado. Automações Typebot não são
            disparadas
    AddTagsToContactResponse:
      type: object
      properties:
        success:
          description: Indica se a operação foi bem-sucedida
          type: boolean
        data:
          type: object
          properties:
            contact:
              $ref: '#/components/schemas/TagContact'
            addedTags:
              description: Etiquetas adicionadas ao contato nesta requisição
              type: array
              items:
                $ref: '#/components/schemas/Tag'
            alreadyInContact:
              description: Etiquetas informadas que o contato já tinha
              type: array
              items:
                $ref: '#/components/schemas/Tag'
            createdTags:
              description: Etiquetas criadas nesta requisição a partir de tagNames
              type: array
              items:
                $ref: '#/components/schemas/Tag'
            tags:
              description: Todas as etiquetas do contato após a alteração
              type: array
              items:
                $ref: '#/components/schemas/ContactTag'
            automations:
              description: Resultado do disparo das automações do sistema
              type: object
              properties:
                requested:
                  description: Se triggerAutomations foi enviado como true
                  type: boolean
                triggered:
                  description: Se alguma automação foi iniciada
                  type: boolean
                reason:
                  description: >-
                    Motivo de nada ter sido disparado, por exemplo quando o
                    contato não tem conversa
                  type: string
                chatInternalId:
                  description: ID interno da conversa em que as automações rodam
                  type: string
                results:
                  description: Resultado por etiqueta
                  type: array
                  items:
                    type: object
                    properties:
                      tagId:
                        description: ID da etiqueta
                        type: string
                      started:
                        description: Se uma automação foi iniciada para esta etiqueta
                        type: boolean
                      error:
                        description: >-
                          Erro ao disparar, se houver. A etiqueta continua
                          alterada
                        type: string
    Error:
      required:
        - success
        - message
      type: object
      properties:
        success:
          description: Indica se a operação foi bem-sucedida
          type: boolean
          default: false
        message:
          description: Mensagem de erro (quando success é false)
          type: string
          default: Erro ao enviar mensagem
    TagContact:
      type: object
      properties:
        chatId:
          description: ID do contato na etiqueta, por exemplo 5511999999999@s.whatsapp.net
          type: string
        phoneNumber:
          description: Número de telefone do contato (ou o LID)
          type: string
        chatInternalId:
          description: ID interno da conversa do contato, se existir
          type: string
          nullable: true
        name:
          description: Nome do contato, se conhecido
          type: string
          nullable: true
    Tag:
      type: object
      properties:
        id:
          description: ID da etiqueta
          type: string
        name:
          description: Nome da etiqueta
          type: string
        color:
          description: Cor da etiqueta em hexadecimal
          type: string
        createdAt:
          description: Data de criação da etiqueta
          type: string
          format: date-time
        updatedAt:
          description: Data da última alteração da etiqueta
          type: string
          format: date-time
    ContactTag:
      allOf:
        - $ref: '#/components/schemas/Tag'
        - type: object
          properties:
            addedAt:
              description: Data em que a etiqueta foi adicionada ao contato
              type: string
              format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````