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