Pular para o conteúdo principal
Versão: 2.2.0

Exemplo PHP

Exemplo de PHP para uso em Aplicativos Externos ao SoftExpert Suite

API Key

Para realizar a conexão com um dos nossos Web services SOAP usando um arquivo PHP externo, é recomendado utilizar a extensão SOAP, que é nativa do PHP. Essa extensão fornece uma maneira fácil e eficiente de se conectar a serviços Web SOAP e interagir com eles diretamente do código PHP. É importante notar que a extensão SOAP é uma biblioteca padrão do PHP desde a versão 5 e não requer instalação adicional. Abaixo, segue um exemplo de como utilizar a extensão SOAP para conectar-se a um Web service SOAP:

<?php
// Server domain or server ip
$server = "my-domain.softexpert.com";

//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 captured 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
)

);
dica

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

Exemplo de PHP para uso automações no SoftExpert Suite

Se for preciso conectar-se a um dos nossos Web Services usando um arquivo interno da ferramenta SoftExpert Suite (como uma aplicação externa, por exemplo), podemos simplificar o processo usando um método que desenvolvemos especificamente para esse fim. Abaixo, segue um exemplo dessa chamada, que pode ser inserida no código-fonte da respectiva aplicação externa:

//classe SoapGateway está localizada dentro de /include/dataintegration/apigateway/class.SoapGateway.inc
$soapGateway = new SoapGateway("user_token_here", "my-domain.softexpert.com");
$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 Web Service.
*/

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

Basic Auth

Para elaborar o arquivo de conexão em PHP, é preciso incluir o endereço do WSDL para a conexão usando a tag location. Veja o exemplo abaixo:

// URL do WSDL
$wsdl = "https://$server/se/ws/dc_ws.php?wsdl";
$location = "https://$server/apigateway/se/ws/conteudo.php";

// Instancia um cliente SOAP
$client = new SoapClient($wsdl,array(
"trace" => 1, // Habilita o trace
"exceptions" => 1, // Trata as exceções
"login" => $user,
"password" => $pass,
"stream_context"=>stream_context_create($context),
"location" => $location
));