Skip to content

Commit 42e3d43

Browse files
feat: update Imprese integration
1 parent 438520d commit 42e3d43

2 files changed

Lines changed: 146 additions & 0 deletions

File tree

src/OpenApi.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ private function getListaModuli(){
8888
$moduli['imprese.altravia.com'] = "\\OpenApi\\classes\\Imprese";
8989
$nomi['imprese.altravia.com'] = "imprese";
9090

91+
$moduli['imprese.openapi.it'] = "\\OpenApi\\classes\\ImpreseOpenapi";
92+
$nomi['imprese.openapi.it'] = "imprese";
93+
9194
$moduli['visengine2.altravia.com'] = "\\OpenApi\\classes\\VisEngine";
9295
$nomi['visengine2.altravia.com'] = "visengine";
9396

src/classes/ImpreseOpenapi.php

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<?php
2+
namespace OpenApi\classes;
3+
class ImpreseOpenapi extends OpenApiBase {
4+
/**
5+
* @param string $token Il token da utilizzare per il collegamento
6+
* @param array $scopes Array con la lista degli scope per cui il token è abilitato
7+
* @param object $cache Classe che gestisce la cahce, deve essere una classe che estende {@see OpenApi\clasess\utility\DummyCache} o comunque compatibile con essa (stessi metodi)
8+
*/
9+
function __construct(string $token, array $scopes, object $cache, string $prefix){
10+
parent::__construct($token, $scopes, $cache, $prefix);
11+
12+
//$prefix = "";
13+
$this->basePath = "https://imprese.openapi.it";
14+
}
15+
16+
/**
17+
*
18+
* Consente di recuperare i dati di una azienda a partire dalla partita IVA
19+
*
20+
* @param string $partitaIva La partita IVa da ricercare
21+
* @param int $ttr Time to Release: per quanti secondi la chiamata resta in cache prima di essere effettuata una seconda volta
22+
*
23+
* @return object
24+
*/
25+
function getByPartitaIva(string $partitaIva, $ttr = 86400, $force = false){
26+
$partitaIva = trim($partitaIva);
27+
try{
28+
$data = $this->connect("advance/$partitaIva", "GET", [], $ttr, true);
29+
return $data->data;
30+
}catch (\OpenApi\classes\exception\OpenApiConnectionsException $e){
31+
if($e->getHTTPCode() == 404){
32+
return null;
33+
}
34+
throw $e;
35+
36+
37+
exit;
38+
}
39+
40+
41+
}
42+
43+
function getClosed(string $partitaIva, $ttr = 86400){
44+
$partitaIva = trim($partitaIva);
45+
try{
46+
$data = $this->connect("closed/$partitaIva", "GET", [], $ttr);
47+
return $data->data;
48+
}catch (\OpenApi\classes\exception\OpenApiConnectionsException $e){
49+
50+
if($e->getHTTPCode() == 404){
51+
return null;
52+
}
53+
throw $e;
54+
55+
56+
exit;
57+
}
58+
}
59+
60+
function getVatGroup(string $partitaIva, $ttr = 86400){
61+
$partitaIva = trim($partitaIva);
62+
try{
63+
$data = $this->connect("gruppoIva/$partitaIva", "GET", [], $ttr);
64+
return $data->data;
65+
}catch (\OpenApi\classes\exception\OpenApiConnectionsException $e){
66+
67+
if($e->getHTTPCode() == 404){
68+
return null;
69+
}
70+
throw $e;
71+
72+
73+
exit;
74+
}
75+
}
76+
77+
function getPec(string $partitaIva, $ttr = 86400){
78+
$partitaIva = trim($partitaIva);
79+
try{
80+
$data = $this->connect("pec/$partitaIva", "GET", [], $ttr);
81+
return $data->data;
82+
}catch (\OpenApi\classes\exception\OpenApiConnectionsException $e){
83+
84+
if($e->getHTTPCode() == 404){
85+
return null;
86+
}
87+
throw $e;
88+
89+
90+
exit;
91+
}
92+
}
93+
94+
/**
95+
*
96+
* Cerca un'azienda o più utilizzando vari parametri
97+
*
98+
* @param string $denominazione Denominazione azienda
99+
* @param string $provincia Provincia
100+
* @param string $partitaIva=NULL Partita IVA
101+
* @param string $codiceFiscale=NULL Codice Fiscale
102+
* @param int $ttr Time to Release: per quanti secondi la chiamata resta in cache prima di essere effettuata una seconda volta
103+
*
104+
* @return array Lista delle aziende individuate
105+
*/
106+
function getBySearch(string $denominazione, string $provincia, $partitaIva= NULL , $codiceFiscale=NULL, $ttr = 86400){
107+
$params=[];
108+
if($denominazione != NULL){
109+
$params['denominazione'] = trim($denominazione);
110+
}
111+
if($provincia != NULL){
112+
$params['provincia'] = $provincia;
113+
}
114+
if($partitaIva != NULL){
115+
$params['piva'] = $partitaIva;
116+
}
117+
if($codiceFiscale != NULL){
118+
$params['cf'] = $codiceFiscale;
119+
}
120+
121+
$data = $this->connect("advance/$partitaIva", "GET", $params, $ttr);
122+
return $data->data;
123+
}
124+
125+
function autocomplete($query, $ttr = 86400){
126+
try{
127+
$query = trim($query);
128+
$query = str_replace(" ","*",$query);
129+
$query = urlencode("*$query*");
130+
$data = $this->connect("autocomplete/$query", "GET", [], $ttr);
131+
if($data == null){
132+
$data = [];
133+
}else{
134+
$data = $data->data;
135+
}
136+
return $data;
137+
}catch (\OpenApi\classes\exception\OpenApiConnectionsException $e){
138+
139+
}
140+
return [];
141+
142+
}
143+
}

0 commit comments

Comments
 (0)