GetContacts
  • 6 Minutes to read
  • Dark
    Light
  • PDF

GetContacts

  • Dark
    Light
  • PDF

Article Summary

Descrição do serviço

Este serviço é responsável pela obtenção dos atendimentos realizados na Plataforma DT a partir de um filtro e campos do atendimento retornando um XML contendo tais atendimentos. Também é chamado informalmente de exportador de atendimentos. Parâmetros do serviço (entrada)

  • OpId = Nome da operação (usando método HTTP/GET)
  • Token = Código (fixo), de autenticação do usuário do serviço = XML contendo os campos dos atendimentos a serem retornados (vide cap. 2.1)
  • ContactFilter = XML contendo os filtros para seleção dos atendimentos (vide cap. 2.2)
    Para executar a operação, é necessário passar tais parâmetros usando o método HTTP/POST, para uma página chamada Default.aspx, como mostra o exemplo HTML abaixo :

<html>
<head>
<title>Teste Operação de Exportação de Atendimentos</title>
</head>
<body>
<form method="post"action="http://exemplo.directtalk.com.br/services/http/Default.aspx?OpId=Platform.Contact.GetContacts">
<b>Token:</b><br>
<input type="text" id="txtToken" name="Token"></input><br>
<b>Filtro de campos do atendimento (tipo XML) (parâmetro Fields):</b>
<br>
<textarea id="txt" name="Fields"></textarea><br>
<b>Filtro de registros (intervalo de atendimentos) (tipo XML) (parâmetro ContactFilter) :
</b>
<br>
<textarea id="txtContactFilter" name="ContactFilter"></textarea><br>
<input type="submit" value="Executar Operação GetContacts">
</form>
</body>
</html>

Token:

Filtro de campos do atendimento (tipo XML) (parâmetro Fields):

Filtro de registros (intervalo de atendimentos) (tipo XML) (parâmetro ContactFilter) :

Descrição do parâmetro

O parâmetro Fields é uma estrutura em XML que representa os campos que se deseja obter de um atendimento. Cada tag pode receber um valor true ou o false.
* true = indica que o campo deve aparecer no XML de retorno
* false = suprime o campo no XML de retorno

OBS: Se uma tag for suprimida, assume-se valor false como padrão.
Os campos ou conjuntos de dados de um atendimento possíveis de serem selecionados são:

  • Agents = Lista de dados dos operadores que realizaram o atendimento
  • Customers = Lista de dados dos clientes atendidos (chaves)
  • Classifications = Lista das classificações atribuídas ao atendimento (incluindo a estrutura da árvore das classificações atribuídas)
  • Classification
    • Forms = Lista de dados dos formulários de classificação
    • Process = Lista de dados dos processos do Workflow (NÃO IMPLEMENTADO)
  • Survey
    • Initial = Dados da pesquisa inicial
    • Contact = Lista de dados das pesquisas de meio
    • Final = Dados de pesquisa final
  • ContactDetail
    • Chat = Detalhes do atendimento feito no canal CHAT
    • Mail = Detalhes do atendimento feito no canal MAIL
    • Phone = Detalhes do atendimento feito no canal PHONE (NÃO IMPLEMENTADO)
    • ChatDetails
      • Dialog = Dados do diálogo do CHAT
    • MailDetails
      • Body = Dados do corpo do EMAIL
      • Attachments = Lista de anexos do EMAIL (NÃO IMPLEMENTADO)

Segue exemplo abaixo:

<?xml version="1.0" encoding="utf-8" ?>
<Fields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Agents>true</Agents>
<Customers>true</Customers>
<Classifications>true</Classifications>
<Classification>
<Forms>true</Forms>
<Processes>true</Processes>
</Classification>
<Survey>
<Initial>true</Initial>
<Contact>true</Contact>
<Final>true</Final>
</Survey>
<ContactDetail>
<Chat>true</Chat>
<Mail>true</Mail>
<Phone>true</Phone>
<ChatDetails>
<Dialog>true</Dialog>
</ChatDetails>
<MailDetails>
<Body>true</Body>
<Attachments>true</Attachments>
</MailDetails>
<PhoneDetails></PhoneDetails>
</ContactDetail>
</Fields>


Descrição do parâmetro ContactFilter

O parâmetro ContactFilter representa os filtros possíveis para a seleção dos atendimentos a serem obtidos pelo serviço. Cada tag possui um tipo específico para reprentar cada campo sobre os quais são feitos os filtros para seleção.

Os campos para seleção dos atendimentos são:

  • StartID = Identificação inicial a partir da qual os atendimentos são retornados
  • Quantity = Quantidade de atendimento a serem retornados a partir do StartID. Máximo de 10 atendimentos por consulta.
  • StartedBetween= Intervalo de datas baseado na data de início do atendimento
    • Initial = Data inicial do intervalo
    • Final = Data final do intervalo (NÃO IMPLEMENTADO)
  • FinishedBetween= Intervalo de datas baseado na data de finalização do atendimento
    • Initial = Data inicial do intervalo (NÃO IMPLEMENTADO)
    • Final = Data final do intervalo
  • Agent= Restringe os atendimentos pelos operadores que o realizaram
    • IDs = Lista de identificações dos operadores desejados
  • Channel= Restringe os atendimentos pelos canais de atendimento
    • IDs = Lista de identificações dos canais desejados
  • State= Restringe os atendimentos pelos estados (status)
    • IDs = Lista de identificações dos estados (status) desejados

OBS: Se uma tag for suprimida, assume-se que não haverá filtro pelo campo representado pela tag suprimida.

Segue exemplo abaixo:

<?xml version="1.0" encoding="utf-8" ?> <ContactFilter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <StartID>1</StartID> <Quantity>10</Quantity> <StartedBetween> <Initial>008-01-31T00:00:00.000</Initial> <Final>2008-01-31T00:00:00.000</Final> </StartedBetween> <FinishedBetween> <Initial>2008-02-29T23:59:59.000</Initial> <Final>2008-02-29T23:59:59.000</Final> </FinishedBetween> <Agent> <IDs> <ID>1</ID> <ID>2</ID> <ID>3</ID> </IDs> </Agent> <Channel> <IDs> <ID>1</ID> <ID>2</ID> <ID>3</ID> </IDs> </Channel> <State> <IDs> <ID>1</ID> <ID>2</ID> <ID>3</ID> </IDs> </State> </ContactFilter>

Resposta do serviço (XML)

Como resposta, a operação Platform.Contact.GetContacts oferece um XML sempre iniciado por uma TAG , quando a operação foi bem sucedida, ou uma TAG , em caso de falha, como mostram os exemplos abaixo:

  • Exemplo do XML de resposta em caso de falha

<rsp status="fail"> <err type="AutorizationError" code="0" msg="Token inválido."/> </rsp>

