# Arquivo

O componente de output **Arquivo** permite o envio de imagens ou documentos. Utilize quando tiver uma URL pública ou o id de mídia do arquivo hospedado no WhatsApp.

Embora alguns parâmetros não sejam obrigatórios, procure preencher o máximo de informações possíveis sobre o arquivo que estiver enviando. As informações extras serão utilizadas para exibir detalhes sobre o arquivo no histórico de mensagens em Atendimento.

{% hint style="info" %}
Disponível nos canais **Liveperson, WhatsApp e Widget**
{% endhint %}

## **Estrutura**

```json
[
    {
        "<channel>": {
            "type": "file",
            "file": {
                "url": "<url http ou https do arquivo>",
                "whatsapp_media_id": "<id do arquivo WhatsApp>",
                "type": "<tipo do arquivo>",
                "name": "<nome do arquivo>",
                "caption": "<descrição do arquivo - não é possível adicionar formatação>",
                "size": "<tamanho do arquivo em bytes>",
                "payload": {
                    "delay": 2000
                }
            }
        }
    }
]
```

### Atributos:

| Nome                | Obrigatório                                                             | Descrição                                                                                                                                                                                                                                                                                                                               |
| ------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *channel*           | Sim                                                                     | Opções: default, Apple, Facebook, Whatsapp ou Widget. Especifica o canal que deverá receber o arquivo. Quando channel for default, todos os canais com suporte poderão receber o arquivo. Quando definir um canal específico, apenas este canal receberá o arquivo.                                                                     |
| *url*               | Sim, quando enviado para um canal diferente de whatsapp do Facebook     | A URL pública e válida do arquivo. Quando channel for whatsapp, certifique-se que a URL seja HTTP ou HTTPS.                                                                                                                                                                                                                             |
| whatsapp\_media\_id | Sim, quando enviar ao canal whatsapp do Facebook e url não for definido | O id da imagem ou documento enviado para o cliente da API do WhatsApp Business. Poderá utilizar qualquer id válido. Este parâmetro tem precedência ao parâmetro url em canal Whatsapp de origem Facebook. Consulte mais informações sobre [Mídia](https://developers.facebook.com/docs/whatsapp/api/media) na documentação do Facebook. |
| *type*              | Sim                                                                     | Extensão do arquivo. Por exemplo "JPEG", "PNG", "PDF", "DOCX", e etc.(Caso queira enviar vários tipos de arquivo, utilize "application/\*").                                                                                                                                                                                            |
| *name*              | Sim, quando channel for default ou liveperson                           | O nome do arquivo.                                                                                                                                                                                                                                                                                                                      |
| *caption*           | Não                                                                     | Descrição do arquivo.                                                                                                                                                                                                                                                                                                                   |
| *size*              | Sim, quando channel for liveperson                                      | Tamanho do arquivo em kilobytes.                                                                                                                                                                                                                                                                                                        |
| delay               | Não                                                                     | Tempo (milissegundos) de atraso antes da próxima opção aparecer. Sendo de 0 á 5000, se for inserido um valor acima de 5000 o delay é descartado.                                                                                                                                                                                        |

## Exemplos

{% tabs %}
{% tab title="Exemplo 1" %}
O output de arquivo a seguir é utilizado para enviar um arquivo acessível através de uma URL pública. A imagem será entregue ao usuário através do canal Whatsapp de origem Facebook ou Liveperson.

```json
[
    {
        "whatsapp": {
            "type": "file",
            "file": {
                "url": "https://s3-sa-east-1.amazonaws.com/altu-assets/dev/profiles/1/avatar",
                "type": "PNG",
                "name": "avatar.png",
                "caption": "Esta imagem é usada como avatar",
                "size": "3127"
            }
        }
    }
]
```

{% endtab %}

{% tab title="Exemplo 2" %}
O output de arquivo a seguir é utilizado para enviar um arquivo a todos canais com suporte ao envio de arquivos. O arquivo é acessível através do id de mídia no canal Whatsapp de origem Facebook e acessível através de uma URL pública nos demais canais.

```json
[
    {
        "default": {
            "type": "file",
            "file": {
                "url": "https://prime.altubots.com/chats/dev/cesar/07db4c9e4559050116d38e660548749a/uploads/3660b5fe-4c62-8979-2619-761f234892bf/20200909165426883_gato.jpg",
                "whatsapp_media_id": "bc5e2bc0-845c-49bd-80a8-8675ac973c5f",
                "type": "JPEG",
                "name": "gato.jpg",
                "caption": "Veja este gatinho",
                "size": "145126"
            }
        }
    }
]
```

{% endtab %}
{% endtabs %}

## Compatibilidades:

{% tabs %}
{% tab title="Facebook via Altu" %}
**Compatíveis**&#x20;

* imagens: JPEG /JPG / PNG&#x20;
* vídeos: MP4
* musica: MP3
* documentos: DOCX / PDF /XLSX  e TXT

{% hint style="info" %}
Não compatível com GIF, PPTX (Power Point) e compactadores RAR/ZIP
{% endhint %}

![](/files/-MfInyQmRUKdgr6hJ-j6)
{% endtab %}

{% tab title="WA via Liveperson" %}
**Compatíveis**&#x20;

* imagens: JPEG /JPG / PNG
* vídeos: MP3&#x20;
* documentos: DOCX / PDF /XLSX

{% hint style="info" %}
Não compatível com GIF, PPTX (Power Point) , compactadores RAR/ZIP, vídeo MP4 e TXT&#x20;
{% endhint %}

![](/files/-MfIovG6K13meXb4-4Oi)
{% endtab %}

{% tab title="Zenvia" %}
**Compatíveis**

* imagens: JPEG /JPG / PNG&#x20;
* vídeos: MP4
* musica: MP3
* documentos: DOCX / PDF /XLSX e PPXT

{% hint style="info" %}
Não compatível com GIF e TXT
{% endhint %}

![](/files/-MfIpNvU8iQ6hkC1YrJQ)
{% endtab %}
{% endtabs %}

## Stickers

Envie sticker por meio de um template para o usuário , segue template:

```
{
        "default": {
            "file": {
                "url": "<url_da_imagem>.webp",
                "name": "<nome_da_imagem>.webp",
                "type": "WEBP",
                "caption": "Descrição do sticker",
                "size": <tamanho em byte>
            },
            "type": "file"
        }
    }
```

![](https://t3001453.p.clickup-attachments.com/t3001453/66de0d01-33bb-46ea-89b0-970c424fa2ef/Screenshot%20from%202021-07-23%2016-55-57.png)

## Multiplos arquivos

### Estrutura:

O output de arquivo é usado da seguinte maneira:

```
[
    {
        "default": {
            "file": {
                "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo1.jpg",
                "name": "jogo1.jpg",
                "size": "20900",
                "type": "JPG",
                "caption": "primeiro jogo"
            },
            "type": "file"
        }
    }
]
```

Para usar dessa maneira, é necessário que o array criado tenha o mesmo formato que o output de arquivo para um arquivo só, ou seja, o array deve conter vários objetos do tipo file.

#### Exemplo:

```
"file_array": [
            {
                "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo1.jpg",
                "name": "jogo1.jpg",
                "size": "20900",
                "type": "JPG",
                "caption": "primeiro jogo"
            },
            {
                "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo2.jpg",
                "name": "jogo2.jpg",
                "size": "17600",
                "type": "JPG",
                "caption": "segundo jogo"
            },
            {
                "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo3.jpg",
                "name": "jogo3.jpg",
                "size": "35600",
                "type": "JPG",
                "caption": "3 jogo"
            },
            {
                "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo4.jpeg",
                "name": "jogo4.jpeg",
                "size": "15600",
                "type": "JPEG",
                "caption": "4 jogo"
            },
            {
                "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo5.jpeg",
                "name": "jogo5.jpeg",
                "size": "11700",
                "type": "JPEG",
                "caption": "5 jogo"
            }
        ]
```

O array `file_array` foi criado onde cada objeto possui os seguintes campos:

* url
* name
* size
* type
* caption.

Para usar no `output`, basta usar o nome da **variável** criada:

```
 {
        "default": {
            "file": "<?$file_array?>",
            "type": "file"
        }
 }
```

Dessa forma, todas as imagens serão mostradas para o usuario.

Também é possível passar o array diretamente no output (sem o uso de uma variável).

```
{
        "default": {
            "file": [
                {
                    "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo1.jpg",
                    "name": "jogo1.jpg",
                    "size": "20900",
                    "type": "JPG",
                    "caption": "primeiro jogo"
                },
                {
                    "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo2.jpg",
                    "name": "jogo2.jpg",
                    "size": "17600",
                    "type": "JPG",
                    "caption": "segundo jogo"
                },
                {
                    "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo3.jpg",
                    "name": "jogo3.jpg",
                    "size": "35600",
                    "type": "JPG",
                    "caption": "3 jogo"
                },
                {
                    "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo4.jpeg",
                    "name": "jogo4.jpeg",
                    "size": "15600",
                    "type": "JPEG",
                    "caption": "4 jogo"
                },
                {
                    "url": "https://altuclients.s3.sa-east-1.amazonaws.com/Demo/imagens/jogo5.jpeg",
                    "name": "jogo5.jpeg",
                    "size": "11700",
                    "type": "JPEG",
                    "caption": "5 jogo"
                }
            ],
            "type": "file"
        }
    }
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.altu.d1.cx/build/assistentes/builder/componentes/output/file.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
