> ## 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 imagem

> Envia uma imagem para um contato ou grupo no WhatsApp

## Conceituação

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

* **Por Link**: caso você tenha a imagem hospedada em algum lugar da internet, basta enviar somente o link da imagem;
* **Por Base64**: caso você queira enviar a imagem em formato Base64.

<Tip>
  Se optar por Base64, antes do binário você precisa adicionar a seguinte expressão: **data:image/png;base64,** seguido do seu código Base64.

  Ferramentas para converter imagens em Base64:

  * [base64-image.de](https://www.base64-image.de/)
  * [base64.guru](https://base64.guru/converter/encode/image)
</Tip>

#### Exemplo no WhatsApp

<div style={{ display: "flex", justifyContent: "center" }}>
  <img src="https://mintcdn.com/z-api-8aa3bb40/4dxajBiLV0HF17QH/images/send-message-image.jpeg?fit=max&auto=format&n=4dxajBiLV0HF17QH&q=85&s=ee38e671e435f5adad7ab8cd3921815d" width="400" data-path="images/send-message-image.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="image" type="string" required>
  Link da imagem ou seu Base64
</ParamField>

### Opcionais

<ParamField body="caption" type="string">
  Mensagem a ser enviada junto com a imagem
</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="editImageMessageId" type="string">
  Permite editar o caption da mensagem de imagem enviada anteriormente. É necessário configurar o webhook antes de utilizar.
</ParamField>

***

## Request Body

**Por link:**

```json theme={"theme":{"light":"github-light","dark":"poimandres"}}
{
  "phone": "5511999999999",
  "image": "https://www.z-api.io/wp-content/themes/z-api/dist/images/logo.svg",
  "caption": "Logo",
  "viewOnce": false
}
```

**Por Base64:**

```json theme={"theme":{"light":"github-light","dark":"poimandres"}}
{
  "phone": "5511999999999",
  "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAIAAABUEpE...",
  "caption": "Logo",
  "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".
