# 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 %}

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBjaNm5lB1Yqgih1JCA%2F-MfImM8YLOaNR4p4aR7h%2F-MfInyQmRUKdgr6hJ-j6%2Fteste_facebook.gif?alt=media\&token=e48c5627-6138-4f26-9cf6-d412f260d91e)
{% 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 %}

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBjaNm5lB1Yqgih1JCA%2F-MfImM8YLOaNR4p4aR7h%2F-MfIovG6K13meXb4-4Oi%2FWhatsApp%20Image%202021-07-05%20at%2017.00.33.jpeg?alt=media\&token=a18313a5-9a45-4c1c-b7ff-05d4e849d3d8)
{% 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 %}

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBjaNm5lB1Yqgih1JCA%2F-MfImM8YLOaNR4p4aR7h%2F-MfIpNvU8iQ6hkC1YrJQ%2Fezgif.com-gif-maker.gif?alt=media\&token=20e5f5c6-676c-4aac-8d25-b37344af181d)
{% 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"
        }
    }
```
