Rest Api

Rest Api Action icon

Lida com chamadas RESTful API simultaneamente. Esta ação permite que o sistema lide com cargas maiores. Ela retorna o corpo e os cabeçalhos da chamada API. Isso torna mais fácil testar e depurar scripts.

É possível testar um script que tem uma ação REST API e ver as informações de resposta. Para fazer isto, execute o script usando a opção Iniciar com rastreamento.

Você também pode fazer chamadas REST API simultâneas usando a função GetRestProxy() em uma ação SNIPPET. Esta opção não lida com cargas grandes tão bem quanto a ação REST API e não é o método preferencial.

Esta ação é um dos métodos suportados de conexão a serviços da web em um script Studio.

Dependências

Existem limitações para o uso desta ação que são impostas no nível da unidade de negóciosFechado Alto nível de agrupamento organizacional usado para gerenciar o suporte técnico, cobrança e configurações globais para o seu ambiente CXone. Isso é feito para que uma não impacte a outra. As limitações dentro do plataforma são:

  • Formato de resposta: apenas o formato de resposta JSON é compatível.
  • Novas tentativas em caso de falha: o manipulador de ações tentará automaticamente duas vezes se uma mensagem de falha for recebida antes de retornar a resposta.
  • Tempo limite: você especifica o valor de tempo limite na solicitação. O valor não pode ser superior a 90 segundos.
  • Tamanho máximo de resposta: o tamanho máximo da resposta é 32 KB. Isso é consistente com a funcionalidade de Snippet existente. Se chegar a este limite, você precisará reduzir o tamanho dos dados retornados.
  • Limite do acelerador: o limite de aceleração é definido por dois parâmetros:
    • Máximo de solicitações simultâneas: até 100 solicitações simultâneas são permitidas por padrão. Este limite é o mesmo para todos os clientes do CXone. Isso significa que 100 solicitações simultâneas resultam em uma taxa de transferência muito maior do que fazer chamadas de API a partir de uma ação Snippet. Se precisar de mais de 100 solicitações simultâneas, converse com seu Representante de Contas do CXone sobre como aumentar o limite do usuário de sua unidade de negócios. Aprovações especiais são necessárias.
    • Contagem de filas: quando as solicitações excedem o limite, as solicitações extras entram em uma fila de processamento. Quando as solicitações ficam abaixo do limite, as solicitações enfileiradas são processadas.
  • Disjuntor: se o URL especificado estiver inativo ou inacessível, você poderá receber muitas falhas na sua solicitação. Quando isto acontecer, o CXone reduzirá a execução da solicitação de TODOS OS URLS da ação REST API por um período de tempo. Isso permite que seu URL especificado se recupere da falha. Os limites são identificados abaixo:
    • Tempo de recuo ou duração do intervalo: se a taxa de falha for atingida, nenhuma solicitação da ação REST API será executada por 30 segundos.
    • Taxa de transferência mínima: 100 solicitações por segundo. Se a sua unidade de negócios não estiver executando o número mínimo de solicitações, ela continuará executando suas solicitações mesmo que as solicitações estejam falhando.
    • Taxa de falha: se 50% das solicitações falharem em 30 segundos, suas solicitações não serão executadas nos 30 segundos seguintes. 30 segundos é uma janela contínua.

Outras dependências desta ação são:

  • JSON é o único formato de resposta suportado. A ação requer que todo o JSON esteja em uma única linha. Ao trabalhar com JSON nesta ação, você pode:

    • Fazer uma substituição de variável de uma string que contém JSON.
    • Converter um objeto de dados dinâmicos para JSON, o que é suportado ao se usar a função asjson(). Note que asjson() trata tudo como uma string, o que significa que certo nível de manuseio é necessário ao se trabalhar com valores booleanos ou numéricos.
    • Passar a variável de saída resultSet(out) de uma ação REST API anterior para esta propriedade também.
  • Respostas são retornadas como objetos jtoken. Você pode trabalhar com elas como faria com objetos de dados dinâmicos no seu script.
  • Respostas contêm cabeçalhos e o corpo da resposta. Elas também podem conter códigos de status HTTP. Nem todas as respostas incluirão códigos de status. Se não ocorrer nenhum erro, se a ação REST API falhar em gerar uma resposta válida ou se o erro retornado não puder ser analisado como uma resposta válida, nenhum status será incluído.
  • Você pode usar mais de uma ação REST API em um script, mas ambas não podem fazer referência aos mesmos objetos.

