Method: files.create

Faz o upload de um arquivo para uso em mensagens de mídia ou de cards ricos.

O agente fornece o URL ou o binário do arquivo e, opcionalmente, o URL do arquivo de miniatura correspondente.

Importante: para a privacidade e a segurança do usuário, a plataforma RBM faz o download e processa arquivos de mídia e PDF dos URLs fornecidos antes de enviá-los ao usuário. Isso impede o rastreamento de agentes por URLs exclusivos. Portanto, não envie um grande volume de URLs exclusivos. A plataforma RBM não oferece suporte a isso, independentemente de os URLs apontarem para os mesmos arquivos ou diferentes. Use o mesmo URL para arquivos idênticos.

A plataforma RBM armazena o arquivo em cache por 60 dias e retorna um nome exclusivo que pode ser usado para identificar o arquivo ao enviar mensagens de agente.

Para fazer upload de um arquivo binário, faça uma solicitação POST HTTP para o URI de upload, omita o campo fileUrl do corpo da solicitação JSON e especifique o binário como o corpo da solicitação POST. Por exemplo, use a flag --upload-file do cURL com o caminho de arquivo totalmente qualificado do arquivo binário.

Solicitação HTTP

  • URI de upload, para solicitações de upload de mídia:
    POST https://rcsbusinessmessaging.googleapis.com/upload/v1/files
  • URI de metadados, para solicitações somente de metadados:
    POST https://rcsbusinessmessaging.googleapis.com/v1/files

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "agentId": string
}
Campos
fileUrl

string

Opcional. URL do arquivo disponível publicamente. A plataforma RBM determina o tipo MIME do arquivo com base no campo "content-type" nos cabeçalhos HTTP ao buscar o arquivo. O RBM oferece suporte a imagens, áudio, vídeo e PDF.

Tipos de conteúdo de imagem aceitos: image/jpeg, image/jpg, image/gif, image/png.

Tipos de conteúdo de áudio aceitos: audio/aac, audio/mp3, audio/mpeg, audio/mpg, audio/mp4, audio/mp4-latm, audio/3gpp, application/ogg, audio/ogg.

Tipos de conteúdo de vídeo compatíveis: video/h263, video/m4v, video/mp4, video/mpeg, video/mpeg4, video/webm.

Tipos de conteúdo PDF aceitos: application/pdf.

thumbnailUrl

string

Opcional. URL de acesso público da miniatura correspondente ao arquivo. Se esse campo não for definido, a plataforma RBM vai gerar automaticamente uma miniatura do arquivo. A plataforma RBM determina o tipo MIME do arquivo com base no campo "content-type" nos cabeçalhos HTTP ao buscar o arquivo.

Tipos de conteúdo de imagem aceitos: image/jpeg, image/jpg, image/gif, image/png.

agentId

string

Obrigatório. O identificador exclusivo do agente.

Corpo da resposta

Um recurso de arquivo com um nome exclusivo que um agente pode usar para identificar o arquivo ao enviar mensagens.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "name": string
}
Campos
name

string

Nome exclusivo atribuído pelo servidor ao recurso de arquivo, que um agente pode usar para identificar o arquivo ao enviar mensagens. O formato é "files/{uid}", em que {uid} é um ID exclusivo.

Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/rcsbusinessmessaging

Para mais informações, consulte OAuth 2.0 Overview.