API de recursos de mídia CCCIF

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 3 min. de leitura
  • A API de recursos de mídia da Estrutura de interoperabilidade de chatbot de bate-papo personalizada (CCCIF) fornece endpoints que permitem que um bot primário carregue anexos para a instância ServiceNow associada.

    Chame esta API em seu bot primário para carregar anexos privados de um usuário que está tendo uma conversa por meio de Virtual Agent (VA). Em seguida, você deve enviar o parâmetro mediaUrl que é retornado por esta API para a API do VA.

    Se o anexo for público, basta enviar a URL do anexo no corpo da solicitação da chamada de integração do bot do Virtual Agent.

    Para acessar esta API, o plug-in Conversational Custom Chat Integration (com.glide.cs.custom.adapter) deve ser ativado. Além disso, as propriedades do sistema de anexos devem ser configuradas.

    Para obter informações adicionais sobre as capacidades da Virtual Agent API, consulte API do Virtual Agent.

    CCCIF - POST /cccif/media/upload

    Carrega um anexo privado para a instância chamada ServiceNow, que armazena o anexo na tabela Anexos [sys_attachment].

    Chame este método em seu bot primário para carregar anexos privados de um usuário que está tendo uma conversa por meio de Virtual Agent (VA). Em seguida, você deve enviar o parâmetro mediaUrl que é retornado por este método para a API do VA usando o API Virtual Agent Bot Integration.

    Formato da URL

    URL com controle de versão: /api/now/{api_version}/cccif/media/upload

    URL padrão: /api/now/cccif/media/upload

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 2. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 3. Parâmetros do corpo da solicitação
    Nome Descrição
    arquivo Obrigatório. Caminho do arquivo a ser carregado.

    Tipo de dados: cadeia de caracteres, como caminho @File<file_path>

    provedor_aplicação_id Sys_id do sys_cs_provider_application interagindo com o bot do VA.

    Padrão: Sys_id da aplicação do provedor de VA bot a bot

    user_id Obrigatório. Identificador exclusivo do usuário que interage com o bot do VA. Pode ser qualquer cadeia de caracteres exclusiva para cada usuário.

    Tipo de dados: cadeia de caracteres

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 4. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Tipos compatíveis: multipart/form-data.
    Tabela 5. Cabeçalhos de resposta
    Cabeçalho Descrição
    Tipo de conteúdo Formato de dados do corpo da resposta. Oferece suporte somente a application/json.

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 6. Códigos de status
    Código de status Descrição
    201 Bem-sucedido. A solicitação foi processada com sucesso.
    400 Solicitação Incorreta. Foi detectado um tipo de solicitação incorreto ou solicitação malformada.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    404 Não encontrado. O item solicitado não foi encontrado.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (JSON)

    Nome Descrição
    attachmentId Sys_id do anexo que foi armazenado.

    Tipo de dados: cadeia de caracteres

    erro Descrição de qualquer erro detectado durante o processamento da solicitação.

    Tipo de dados: objeto

    "error": {
      "detail": "String",
      "message": "String"
    }
    erro.detalhe Detalhes sobre o erro encontrado.

    Tipo de dados: cadeia de caracteres

    mensagem.erro Mensagem que descreve o erro gerado.

    Tipo de dados: cadeia de caracteres

    mediaUrl URL do anexo a ser enviado ao bot primário para acessar o anexo. O bot primário deve enviar este URL no parâmetro message.attachment.url do corpo da solicitação do endpoint POST /sn_va_as_service/bot/integration.

    Tipo de dados: cadeia de caracteres

    nome Nome do arquivo do anexo.

    Tipo de dados: cadeia de caracteres

    estado Estado do anexo na tabela Anexo.
    Valores possíveis:
    • disponível
    • disponível condicionalmente
    • indisponível
    • pendente

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    Este exemplo mostra como carregar um anexo de arquivo .png.

    curl --location --request POST 'https://instance.servicenow.com/api/now/v1/cccif/media/upload' \
    --header 'Authorization: Basic xxxxxxxxxxxxx' \
    --header 'Content-Type:multipart/form-data' \
    --form 'user_id="lincoln"' \
    --form 'file=@"/Users/Desktop/Screenshot 2021-10-25 at 5.08.14 PM.png"'
    

    Resposta:

    Response :{
      "result": {
        "mediaUrl": "https://instance.servicenow.com/api/now/v1/cs/media/vGfewkfAv0VBo2RxmlTM448L789Pp6rqLFLUNYQxZsUUFrsgMA8aW9W0zWx1a5fG",
        "name": "Screenshot 2021-10-25 at 5.08.14 PM.png",
        "state": "pending",
        "attachmentId": "299c648887b73c1022b6a6cd0ebb3534"
      }