Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

API de disponibilidade do agente

API de Capacidade do Agente

API de Profundidade e Tempo de Espera da Fila

API de Profundidade e Disponibilidade da Fila

API de Status de Profundidade, Disponibilidade e Ponto de Entrada da Fila

API de pesquisa de bate-papo personalizada

Introdução

Este documento descreve os casos de uso para as APIs de bate-papo ECE 11.6.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- ECE

- API

Componentes Utilizados

As informações contidas no presente documento baseiam-se no ponto 11.6 da ECE.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Informações de Apoio

O eGain introduziu uma API voltada para o cliente que pode ser usada para mostrar ou ocultar o botão de bate-papo no site do cliente.

As APIs de bate-papo podem ser usadas para estas finalidades:

1. Exibir o bate-papo com base em:

- Disponibilidade do agente

- Capacidade do agente para bate-papos

- Profundidade da Fila e Tempo de Espera

- Profundidade da fila e disponibilidade do agente

- Profundidade da Fila, Tempo de Espera e Status do Ponto de Entrada

2. Envie pesquisas de bate-papo personalizadas.

Há alguns casos de uso que podem ser realizados com a API:

- O botão Bate-papo pode ser ativado ou desativado com base na resposta da API.

- Obtenha o tempo que um cliente tem que esperar antes que um agente esteja disponível para conversar.

- Encontre a posição do cliente em uma fila para estimar quanto tempo um cliente terá que esperar antes que um agente esteja disponível para bate-papo.

- Escreva novas pesquisas personalizadas para sessões de bate-papo para capturar dados adicionais.

API de disponibilidade do agente

A API de disponibilidade do agente verifica se há algum agente disponível para fazer os bate-papos de um ponto de entrada específico. As restrições de MRD (Media Routing Domain, Domínio de roteamento de mídia) aplicam-se à disponibilidade do agente. Recomenda-se percorrer a seção de práticas recomendadas da configuração do MRD para refletir os resultados corretos.

Requisição

Método

URL

GET

/chat/entrypoint/agentAvailability/id

Observação: para lidar com essa API, você deve usar este formato: http://hostname/system/egain/chat/entrypoint/agentAvilability/1000

Parâmetro de URL

Nome

Descrição

Tipo

Necessário

Valor padrão para parâmetros opcionais

ID

A ID do ponto de entrada para o qual você deseja verificar a disponibilidade do agente

longo

Yes

Códigos de sucesso

200: O status de disponibilidade do agente é retornado. Uma resposta True significa que um agente está disponível. Uma resposta falsa significa que nenhum agente está disponível.

Códigos de erro

500: Não é possível recuperar informações de disponibilidade do agente.

Corpo da resposta

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8" standalone="yes"/>

<agentAvailability available="true" xmlns:ns2="http://bindIngs.egain.com/chat"

xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlna:ns3="jabber:client"

xmlns:ns5="http://jabber.org/protocol/httpbind"/>

API de Capacidade do Agente

Essa API busca a capacidade de todos os agentes de trabalhar em novas atividades de bate-papo na fila mapeada para o ponto de entrada fornecido. Retorna a diferença entre a carga máxima (CTL) que todos os agentes podem assumir e a carga atual de todos os agentes na fila do ponto de entrada.

Requisição

Método

URL

GET

/chat/entrypoint/capacity/id

Observação: para lidar com essa API, você deve usar este formato: http://hostname/system/egain/chat/entrypoint/capacity/1000

Parâmetro de URL

Nome

Descrição

Tipo

Necessário

Valor padrão para parâmetros opcionais

ID

A ID do ponto de entrada para o qual você deseja verificar a capacidade do agente

longo

Yes

Códigos de sucesso

200: A capacidade restante dos agentes para o ponto de entrada é retornada. Um número positivo reflete a capacidade restante. Zero significa que não há agentes disponíveis no sistema ou que todos os agentes estão trabalhando à sua carga máxima.

Códigos de erro

500: Não é possível recuperar informações de capacidade do agente.

Corpo da resposta

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<availableSlots xmlns:ns2="http://bindings.egain.com/chat"

xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas"

xmlns:ns5="http://jabber.org/protocol/httbind">

<ns2:count>4</ns2:count>

</availableSlots>

API de Profundidade e Tempo de Espera da Fila

Essa API é usada para obter detalhes do número de bate-papos aguardando na fila para atribuição e o tempo de espera estimado na fila.

Requisição

Método

URL

GET

/chat/entrypoint/liveSessionStatus/id

Observação: para lidar com essa API, você deve usar este formato: http://hostname/system/egain/chat/entrypoint/liveSessionStatus/1000

Parâmetro de URL

Nome

Descrição

Tipo

Necessário

Valor padrão para parâmetros opcionais

ID

A ID do ponto de entrada para o qual você deseja verificar a profundidade da fila e o tempo de espera

longo

Yes

Códigos de sucesso

200: A profundidade da fila e o tempo de espera são retornados

Códigos de erro

500: Não é possível recuperar a profundidade da fila e o tempo de espera.

Corpo da resposta

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<sessionStatus xmlns:ns2="http://bindings.egain.com/chat"

xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas"

xmlns:ns5="http://jabber.org/protocol/httbind">

<ns2:waitTime>3.0</ns2:waitTime>

<ns2:queueDepth>1</ns2: queueDepth >

