Skip to main content

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

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

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 de colocar 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