Descrição detalhadas do campos aqui:

  • ArrayOfContact= Lista de atendimentos
    • Contact = Um Atendimento
    • ID = Identificador único do atendimento
    • ChannelContactID = Identificador do canal de atendimento
    • StartDate = Data/Hora do início do atendimento
    • FinalDate = Data/Hora do fim do atendimento
    • ContactDetail = TAG para que agrupa dados específicos de um canal de atendimento (no caso do exemplo abaixo, canal Chat)
    • xsi:type = Canal de Atendimento que pode ser: “Chat”, “Phone”, “Mail”, “ActivePhone”
    • CustomerName = Nome do cliente informado na pesquisa inicial, antes do atendimento
    • Browser = Nome do browser utilizado pelo cliente
    • Version = Versão do browser utilizado pelo cliente
    • Platform = Sistema operacional utilizado pelo cliente
    • SourceUrl = Origem da entrada no atendimento via Chat
    • State = Estado do atendimento
    • Date = Data/Hora de início do atendimento
    • IP = Endereço IP do cliente
    • Dialog= Diálogo do Chat entre cliente e operador
      • Messages = Lista das mensagens trocadas
      • Message = Dados da mensagem trocada
      • Description = Texto da mensagem
      • Agent = Informa ID, Nome e Status do operador
      • MessageSource = Informa a direção da mensagem, podendo ser “AGENT_TO_USER”, “USER_TO_AGENT”, “AGENT_TO_AGENT”, “SENDING_SURVEY”, “SENDING_URL”
    • Channel = Informa o ID e o Nome do canal de atendimento
    • DefaultForm = Dados do formulário padrão apresentado ao operador
    • ID = Identificador do formulário padrão
    • Name = Nome do formulário
    • Description = Descrição do formulário
    • Date = Data/Hora de preenchimento do formulário
    • Questions= Perguntas do formulário
      • Question = Pergunta do formulário
      • ID = Identificador da pergunta
      • Name = Texto da pergunta
      • Answer = Resposta da pergunta
      • ID = Identificador da resposta
      • Text = Texto da resposta
      • Type = Tipo da reposta
      • xsi:type = Pode conter “SingleLineText”, “MultipleLineText”, “SingleChoiceList”, “MultipleChoiceList”, “DateTime”, “Date”, “Time”
    • States = Lista de estados do atendimento
    • State= Estado do atendimento
      • ID = Identificador do estado
      • InitialDate = Data/Hora inicial do estado
      • FinalDate = Data/Hora final do estado
      • Description = Descrição do estado
    • Agents = Lista de operadores que atenderam o atendimento
    • Agent= Operador
      • ID = Identificador
      • Name = Nome
      • Status = Status
    • Areas = Lista de departamentos do atendimento
    • Area= Departamento
      • Site = Site do cliente

Exemplo do XML de resposta em caso de sucesso

