Pular para o conteúdo principal

API - WFM

O que é WFM e como fazer uso das APIs relacionadas

WFM, ou Gestão da Força de Trabalho (Workforce Management), é um conjunto de rotas que auxiliam as empresas a planejar, gerenciar e otimizar o uso da sua força de trabalho, visando maior eficiência e produtividade.

Este documento vai mostrar de forma prática e explicativa como fazer o uso das APis de WFM do Omni, que estão disponíveis no link a seguir: https://docs-wfm.omni.digitalcontact.cloud/.

Autenticação

Para fazer uso da API de WFM, é preciso primeiramente realizar a autenticação. Para isso, é preciso copiar o x-api-key que está localizado no menu de canais dentro do Omni. Após isso, é só clicar no botão “Copiar API Key”, como mostra o print a seguir:

Copiar x_api_key

Com a key copiada, é preciso acessar as APIs de WFM por este link: https://docs-wfm.omni.digitalcontact.cloud/. Após isso, é só clicar no botão Authorize, colar a key no campo api_key e clicar no botão Authorize abaixo do campo. Segue os prints com o passo a passo abaixo:

Colar x_api_key 1

Colar x_api_key 2

Para as rotas de "/user/deactivate" e "/user/activate", é necessário efetuar outro processo de autenticação, o mesmo será explicado abaixo.

Login - Para uso das rotas user/deactivate e user/activate

Para efetuar o login, selecione a rota "/user/login/api" e clique no botão "Try it out". Conforme evidenciado pelo print a seguir:

Acessando a rota de login

Agora, digite o email e senha de seu usuário do OMNI e clique em execute:

Inserindo o email e senha do usuário

Após isso, copie o token que vai aparecer logo abaixo. Como mostra a imagem abaixo:

Copiar o token

Com o token copiado, é só voltar para no menu de autorização, digitar Bearer e colar o token logo após, no campo "APITokenKeyHeader". Para finalizar, é só clicar no botão "Authorize".

Efetuando a autenticação

chats-dashboard - Dashboard de chat por agente

A rota chats-dashboard retorna os dados dos agentes que estão vinculados a atendimentos de chat. Essa rota necessita de apenas uma variável, o id da organização no OMNI. Após realizada a requisição, a API irá retornar um conjunto de informações de cada agente. Segue a definição de cada atributo retornado:

  • Agente
    • Alias do usuário
  • User_short_name
    • Nome do usuário
  • Capacidade
    • Quantidade máxima de atendimentos inbound
  • Status
    • Estado do agente no momento da consulta. Vai mostrar se o usuário está offline, available ou em pausa.
  • Serviço
    • Lista de serviços que estão atrelados ao agente
  • Atendimento
    • Lista as interações que estão sendo atendidas pelo agente
    • Status
      • Estado da interação, normal ou holding para interações que estão no processo de holding
    • Serviço
      • Nome do serviço da interação
    • Protocolo
      • Protocolo da interação
    • TCA
      • Tempo que o cliente está aguardando a resposta do Agente.
        • Esse indicador irá contar o tempo que o cliente enviou a resposta e está aguardando resposta do agente, e a contagem deste indicador é reiniciada mediante a interação do agente ou a transferência do atendimento por serviço.
        • Transferências por agente não reiniciará o contador do indicador.

Transferências por agente não reiniciará o contador do indicador.

Para acessar essa rota, é só ir no campo /dashboard/chats-dashboard e clicar no botão “Try it out”:

Acessar rota de chats-dashboard

Após de colocar os dados, é só clicar no botão execute que está logo abaixo do painel:

Executar a requisição chats-dashboard

Segue um exemplo de retorno da API chats-dashboard:

Exemplo de retorno chats-dashboard

deactivate - desativação de usuário

Essa rota serve para desativar um determinado usuário com base no nome, e-mail ou CPF. A rota está esperando quatro variáveis, onde apenas duas são obrigatórias, segue a explicação:

  • Name
    • Nome do usuário a ser desativado, é possível deixar vazio caso o campo e-mail ou CPF esteja preenchido.
  • Email
    • E-mail do usuário a ser desativado, é possível deixar vazio caso o campo name ou CPF esteja preenchido.
  • Organization
    • É o ID da organização a qual o usuário a ser desativado está atrelado. Caso o campo permaneça nulo ou vazio, será usado o ID da organização do usuário que está efetuando a requisição.
  • CPF
    • CPF do usuário a ser desativado, pode deixar vazio caso o campo e-mail ou name esteja preenchido.

Para acessar essa rota, é só ir no campo user/deactivate e clicar no botão “Try it out”:

Acessar rota de user/deactivate

Após de colocar os dados, é só clicar no botão execute que está logo abaixo do painel:

Executar a requisição user/deactivate

Segue um exemplo de retorno da rota user/deactivate:

Exemplo de retorno user/deactivate

activate - ativação de usuário