</sessionStatus>

API de Profundidade e Disponibilidade da Fila

Essa API verifica a qualificação de um ponto de entrada de bate-papo para lidar com novas atividades de bate-papo com base nas seguintes condições:

- Se houver agentes disponíveis para trabalhar em novas atividades de bate-papo.

- Se a fila associada a esse ponto de entrada tiver atingido sua profundidade máxima configurada, esse será o número total de bate-papos sendo processados pela fila igual ao número máximo de bate-papos que a fila pode processar em um determinado momento.

Requisição

Método

URL

GET

/chat/entrypoint/checkEligibility/id

Observação: para lidar com essa API, você deve usar este formato: http://hostname/system/egain/chat/entrypoint/checkEligibility/1000

Parâmetro de URL

Nome

Descrição

Tipo

Necessário

Valor padrão para parâmetros opcionais

ID

A ID do ponto de entrada cuja elegibilidade você deseja verificar

longo

Yes

Códigos de sucesso

200: A qualificação de ponto de entrada é retornada. O atributo responseType pode ter qualquer um destes valores:

- 0: A fila associada a este ponto de entrada pode manipular novos bate-papos.

- 1: Nenhum agente está disponível para trabalhar em novos bate-papos.

- 2: A profundidade máxima da fila foi atingida para a fila associada ao ponto de entrada fornecido e nenhum bate-papo novo foi processado.

Códigos de erro

500: Não é possível recuperar a profundidade da fila e o tempo de espera.

Corpo da resposta

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<checkEligibility xmlns:ns2="http://bindings.egain.com/chat"

xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas" xmlns:ns3="jabber:client"

xmlns:ns5="http://jabber.org/protocol/httbind" responseType=0 />

API de Status de Profundidade, Disponibilidade e Ponto de Entrada da Fila

Esta API verifica se novos bate-papos podem ser processados por um determinado ponto de entrada de bate-papo com base nestas condições:

- O ponto de entrada do bate-papo está ativo.

- Se houver agentes disponíveis para trabalhar em novas atividades de bate-papo.

- Se a fila associada a esse ponto de entrada tiver atingido sua profundidade máxima configurada, esse será o número total de bate-papos sendo processados pela fila igual ao número máximo de bate-papos que a fila pode processar em um determinado momento.

Requisição

Método

URL

GET

/chat/entrypoint/chatAllowed/id

Observação: para lidar com essa API, você deve usar este formato: http://hostname/system/egain/chat/entrypoint/chatAllowed/1000

Parâmetro de URL

Nome

Descrição

Tipo

Necessário

Valor padrão para parâmetros opcionais

ID

A ID do ponto de entrada para o qual você deseja verificar se o bate-papo é permitido

longo

Yes

Códigos de sucesso

200: Se novos bate-papos puderem ser processados pelo ponto de entrada, este código será retornado. Isso é identificado pelo valor do atributo permitido. Este atributo pode ter o valor true ou false. Se o valor for false, o atributo reason poderá ter um destes valores para identificar a causa da indisponibilidade:

- queue_depth_ached: a profundidade máxima da fila foi atingida para a fila associada ao ponto de entrada fornecido e nenhum bate-papo novo é processado.

- agent_not_available: Nenhum agente está disponível para trabalhar em um novo bate-papo.

- service_not_running: O serviço de atribuição do agente não está em execução.

- invalid_entry_point: O ponto de entrada passado na solicitação não é válido.

- entry_point_inative: O ponto de entrada passado na solicitação não está ativo.

- outro: este ponto de entrada não pode tratar de novos bate-papos devido a outros motivos.

Códigos de erro

500: Não é possível recuperar se este ponto de entrada pode tratar de novos bate-papos.

Corpo da resposta

HTTP/1.1 200 OK

<?xml version="1.0. encoding="UTF-8" standalone="yes"?>

<chatAllowed xmlns:ns2="http://bindings.egain.com/chat"

xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlns”ns3="jabber:client"

xmlns:ns5=:http://jabber.org/protocol/httpbind" allowed="true"/>

Ou

HTTP/1.1 200 OK

<?xml version="1.0. encoding="UTF-8" standalone="yes"?>

<chatAllowed xmlns:ns2="http://bindings.egain.com/chat"

xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlns”ns3="jabber:client"

xmlns:ns5=:http://jabber.org/protocol/httpbind" allowed="false"

reason="entry_point_inactive"/>

API de pesquisa de bate-papo personalizada

Essa API pode ser usada para enviar formulários de pesquisa personalizados mostrados no final da sessão de bate-papo.

Requisição

Método

URL

POST

/chat/entrypoint/survey

Corpo da solicitação

Nome

Descrição

Tipo

Necessário

Pergunta

Pergunta que faz parte da pesquisa exibida para o cliente

Série

Yes

Resposta

Resposta à pergunta correspondente

Série

Yes

Exemplo de corpo de solicitação

<egainSurvey sid="1000">

<survey><question>Question 1</question> <answer>Answer 1</answer></survey>

<survey><question>Question 2</question> <answer>Answer 2</answer></survey>

<survey><question>Question 3</question> <answer>Answer 3</answer></survey>

<survey><question>Question 4</question> <answer>Answer 4</answer></survey>

</egainSurvey>

Códigos de sucesso

204: A pesquisa foi enviada com êxito.