altravia / openapi
该包的最新版本(1.1.0)没有可用的许可证信息。
OpenApi PHP 库(https://openapi.it)
1.1.0
2022-01-10 08:18 UTC
Requires
- php: >=7.2.0
This package is auto-updated.
Last update: 2024-09-24 17:33:54 UTC
README
1. 安装
composer require altravia/openapi
2. 用法
2.1. 类的实例
require_once 'vendor/autoload.php'; $openapi = new \OpenApi\OpenApi($scopes, $user, $apikey, $environment);
其中 $scopes
是一个字符串数组或对象,格式如下
$scopes = [ "GET:ws.ufficiopostale.com/comuni", [ "domain"=>"ws.ufficiopostale.com", "method"=>"comuni", "mode" =>"GET" ] ];
...而 $environment
是选择的环境,可以是 'test'
(默认)或 'production'
OpenApi 将在需要时自动检索或生成新的令牌。
此时,根据指定的范围创建以下对象
// Ogni oggetto verrá creato solo se disponibile nello scope. $openapi->ufficiopostale; $openapi->comuni; $openapi->imprese; $openapi->visengine; $openapi->marcheTemporali; $openapi->geocoding; $openapi->SMS; $openapi->firmaDigitale; $openapi->pecMassiva;
它们可以用以下方式使用
$this->openapi->ufficioposale->getCitiesByCap('00132');
2.2. 示例
require_once 'vendor/autoload.php'; // Dichiaro gli scopes necessari $scopes = [ 'GET:comuni.openapi.it/cap', 'GET:imprese.altravia.com/advance', ]; $openapi = new OpenApi\OpenApi($scopes, 'my_username','my_api_key', 'test'); // Comuni: prendi informazioni sul cap 00132 $cap = $openapi->comuni->getCitiesByCap('00132'); // Imprese: prendi informazioni su una specifica impresa $impresa = $openapi->imprese->getByPartitaIva('12485671007'); // Ufficio Postale: ottieni informaizoni sul tracking $track = $this->openapi->ufficiopostale->track('123456789');
3. 通用模块
允许获取关于城市和省份的信息。
getCitiesByCap
getComuneByCatasto
getRegioni
getProvince
getComuni
3.1. 示例
$provincia = 'RM'; $comuni = $this->openapi->comuni->getComuni($provincia); var_dump($comuni['comuni']); /* ["nome_provincia"]=> string(4) "Roma" ["sigla_provincia"]=> string(2) "RM" ["regione"]=> string(5) "Lazio" ["comuni"]=> array(121) { [0]=> string(6) "Affile" ... */
4. 企业模块
4.1. 使用方法
企业模块公开以下方法
getByPartitaIva
getClosed
getVatGroup
getPec
getBySearch
对于 getBySearch
和 getByPartitaIva
需要访问 /advance
范围
4.2. 示例
我们使用 getBySearch
来搜索罗马以 Altrav
开头的公司
$autocomplete = $this->openapi->imprese->getBySearch('Altrav*', 'RM'); /* [0]=> object(stdClass)#41 (10) { ["piva"]=> string(11) "12485671007" ["cf"]=> string(11) "12485671007" ["denominazione"]=> string(20) "ALTRAVIA SERVIZI SRL" [1]=> object(stdClass)#42 (10) { ["id"]=> string(24) "4242424242" ["denominazione"]=> string(18) "xxx Altravia Esempio 2" ... */
5. 时间标记模块
availability
checkLotto
purchase
5.1. 示例
// Controlliamo la disponibilitá di una marca di inforcert o aruba $disponibilita = $this->openapi->marcheTemporali->availability('infocert', 1); // Se le marche sono disponibili, acquistiamone una if ($disponibilita->availability > 0) { try { $marca = $this->openapi->marcheTemporali->purcahse('infocert', 1); } catch (\OpenApi\classes\exception\OpenApiMarcheTemporaliException $e) { error_log(var_dump($e)); } }
6. SMS 模块
getRecipients
getMessage
sendMore
sendOne
6.1. 发送 SMS
要发送 SMS,首先定义目标收件人
$recipient = '+39-3939989741'; // OR $recipients = [ [ 'number' => '+39-3939989741', 'fields' => ['nome' => 'NomeDestinatario'] ] ];
现在我们可以发送 SMS
try { $priority = 1; $options = null; $singleSms = $this->openapi->SMS->sendOne('Nome del mittente', $recipient, 'lorem ipsum', null, $priority, $options); } catch (\OpenApi\classes\exception\OpenApiConnectionsException $e) { throw 'Non è stato possibile recapitare il messaggio'; }
我们还可以独立指定前缀
$this->openapi->SMS->sendOne('Nome del mittente', '3939989741', 'lorem ipsum', '+42', 1, null);
或者传递选项
$options = ['timestamp_send' => '2021-04-20'] $this->openapi->SMS->sendOne('Nome del mittente', '3939989741', 'lorem ipsum', '+42', 1, $options);
7. Visengine 模块
首先,设置我们想要请求的证明的哈希值
// https://developers.openapi.it/services/visengine $this->openapi->visengine->setHash($visura->hash);
此时,我们可以调用 createRequest
,它将返回一个空的证明实例,我们将创建所需结构的证明
$request = $this->openapi->visengine->createRequest();
接下来完成对象,当准备好后可以传递给sendRequest
$request->setJson(['$0' => 'abcd', '$1' => '12485671007']); // url di callback, oggetto con dati aggiuntivi, metodo $request->setCallbackData('https://example.com', new stdClass(), 'POST'); $visura = $this->openapi->visengine->sendRequest($request);