Como inserir um novo atendimento com novo protocolo valido - API
1 - Antes de qualquer coisa, precisa-se realizar a configuração da API no equipamento do provedor, para saber como realizar esta configuração, basta acessar o link Configurando acesso ao Webservice API Apache ou Configurando acesso ao Webservice API Nginx após esta configuração, realize os passos abaixo para inserir um novo atendimento.
2 - Após realizar a configuração da API no equipamento do cliente, basta criar o seguinte código, nesta requisição vamos criar um novo protocolo de atendimento, verificar se não tem outro atendimento com esse protocolo, e então criar o novo atendimento.
1 <?php
2
3 //requerindo arquivo do webservice
4 require(__DIR__ . DIRECTORY_SEPARATOR . 'WebserviceClient.php');
5
6 //url do sistema
7 $host = 'https://HOST/webservice/v1'; // IP ou Domínio
8
9 //token gerado no cadastro do usuario (verificar permissões)
10 $token = 'TOKEN';
11
12 //true para certificado auto assinado
13 $selfSigned = true;
14
15 //instanciando api requerida na primeira linha do código
16 $api = new IXCsoft\WebserviceClient($host, $token, $selfSigned);
17
18 $api -> get('gerar_protocolo_atendimento'); //Faz a o GET na API na tabela gerar_protocolo_atendimento
19 $retorno_protocolo = $api->getRespostaConteudo(false);// false para json | true para array
20 $retorno_protocolo = intval($retorno_protocolo); //"Força" que o retorno seja um inteiro
21
22 //array de parâmetros do método para buscar um atendiemnto com o protocolo gerado
23 $params = array(
24 'qtype' => 'su_ticket.protocolo',//campo de filtro
25 'query' => $retorno_protocolo, //valor para consultar
26 'oper' => '=',//operador da consulta
27 'page' => '1',//página a ser mostrada
28 'rp' => '5',//quantidade de registros por página
29 'sortname' => 'su_ticket.id',//campo para ordenar a consulta
30 'sortorder' => 'desc',//ordenação (asc= crescente | desc=decrescente)
31 );
32
33 $api->get('su_ticket', $params); //Faz a o GET na API na tabela su_ticket
34 $retorno_listar_protocolo = $api->getRespostaConteudo(false);// false para json | true para array
35
36 //Verifica se o retorno da busca é 0, para criar o novo atendimento
37 if($retorno_listar_protocolo == 0){
38
39 //array de parâmetros do método para criar novo atendimento
40 $dados = array(
41 'protocolo' => $retorno_protocolo, //Obrigatorio, Id do protocolo
42 'id_circuito' => '', //Campo de cirtuitos, ele ficará disponível apenas se um circuito foi criado, e habilitado nos parâmetros. Ele puxa automaticamente os campos de cliente, login, e contrato.
43 'id_cliente' => '1112', //Obrigatorio, Id do cliente
44 'id_login' => '', //Relacionado com o campo id da tabela Login.
45 'id_contrato' => '', //Relacionado com o campo id da tabela Contrato do cliente.
46 'id_assunto' => '', //Relacionado com o campo id da tabela Assunto.
47 'titulo' => 'Internet lenta',//Descrição do assunto
48 'origem_endereco' => 'M',//Obrigatorio, C = Cliente, L = Login, CC = Contrato, M = Manual
49 'endereco' => '',//Campo de texto
50 'latitude' => '',//Campo de texto
51 'longitude' => '',//Campo de texto
52 'id_wfl_processo' => '', //Relacionado com o campo id da tabela Processo.
53 'id_ticket_setor' => '1', //Relacionado com o campo id da tabela Departamento do atendimento.
54 'id_responsavel_tecnico' => '', //Relacionado com o campo id da tabela Funcionários.
55 'prioridade' => 'M', //B = Baixa, M = Normal, A = Alta, C = Crítica.
56 'id_ticket_origem' => 'I',//I = Interna, H = Hotsite
57 'id_usuarios' => '',//Relacionado com o campo id da tabela Usuários.
58 'id_resposta' => '',//Relacionado com o campo id da tabela Resposta.
59 'menssagem' => 'Teste001',//Obrigatorio, Mensagem de Obs.
60 'interacao_pendente' => 'N',//E = Externa, I = Interna, N = Nenhuma, A = Ambos
61 'su_status' => 'N', //Obrigatorio, N = Novo, P = Pendente, EP = Em progresso, S = Solucionado, C = Cancelado
62 'id_evento_status_processo' => '',//Relacionado com o campo id da tabela Evento de status.
63 'status' => 'T',//Obrigatorio, T = Pendente, C = Aguardando cliente, EX = Execução, OSAB = OS aberta, OSEX = OS em execução, OSAG = OS agendada, F = Finalizado
64 'id_su_diagnostico' => '',//Relacionado com o campo id da tabela Diagnóstico de suporte.
65 'atualizar_cliente' => 'S',//Valor Padrão: S
66 'latitude_cli' => '', //Campo de texto, Somente leitura
67 'longitude_cli' => '', //Campo de texto, Somente leitura
68 'atualizar_login' => 'S', //Valor Padrão: S
69 'latitude_login' => '', //Campo de texto, Somente leitura
70 'longitude_login' => '' //Campo de texto, Somente leitura
71 );
72
73 $api->post('su_ticket', $dados);//Faz a o POST na API na tabela su_ticket
74 $retorno = $api->getRespostaConteudo(false);// false para json | true para array
75 var_dump($retorno);//Imprime o retorno
76
77 } else { //caso if seja diferente de 0
78 //Imprime o aviso de Protocolo duplicado com o numero de protocolo e o Atendimento encontrado
79 echo "Protocolo Duplicado\n\n";
80 var_dump($retorno_protocolo);
81 var_dump($retorno_listar_protocolo);
82 }
83 ?>
2.1 - O retorno recebido pode ser tanto de sucesso como de erro no caso de alguma inconsistência nos dados passados. Nesse caso obtemos um retorno de sucesso:
-
Voltar ao menu Recursos da API