<?xml version="1.0" encoding="UTF-8"?>
<rsp status="ok">
<ArrayOfContact
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Contact>
<ID>10321</ID>
<ChannelContactID>10009675</ChannelContactID>
<StartDate>2008-01-01T08:03:45.197</StartDate>
<FinalDate>2008-01-01T08:10:21.067</FinalDate>
<ContactDetail xsi:type="q1:Chat">
<q1:CustomerName>João da Silva</q1:CustomerName>
<q1:CustomerIntegrationCode>XYZ-234235</q1:CustomerIntegrationCode>
<q1:Browser>Microsoft Internet Explorer</q1:Browser>
<q1:Version>4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2</q1:Version>
<q1:Platform>Win32</q1:Platform>
<q1:SourceUrl>Atendimento On Line</q1:SourceUrl>
<q1:State>1</q1:State>
<q1:Date>1/1/2008 08:03:45</q1:Date>
<q1:IP>219.66.11.47</q1:IP>
<q1:Dialog>
<q1:Messages>
<q1:Message>
<q1:Description>Bem-vindo ao atendimento on-line da Direct Talk. Em que posso ajudar?</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401" />
<q1:MessageSource>AGENT_TO_USER</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>Bom dia. eu gostaria de informações sobre a exportação de dados, você pode me ajudar ?</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>USER_TO_AGENT</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>Bom dia, o Sr. pode acessar a exportação de dados por meio de um acesso Internet.</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>AGENT_TO_USER</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>Ok, existe alguma restrição de segurança ?</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>USER_TO_AGENT</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>Sim, o sistema possui SSL e um Token único para acesso.</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>AGENT_TO_USER</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>Ok, obrigado. Bom dia.</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>USER_TO_AGENT</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>Posso auxiliar com mais alguma informação?</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>AGENT_TO_USER</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>Não obrigado, era só isso mesmo.</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>USER_TO_AGENT</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>A Direct Talk agradece seu contato.&lt;br&gt;&lt;br&gt;Após clicar em "Sair", aparecerá um formulário com uma breve pesquisa. Por gentileza, avalie o meu atendimento, para que a &lt;br&gt;Direct Talk possa aprimorar cada vez mais seus serviços.</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>AGENT_TO_USER</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>Envio de pesquisa.Encerramento</q1:Description>
<q1:Agent ID="11" Name="Maria de Souza" Status="0" IntegrationID="401"/>
<q1:MessageSource>SENDING_SURVEY</q1:MessageSource>
</q1:Message>
</q1:Messages>
</q1:Dialog>
</ContactDetail>
<Channel ID="1" Name="Interactive"/>
<DefaultForm>
<ID>1</ID>
<Name>Formulário Padrão</Name>
<Description/>
<Date>2008-01-01T08:10:21.067</Date>
<Questions>
<Question>
<ID>1</ID>
<Name>Descrição do atendimento:</Name>
<Answer>
<ID>6985</ID>
<Text>Cliente queria informações sobre o sistema de exportação de dados</Text>
<Type xsi:type="SingleLineText" />
</Answer>
</Question>
</Questions>
</DefaultForm>
<States>
<State xsi:type="Customer">
<ID>10</ID>
<InitialDate>2008-01-01T08:51:33.49</InitialDate>
<FinalDate xsi:nil="true" />
<Description>usuário terminou a conversa</Description>
</State>
</States>
<Agents>
<Agent ID="11" Name="Maria Aparecida de Souza" Status="0" IntegrationID="401"/>
</Agents>
<Areas>
<Area areaID="9" name="Departamento de Tecnologia" showTicketNumber="0">
<Site>
<ID>1</ID>
</Site>
</Area>
</Areas>
<Classifications>
<Classification>
<ID>239</ID>
<IntegrationID>0</IntegrationID>
<Name>Informação</Name>
<Classification>
<ID>282</ID>
<IntegrationID>0</IntegrationID>
<Name>Sistemas</Name>
<Classification>
<ID>315</ID>
<IntegrationID>0</IntegrationID>
<Name>Integração com outros sistemas</Name>
<Form>
<ID>60000350</ID>
<Name>VENDAS EMPRESAS</Name>
<Description/>
<Date>2008-01-01T08:51:33.49</Date>
<Questions>
<Question>
<ID>60001137</ID>
<Name>CONTRATO</Name>
<Answer>
<ID>186822866</ID>
<Text>CRTRl9383</Text>
</Answer>
</Question>
<Question>
<ID>60001142</ID>
<Name>SERVIÇO 1 (PRINCIPAL)</Name>
<Answer>
<ID>186822867</ID>
<Text>Comercial Suporte Telefônico (Turbo) </Text>
</Answer>
</Question>
<Question>
<ID>60001143</ID>
<Name>SERVIÇO 2</Name>
<Answer>
<ID>186822868</ID>
<Text/>
</Answer>
</Question>
</Questions>
</Form>
</Classification>
</Classification>
</Classification>
</Classifications>
<Customers>
<Customer>
<ID>9915</ID>
<keys>
<Key>
<ID>1</ID>
<Name>Interactive</Name>
<Value>10009676</Value>
<Description>Chave de sistema unica do Interactive</Description>
</Key>
<Key>
<ID>4</ID>
<Name>LOGIN</Name>
<Value>joao_silva_123</Value>
<Description>Login</Description>
</Key>
<Key>
<ID>22</ID>
<Name>TIPO_CLIENTE</Name>
<Value>Call Center</Value>
<Description>Cliente que fornece infraestrutura de atendimento</Description>
</Key>
<Key>
<ID>25</ID>
<Name>ASSUNTO</Name>
<Value>Exportação de dados</Value>
<Description>Exportação de dados de atendimento em XML</Description>
</Key>
</keys>
</Customer>
</Customers>
<Surveys>
<Survey xsi:type="Initial">
<ID>10000001</ID>
<Name>Pesquisa Inicial</Name>
<Date>2008-01-01T08:44:58.007</Date>
<Questions />
</Survey>
<Survey xsi:type="Final">
<ID>10000000</ID>
<Name>Encerramento</Name>
<Date>2008-01-01T08:52:41.003</Date>
<Questions>
<Question>
<ID>10000007</ID>
<Name>Esclarecimento da dúvida/Solução do problema:</Name>
<Answer>
<ID>10000001</ID>
<Text>Bom</Text>
<Type xsi:type="MultipleLineText"/>
</Answer>
</Question>
<Question>
<ID>10000008</ID>
<Name>Tempo total do atendimento:</Name>
<Answer>
<ID>10000005</ID>
<Text>Razoável</Text>
<Type xsi:type="MultipleLineText"/>
</Answer>
</Question>
<Question>
<ID>10000009</ID>
<Name>Nível de conhecimento do atendente:</Name>
<Answer>
<ID>10000010</ID>
<Text>Ótimo</Text>
<Type xsi:type="MultipleLineText"/>
</Answer>
</Question>
<Question>
<ID>10000011</ID>
<Name>Avaliação geral deste atendimento:</Name>
<Answer>
<ID>10000018</ID>
<Text>Bom</Text>
<Type xsi:type="MultipleLineText"/>
</Answer>
</Question>
<Question>
<ID>10000012</ID>
<Name>Utilizará este canal novamente se precisar:</Name>
<Answer>
<ID>10000022</ID>
<Text>Sim</Text>
<Type xsi:type="MultipleLineText"/>
</Answer>
</Question>
</Questions>
</Survey>
</Surveys>
</Contact>
<Contact>
<ID>10321</ID>
<ChannelContactID>10009675</ChannelContactID>
<StartDate>2008-01-01T08:03:45.197</StartDate>
<FinalDate>2008-01-01T08:10:21.067</FinalDate>
<ContactDetail
xmlns="DT.Server.Communication.Model.Platform.GetContacts.Contact" xsi:type="q1:Mail"
xmlns:q1="DT.Server.Communication.Model.Platform.GetContacts.Contact.Detail.Mail">
<q1:Dialog>
<q1:Messages>
<q1:Message>
<q1:Description>
MENSAGEM DO EMAIL
</q1:Description>
<q1:MessageSource>USER_TO_AGENT</q1:MessageSource>
</q1:Message>
<q1:Message>
<q1:Description>
RESPOSTA DA MENSAGEM
</q1:Description>
<q1:MessageSource>AGENT_TO_USER</q1:MessageSource>
</q1:Message>
</q1:Messages>
</q1:Dialog>
</ContactDetail>
</Contact>
</ArrayOfContact>
</rsp>
 

