-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsap.php
64 lines (59 loc) · 2.05 KB
/
sap.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
/*
Classe para acesso API Rest SAP B1
*/
class SAP{
/*
Funcao de Login
*/
public function Login($force=false){
require_once('config.php');
$cookie='cookie.txt';
$data_arq=date("U",filemtime($cookie));
$diff=time()-$data_arq;
$url=SAP_URL."/Login";
//Faco a verificacao se o tempo de expiracao da sessao esta proximo, ou se esta sendo forcado o login
if($diff>1000 || $force=='force') {
$dados=array(
'CompanyDB'=>SAP_BD,
'UserName'=>SAP_USUARIO,
'Password'=>SAP_SENHA
);
$post=json_encode($dados);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
//Gravo o Cookie, nao envio nenhum cookie para o SAP
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
$json = curl_exec($ch);
curl_close($ch);
return $json;
}
}
//Parceiros de Negocios
/*
Listo os Parceiros de Negócios
*/
public function getPN(){
header('Content-type: application/json');
$this->Login();
$url=SAP_URL."/BusinessPartners";
$cookie='cookie.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//Envio o Cookie armazenado no Login
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$json = curl_exec($ch);
curl_close($ch);
return $json;
}
}