Mídia
/api/v1/channels/{id}/mediaEnvia um arquivo para a Meta e devolve o media ID
O corpo é multipart/form-data, não JSON. O media_id devolvido é o mesmo que a Meta espera em mensagens do tipo image, audio, video, document e sticker — mas some de lá em poucos dias, então não vale guardar para uso posterior. O token hub_ch_... do canal também autentica esta chamada, mas nunca autoriza enviar por outro canal. Para arquivos grandes, prefira enviar uma URL https no payload da mensagem (ver POST .../messages): o upload multipart/form-data desta rota passa pelo host do CRPRO Hub e pode ter um limite de tamanho de requisição menor do que o aceito diretamente pela Meta.
- Autenticação
- Sessão do painel, Chave de API, Token do canal
- Escopo
- messages:send
- Limite
- 120 requisições por minuto por organização e credencial
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | UUID | Sim | Identificador do canal. |
Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| file | arquivo (multipart/form-data) | Sim | Arquivo enviado como campo "file" de um multipart/form-data. Não é um campo JSON. |
curl -X POST https://crprohub.com/api/v1/channels/CHANNEL_UUID/media \ -H "Authorization: Bearer hub_pk_EXEMPLO_NAO_REAL" \ -F "file=@foto.jpg"
{
"data": {
"media_id": "1234567890123456",
"mime_type": "image/jpeg",
"size": 82190
}
}/api/v1/channels/{id}/media/{mediaId}Baixa o arquivo bruto de uma mídia
Esta rota não devolve JSON: ela baixa o arquivo da Meta e repassa o conteúdo binário direto na resposta, com o Content-Type real da mídia. Não há envelope { "data": ... } aqui — é o arquivo puro. O token hub_ch_... do canal também autentica esta chamada, mas nunca autoriza ler mídia de outro canal.
- Autenticação
- Sessão do painel, Chave de API, Token do canal
- Escopo
- channels:read
- Limite
- 120 requisições por minuto por organização e credencial
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | UUID | Sim | Identificador do canal. |
| mediaId | string | Sim | ID numérico da mídia na Meta (5 a 30 dígitos), devolvido por POST /media ou por um webhook de mensagem recebida. |
curl https://crprohub.com/api/v1/channels/CHANNEL_UUID/media/1234567890123456 \ -H "Authorization: Bearer hub_pk_EXEMPLO_NAO_REAL" \ -o arquivo-baixado
Corpo binário do arquivo, com o Content-Type original da mídia (ex.: image/jpeg). Não há envelope JSON nesta resposta.
/api/v1/channels/{id}/media/{mediaId}Remove uma mídia da Meta
Remove o arquivo dos servidores da Meta — não é reversível, e mensagens antigas que referenciam esse media ID deixam de conseguir baixá-lo. O token hub_ch_... do canal também autentica esta chamada, mas nunca autoriza remover mídia de outro canal.
- Autenticação
- Sessão do painel, Chave de API, Token do canal
- Escopo
- messages:send
- Limite
- 120 requisições por minuto por organização e credencial
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | UUID | Sim | Identificador do canal. |
| mediaId | string | Sim | ID numérico da mídia na Meta (5 a 30 dígitos). |
curl -X DELETE https://crprohub.com/api/v1/channels/CHANNEL_UUID/media/1234567890123456 \ -H "Authorization: Bearer hub_pk_EXEMPLO_NAO_REAL"
{
"data": {
"deleted": true
}
}