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

# Atualização de Presença

## Introdução

Este endpoint permite que você atualize o status de presença de um destinatário em uma instância específica do WhatsApp. Você pode definir se o destinatário verá uma indicação de que você está "digitando..." ou "gravando...".

Esta funcionalidade é útil para melhorar a experiência do usuário durante interações em tempo real, especialmente em aplicações que dependem de feedback instantâneo, como chats ao vivo ou integrações com IA.

## Casos de Uso

* **Integração com OpenAI**: Enquanto a IA está gerando uma resposta, você pode definir a presença como "digitando..." ou "gravando..." para simular a experiência de uma interação humana e manter o usuário informado sobre o processamento em andamento.

## Estratégias de Uso

* **Definindo a Presença de Curta Duração**: Utilize a estratégia `maximum_duration` para garantir que o status de "digitando..." ou "gravando..." seja exibido por um período específico de tempo. Esta estratégia é ideal para interações em que o tempo de resposta é previsível.

* **Até a Próxima Mensagem**: Use a estratégia `until_next_message` para manter o status ativo até que a próxima mensagem seja enviada, proporcionando uma transição suave entre o momento em que o usuário percebe a presença e a entrega da mensagem final. Isso é útil em cenários onde o tempo de processamento pode variar, como durante a geração de respostas por IA.


## OpenAPI

````yaml PATCH /wa/instances/{instance_id}/presence
openapi: 3.1.0
info:
  title: Zapster API
  description: ''
  version: 1.0.0
servers:
  - url: https://api.zapsterapi.com/v1
    description: Produção
security: []
tags: []
paths:
  /wa/instances/{instance_id}/presence:
    patch:
      tags: []
      summary: Existência de Destinatário
      parameters:
        - name: instance_id
          in: path
          description: ID da instância.
          required: true
          example: ozj35qv418rpmlrb
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - recipient
              properties:
                recipient:
                  type: string
                  description: >-
                    Destinatário que verá a atualização de presença
                    (`digitando...` ou `gravando...`). Pode ser um grupo ou um
                    número de telefone (DDI + DDD + Número).
                  examples:
                    - group:123456789987654321
                    - '559912345678'
                status:
                  type: string
                  enum:
                    - typing
                    - recording
                  description: |
                    O status defini que tipo de presença o `recipient` irá ver.

                    - **typing** - O destinatário irá ver `Digitando...`
                    - **recording** - O destinatário irá ver `Gravando áudio...`
                duration_strategy:
                  type: string
                  enum:
                    - maximum_duration
                    - until_next_message
                  description: >
                    As estratégias de duração definem como e por quanto tempo o
                    `status` permanecerá ativo para o `recipient`.


                    - **maximum_duration** - Um tempo fixo de duração em
                    segundos (padrão é 10 segundos).

                    - **until_next_message** - Ficará ativo até o envio da
                    próxima mensagem, mas limitando-se a 5 minutos (600
                    segundos).
                max_duration:
                  type: number
                  description: >-
                    Válido quando `duration_strategy=maximum_duration`. Define o
                    tempo máximo em segundos que o `status` permanecerá ativo
                    para o `recipient`. Valor padrão é 10 segundos.
      responses:
        '204':
          description: No Content
      deprecated: false
      security:
        - bearer: []
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````