- 6 Minutes to read
- Print
- DarkLight
- PDF
GetContacts
- 6 Minutes to read
- Print
- DarkLight
- PDF
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.<br><br>Após clicar em "Sair", aparecerá um formulário com uma breve pesquisa. Por gentileza, avalie o meu atendimento, para que a <br>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)
id | estado | canal |
---|---|---|
1 | aberto – não atribuído a um operador | Mail Manager |
2 | aberto – atribuído a um operador | Mail Manager |
3 | respondido | Mail Manager |
4 | aberto – não atribuído a um operador | Mail Manager |
5 | aberto – não atribuído a um operador | Mail Manager |
6 | excluídos | Mail Manager |
7 | chat não iniciado | Interactive |
8 | chat não iniciado – usuário na fila | Interactive |
9 | chat em andamento | Interactive |
10 | usuário terminou a conversa | Interactive |
11 | desconectado pelo operador | Interactive |
12 | timeout de reload | Interactive |
13 | timeout de mensagem | Interactive |
14 | Desconectado pelo Sistema | Interactive |
15 | timeout de usuário na fila de espera | Interactive |
16 | logout da fila de espera | Interactive |
17 | fechado | Interactive |
18 | fechado | Interactive |
19 | fechado | Interactive |
20 | chamada em andamento | Phone |
21 | chamada finalizada | Phone |
22 | respondido | Mail Manager |
23 | aberto – atribuído a um especialista | Mail Manager |
24 | aberto – não atribuído a um operador | Mail Manager |
25 | Usuário deslogado durante escolha de operador por não haver mais operadores logados | Interactive |
26 | Usuário requisitou callback | Interactive |
27 | Usuário que requisitou callback já contatado via e-mail | Interactive |
28 | Estado inicial do auto atendimento | eService |
29 | Usuário não conseguiu entrar pois a fila estava lotada | Interactive |
30 | chamada em andamento | Phone Ativo |
31 | chamada finalizada | Phone Ativo |
Artigos relacionados: