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

# Enviar vídeo

> Envia um vídeo para um contato ou grupo no WhatsApp

## Conceituação

Método responsável por enviar vídeos para os seus chats. Você pode trabalhar com os vídeos de 2 formas:

* **Por Link**: caso você tenha o vídeo hospedado em algum lugar da internet, basta enviar somente o link;
* **Por Base64**: caso você queira enviar o vídeo em formato Base64.

<Warning>
  Para um funcionamento mais previsível da API, recomendamos utilizar vídeos com CODEC **H.264**, que é o formato aceito pelo WhatsApp. Vídeos em outros CODECs passam por uma conversão interna para H.264, o que pode gerar intermitências no envio ou aumentar o tamanho final do arquivo, podendo ultrapassar o limite aceito pelo WhatsApp.

  O tamanho do arquivo não deve ultrapassar **100MB**.
</Warning>

#### Exemplo no WhatsApp

<div style={{ display: "flex", justifyContent: "center" }}>
  <img src="https://mintcdn.com/z-api-8aa3bb40/0XnW_cMGzmoyiOgq/images/send-message-video.jpeg?fit=max&auto=format&n=0XnW_cMGzmoyiOgq&q=85&s=725cf6bae0a2e6870b54081cf41cbbd5" width="400" data-path="images/send-message-video.jpeg" />
</div>

***

## Atributos

### Header

<ParamField path="instanceId" type="string" required>
  ID da sua instância. Disponível no painel Z-API em **Instâncias**.
</ParamField>

<ParamField path="token" type="string" required>
  Token da sua instância Z-API.
</ParamField>

### Obrigatórios

<ParamField body="phone" type="string" required>
  Telefone (ou ID do grupo para casos de envio para grupos) do destinatário no formato DDI DDD NÚMERO. Ex: 551199999999
</ParamField>

<ParamField body="video" type="string" required>
  Link do vídeo ou seu Base64
</ParamField>

### Opcionais

<ParamField body="caption" type="string">
  Mensagem a ser enviada junto com o vídeo
</ParamField>

<ParamField body="messageId" type="string">
  Atributo utilizado para responder uma mensagem do chat, basta adicionar o messageId da mensagem que queira responder neste atributo
</ParamField>

<ParamField body="delayMessage" type="number">
  Delay adicionado na mensagem. Você pode decidir entre um range de 1 a 15 sec, significa quantos segundos ele vai esperar para enviar a próxima mensagem. (Ex.: "delayMessage": 5). O delay default caso não seja informado é de 1 a 3 sec
</ParamField>

<ParamField body="viewOnce" type="boolean">
  Define se será uma mensagem de visualização única ou não
</ParamField>

<ParamField body="async" type="boolean">
  Se ativo, a request responderá imediatamente com sucesso e o processamento do arquivo será realizado em segundo plano
</ParamField>

<ParamField body="editVideoMessageId" type="string">
  Permite editar o caption da mensagem de vídeo enviado anteriormente. É necessário configurar o webhook antes de utilizar.
</ParamField>

***

## Request Body

**Por link:**

```json theme={"theme":{"light":"github-light","dark":"poimandres"}}
{
  "phone": "5511999999999",
  "video": "https://exemplo.com/video.mp4",
  "caption": "",
  "viewOnce": false
}
```

**Por Base64:**

```json theme={"theme":{"light":"github-light","dark":"poimandres"}}
{
  "phone": "5511999999999",
  "video": "data:video/mp4;base64,AAYXJ0eKEF...",
  "caption": "",
  "viewOnce": false
}
```

***

## Response

### 200

```json theme={"theme":{"light":"github-light","dark":"poimandres"}}
{
  "zaapId": "3999984263738042930CD6ECDE9VDWSA",
  "messageId": "D241XXXX732339502B68",
  "id": "D241XXXX732339502B68"
}
```

### 405

Neste caso certifique que esteja enviando corretamente a especificação do método, ou seja verifique se você enviou o POST ou GET conforme especificado no início deste tópico.

### 415

Caso você receba um erro 415, certifique de adicionar na headers da requisição o "Content-Type" do objeto que você está enviando, em sua grande maioria "application/json".
