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:

Captura de Tela 2019-09-04 às 09.39.45.png

-

Voltar ao menu Recursos da API