Propriedades de entrada

Estas propriedades definem dados que a ação usa durante a execução.

Propriedade

Descrição

legenda

Insira uma frase curta que identifica exclusivamente esta ação no script. A legenda aparece na tela do script no ícone da ação. The default is the action name.

Verb

Oferece suporte a ações REST básicas, como GET, PUT, POST, DELETE e PATCH.

Parameters

Permite que você especifique parâmetros de consulta ou publique qualquer dado. Vários tipos de JSON são aceitos, como Jobject, Jarray ou Jtoken.

Headers

Permite que você adicione cabeçalhos personalizados para permitir a autenticação do cliente, como tokens do portador. Você pode usar JSON neste campo.

Importante Se seu terminal de URL customizado requer cabeçalhos diferentes, ele deve ser especificado nesta propriedade. Para manter a paridade de recursos com a ação Snippet existente, o CXone adiciona os seguintes cabeçalhos:

{"Accept":"application/json", "Content-Type" :"application/x-www-form-urlencoded"}

Command

Atualmente, a única opção é MakeRestRequest. Esta funciona da mesma forma que a função MakeRestRequest() usada ao se fazer uma chamada REST API em uma ação Snippet.

TimeOutInMilliSeconds

Permite que um tempo limite da chamada REST seja especificado e respeitado. Deve ter menos de 90 segundos (90000 milissegundos). Se nenhum tempo limite for especificado, o padrão é 10 segundos (10000 milésimos de segundo).

Service Address

O URL da API REST que você quer que a ação chame. Você pode usar substituição de variável com esta propriedade.

Propriedades de saída

Estas propriedades contêm variáveis que armazenam dados retornados da execução da ação. Elas estão disponíveis para referência e uso quando a ação é concluída.

Propriedade

Descrição

resultSet(out)

Uma variável que contém qualquer informação retornada da API especificada no Endereço do serviço. Você pode passar os conteúdos desta variável como estão ao cabeçalho e parâmetros, se necessário. A resposta é retornada como um objeto Jtoken, mas você pode declará-lo como um objeto dinâmico e trabalhar com ele como faria com outros objetos dinâmicos no seu script.

errorArgList(out)

Um objeto de dados dinâmicos que contém informações sobre qualquer erro que ocorrer. Quando um erro ocorre, o objeto contém o código de status HTTP, a descrição do status e uma mensagem. Quando não há nenhum erro, o objeto fica vazio.

Códigos de status HTTP e descrições de status são retornados somente se o erro puder ser analisado adequadamente como uma resposta válida. Isso significa que nem todos os erros incluirão um código de resposta HTTP.

Condições de ramal resultante

Condições de ramal resultante permitem que você crie ramais no seu script para atender diferentes resultados quando uma ação é executada.

Condição

Descrição

Throttle

Caminho percorrido quando muitas solicitações são executadas dentro de um curto período de tempo. Veja as limitações abaixo para mais detalhes.

InvalidInput

Caminho percorrido se uma entrada inválida for encontrada ou ocorrer um erro de tempo limite. Cada parâmetro é validado quando o script é salvo.

Failure

Caminho seguido quando ocorre algum erro ou exceção no NICE CXone aplicativo que está executando a solicitação.

Error

Caminho percorrido quando o terminal do cliente remoto retorna um código de erro http.

Default

Caminho seguido quando a resposta não é recebida em 90 segundos.

Success

Caminho seguido se a ação for concluída sem erros e quaisquer chamadas de API ou retornos de dados foram bem-sucedidos (códigos de resposta 2xx).