State (Status dos atendimentos)

idestadocanal
1aberto – não atribuído a um operadorMail Manager
2aberto – atribuído a um operadorMail Manager
3respondidoMail Manager
4aberto – não atribuído a um operadorMail Manager
5aberto – não atribuído a um operadorMail Manager
6excluídosMail Manager
7chat não iniciadoInteractive
8chat não iniciado – usuário na filaInteractive
9chat em andamentoInteractive
10usuário terminou a conversaInteractive
11desconectado pelo operadorInteractive
12timeout de reloadInteractive
13timeout de mensagemInteractive
14Desconectado pelo SistemaInteractive
15timeout de usuário na fila de esperaInteractive
16logout da fila de esperaInteractive
17fechadoInteractive
18fechadoInteractive
19fechadoInteractive
20chamada em andamentoPhone
21chamada finalizadaPhone
22respondidoMail Manager
23aberto – atribuído a um especialistaMail Manager
24aberto – não atribuído a um operadorMail Manager
25Usuário deslogado durante escolha de operador por não haver mais operadores logadosInteractive
26Usuário requisitou callbackInteractive
27Usuário que requisitou callback já contatado via e-mailInteractive
28Estado inicial do auto atendimentoeService
29Usuário não conseguiu entrar pois a fila estava lotadaInteractive
30chamada em andamentoPhone Ativo
31chamada finalizadaPhone Ativo



Artigos relacionados:

Gestão de usuários de API


Was this article helpful?