Essa rota serve para ativar um determinado usuário com base no nome, e-mail ou CPF. A rota está esperando quatro variáveis, segue a explicação:

  • Name
    • Nome do usuário a ser ativado, é possível deixar vazio caso o campo e-mail ou CPF esteja preenchido.
  • Email
    • E-mail do usuário a ser ativado, é possível deixar vazio caso o campo name ou CPF esteja preenchido.
  • Organization
    • É o ID da organização a qual o usuário a ser ativado está atrelado. Caso o campo permaneça nulo ou vazio, será usado o ID da organização do usuário que está efetuando a requisição.
  • CPF
    • CPF do usuário a ser ativado, pode deixar vazio caso o campo e-mail ou name esteja preenchido.

Para acessar essa rota, é só ir no campo user/activate e clicar no botão “Try it out”:

Acessar rota de user/activate

Após de colocar os dados, é só clicar no botão execute que está logo abaixo do painel:

Executar a requisição user/activate

Segue um exemplo de retorno da rota user/activate:

Exemplo de retorno user/activate

chat-services - dashboard de atendimentos digitais

Essa rota retorna todos os dados consolidados sobre os atendimentos, tanto os indíces totais como separados por serviço. A rota está esperando quatro variáveis, segue a explicação:

  • organization_id
    • ID da organização, campo obrigatório
  • service_id
    • ID do serviço, caso seja necessário filtrar pelo serviço. Como este campo não é obrigatório, é possível deixar este campo vazio
  • user_id
    • ID do usuário, caso seja necessário filtrar pelo usuário. Como este campo não é obrigatório, é possível deixar este campo vazio
  • media_filter
    • Tipo de mídia dos atendimentos a serem filtrados. Segue as mídias validas: chat, email e whatsapp.

Após realizada a requisição, a API irá retornar um conjunto de informações de cada serviço e atendimento, de acordo com o filtro definido. Segue a definição de cada atributo retornado:

  • Fila
    • Quantidade total de atendimentos em fila
  • Recebidas
    • Quantidade total de interações recebidas no dia
  • Sessions
    • Quantidade total de sessões em atendimento
  • Finished_sessions
    • Total de atendimentos tabulados no dia
  • Current_chats
    • Total de clientes em atendimento
  • Chat_aht
    • Average Handling Time ou Tempo Médio de Atendimento, é a média duração dos atendimentos
  • Chat_tmr
    • Tempo médio de resposta, média de tempo que o agente demora para responder o cliente
  • Chat_tmr1
    • Tempo médio da primeira resposta, média de tempo que o agente demorou para encaminhar a primeira resposta.
  • Total_disponíveis
    • Somatório da capacidade total de atendimento dos agentes que estão online
  • Total_telas
    • Total de slots de atendimento que já foram preenchidos
  • _logged
    • Total de agentes que estão online
  • _countAvailable
    • Quantidade total de agentes que estão disponíveis
  • _countPaused
    • Quantidade total de agentes em pausa
  • _countTalking
    • Quantidade total de agentes que estão em chamada. (somente para atendimentos de voz)
  • Offline
    • Quantidade total de agentes que estão offline
  • Services
    • Service
      • Nome do serviço
    • Chat_tm1r
      • Tempo médio da primeira resposta, média de tempo que o agente demorou para encaminhar a primeira resposta.
    • Chat_aht
      • Average Handling Time ou Tempo Médio de Atendimento, é a média duração dos atendimentos
    • Chat_tmr
      • Tempo médio de resposta, média de tempo que o agente demora para responder o cliente
    • Atendidas
      • Quantidade de interações que foram atendidas ou estão em atendimento
    • Recebidas
      • Quantidade total de atendimentos recebidos no dia atual
    • Finalizadas
      • Quantidade total de interações que foram finalizadas no dia atual
    • Total_disponiveis
      • Somatório da capacidade total de atendimento dos agentes que estão online para o serviço em questão
    • Em_atendimento
      • Quantidade de interações em atendimento para o serviço em questão
    • Fila
      • Quantidade de interações na fila para o serviço em questão
    • Logged
      • Total de agentes atrelados ao serviço que estão online
    • CountAvailable
      • Quantidade total de agentes atrelados ao serviço,que estão disponíveis
    • CountPaused
      • Quantidade total de agentes atrelados ao serviço que estão em pausa
    • CountTalking
      • Quantidade total de agentes atrelados ao serviço que estão em chamada. (somente para atendimentos de voz)
    • Offline
      • Quantidade total de agentes atrelados ao serviço que estão offline
    • MIN_TIME
      • Menor tempo que uma interação permanesceu na fila
    • AVG_TIME
      • Tempo médio que as interações permanesceram na fila
    • MAX_TIME
      • Maior duração de espera de uma interação na fila
  • Chat_queue
    • Lista com informações detalhadas da fila de atendimento por serviço
    • Service
      • Nome do serviço
    • Client
      • Nome ou identificador do cliente na fila
    • Status_client
      • Status atual do atendimento (online ou offline)
    • Status_chat
      • Status do chat — "0" para Holding e "1" para Online
    • Time_queue
      • Tempo total que o cliente está aguardando na fila (formato HH:MM:SS)

Para acessar essa rota, é só ir no campo /dashboard/chats-dashboard e clicar no botão “Try it out”:

