Navigation:  Integração via web services SOAP > Overview técnico >

Autenticação API Key

Previous  Top  Next

Deve-se fazer a requisição ao Api Gateway passando no header da requisição, o parâmetro Authorization, contendo o  Token pessoal do usuário que está disponível na seção "API Gateway" da tela de dados do usuário:

 

account_01

 

account_02

 

O SoapUI é uma ferramenta utilizada para teste de aplicações de web service. Veja na imagem a seguir, um exemplo de como utilizar o header no SoapUI:

 

soapui_apikey_zoom80

 

Para realizar a conexão com algum de nossos web services SOAP através de um arquivo php externo, sugerimos a utilização da extension soap (nativa do PHP) conforme exemplo abaixo:

 

<?php

// Server domain or server ip

$server = "alves.softexpert.com.br";

 

//Local WSDL File (in this sample we are using SE Administration WebService)

//$wsdl     = "adm_ws.wsdl";

//URL to download a remote WSDL

$wsdl     = "https://$server/se/ws/adm_ws.php?wsdl";

 

//endpoint to connect

$location = "https://$server/apigateway/se/ws/adm_ws.php";

 

//Http request context (you should set the Authorization Token). In context details you can disable ssl feature (https://www.php.net/manual/pt_BR/context.ssl.php)

$context = array(

   'http' => array(

       'header' => 'Authorization: userToken' //user token catured in your sesuite account details

   ));

 

 

$client = new SoapClient($wsdl, array(

 "trace" => 1, // enable trace

 "exceptions" => 1, // enable exceptions

 "stream_context" => stream_context_create($context),

 "location" => $location

));

 

//below we are using a sample method in SE Administration WebService

$return = $client->editPosition(array(

 'ID' => "SamplePosition",

 'DESC' => "SamplePosition"

));

 

É possível ignorar o protocolo SSL neste contexto apenas alterando o valor da variável context. Conforme exemplo abaixo:

//Http request context (you should set the Authorization Token). In context details you can disable ssl feature (https://www.php.net/manual/pt_BR/context.ssl.php)

$context = array(

   'http' => array(

       'header' => 'Authorization: userToken'

   ),

   'ssl' => array(

       'verify_peer' => false,

       'verify_peer_name' => false

   )

);

 

É necessário ter habilitado as extensões SOAP e OpenSSL dentro das configurações do PHP (php.ini) utilizado.

 

Já, se for necessário realizar uma conexão com algum de nossos webservices através de um arquivo interno da ferramenta SoftExpert Suite (por exemplo, aplicação externa), é possível simplificar utilizando um método que criamos para esta finalidade dentro do mesmo. Segue abaixo um exemplo desta chamada que pode ser inserida no fonte da respectiva aplicação externa:

//classe SoapGateway está localizada dentro de /include/dataintegration/apigateway/class.SoapGateway.inc

$soapGateway = new SoapGateway("user_token_here", "alves.softexpert.com.br");

$return = $soapGateway->call();

 

Segue abaixo o registro do método call() mencionado acima para expressar os possíveis parâmetros e sua funcionalidade.

/**

    * Método que faz a chamada a um método do respectivo web service Soap do SoftExpert Suite.

    * @param String $params Array contendo a estrutura de requisição

    * @param String $resourcePath Caminho do web service que será chamado. Normalmente é algo como se/ws/<sigla_do_componente>_ws.php Ex.: se/ws/adm_ws.

    * @param String $soapAction Método que será chamado no respectivo webservice.

    */

  public function call($params = array('ID' => "SamplePosition", 'DESC' => "SamplePosition"), $resourcePath = "se/ws/adm_ws.php", $soapAction = "editPosition")