Acessar rota de chats-services

Após inserir os dados, é só clicar no botão execute que está logo abaixo do painel:

Executar a requisição chats-services

Segue um exemplo de retorno da API chats-dashboard:

Exemplo de retorno chats-services

dashboard - SMA (Monitoração\Agentes)

Essa é a Rota para dados de status e login dos usuários, de acordo com os logins do softphone:

  • organization_id
    • ID da organização, campo obrigatório. Esse campo não pode ser uma lista.
  • user_id
    • ID do usuário, caso seja necessário filtrar pelo usuário, podendo ser mais do que apenas uma, caso seja necessário filtrar pelo user_id;
  • service_id
    • ID do serviço, caso seja necessário filtrar pelo serviço, podendo ser mais do que apenas uma, caso seja necessário filtrar pelo service_id;
  • pause_filter
    • ID de uma pausa, podendo ser mais do que apenas uma, caso seja necessário filtrar pela pausa;
  • user_tags
    • ID de uma user_tag, podendo ser mais do que apenas uma, caso seja necessário filtrar pela user_tags;

Após realizada a requisição, a API irá retornar um conjunto de informações, de acordo com o filtro definido. Segue a definição de cada atributo retornado:

  • user_short_name
    • Nome do agente
  • user_photo
    • Link da foto do agente
  • extension_number
    • Número do ramal do agente
  • offline
    • Agente offline
  • service_member_status_voice
    • Status de voz
  • service_member_status_chat
    • Status de chat
  • _id
    • Id do agente
  • is_dialer
    • Discador

Para acessar essa rota, é só ir no campo /dashboard/sma e clicar no botão “Try it out”:

Acessar rota de SMA dashboard

Após inserir os dados, é só clicar no botão execute que está logo abaixo do painel:

Executar a requisição SMA dashboard

Segue um exemplo de retorno da API SMA-dashboard:

Exemplo de retorno SMA dashboard

asa-service - dashboard - Dashboard Inbound

A rota asa-service retorna dados consolidados sobre a operação de voz da plataforma. A rota espera os seguintes parâmetros de busca:

  • organization_id
    • ID da organização, campo obrigatório. Esse campo não pode ser uma lista.
  • service_id
    • ID do serviço, caso seja necessário filtrar pelo serviço, podendo ser selecionado mais do que apenas um item na busca.

Após realizada a requisição, a API irá retornar as seguintes métricas de desempenho e status dos agentes de voz:

  • inbound_asa
    • Tempo Médio de Atendimento, representando a média de tempo que as chamadas receptivas demoram para ser atendidas.
  • queued
    • Quantidade total de chamadas que estão aguardando atendimento na fila no momento.
  • service
    • Nome do serviço associado às métricas retornadas.
  • available
    • Quantidade total de agentes de voz que estão online e disponíveis para receber chamadas.
  • talking
    • Quantidade total de agentes que estão em chamada ativa com um cliente no momento.
  • paused
    • Quantidade total de agentes de voz que encontram-se em alguma pausa.

Após inserir os dados, é só clicar no botão execute que está logo abaixo do painel:

Exemplo de rota ASA Inbound dashboard

Segue um exemplo de retorno da API asa-service-dashboard:

Exemplo de retorno ASA Inbound dashboard

boteria-asa-service - dashboard - Dashboard de interações Boteria (ASA)

A rota boteria-asa-service apresenta os indicadores de atendimento e tempos médios voltados para as interações que trafegam através da integração com a Boteria. A rota espera os seguintes parâmetros de busca:

  • organization_id
    • ID da organização, campo obrigatório. Esse campo não pode ser uma lista.
  • service_id
    • ID do serviço, caso seja necessário filtrar pelo serviço, podendo ser selecionado mais do que apenas um item na busca.

Após realizada a requisição, a API irá retornar o conjunto de dados consolidados sobre as sessões digitais da Boteria:

  • sessions

    • Quantidade total de sessões ativas ou em atendimento no período.
  • finished_session_percentage

    • Percentual de interações e sessões que foram devidamente finalizadas/tabuladas.
  • chat_aht

    • Tempo Médio de Atendimento, indicando a duração média dos chats da Boteria.
  • current_chats

    • Quantidade total de clientes que estão em atendimento simultâneo no momento.
  • chat_tmr

    • Tempo médio de resposta, indicando a média de tempo que o agente demora para responder às mensagens enviadas pelo cliente.
  • chat_tm1r

    • Tempo médio da primeira resposta, calculando a média de tempo que o agente levou para enviar a primeira mensagem ao cliente após o início do chat.
  • chat_queue

    • Quantidade total de interações provenientes da Boteria que estão aguardando na fila de atendimento.
  • chat_longest_wait

    • Tempo de espera mais longo registrado para uma interação que está aguardando atendimento na fila.

    Após inserir os dados, é só clicar no botão execute que está logo abaixo do painel:

Exemplo de rota ASA Boteria dashboard

Segue um exemplo de retorno da API /dashboard/boteria-asa-service-dashboard:

Exemplo de retorno ASA Boteria dashboard