zipline / egestor-sdk
用于访问eGestor API的SDK
1.0.1
2017-07-25 19:17 UTC
Requires
- php: >=5.5
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- mockery/mockery: ^0.9.9
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-09-20 21:06:14 UTC
README
简化访问eGestor API的SDK
安装
使用Composer进行安装
# Instalando o Composer curl -sS https://getcomposer.org/installer | php # Instalando o zipline/egestor-sdk como uma dependência do projeto php composer.phar require zipline/egestor-sdk
当SDK安装完成后,需要加载由Composer生成的autoloader
(负责加载所有namespaces的文件)。
将其添加到您的文件中
require 'vendor/autoload.php';
认证您的应用程序
主要存在两种认证方式
访问码
用户将被重定向到包含code
参数的您的应用程序URL,该参数应用于与API开始认证。
$code = $_GET['code']; $api = new Zipline\eGestor\API([ 'clientId' => 'id_da_aplicacao', 'clientSecret' => 'segredo', 'redirectUri' => 'uri_cadastrada' ]); $tokens = $api->authByCode($code);
作为响应,API将发送三个令牌:access_token
、refresh_token
和personal_token
。
对于后续访问,请使用personal_token
来请求新的access_token
和refresh_token
。
SDK提供了一个方法来返回请求访问链接的应用程序
$api = new Zipline\eGestor\API([ 'clientId' => 'id_da_aplicacao', 'clientSecret' => 'segredo', 'redirectUri' => 'uri_cadastrada' ]); $url = $api->getAuthUri();
每次用户通过重定向链接访问您的应用程序时,系统都会生成一个新的code
;
个人令牌
完成首次认证后,可以使用收到的personalToken
请求新的access_token
。
personalToken
通过eGestor用户识别您的应用程序。
$api = new Zipline\eGestor\API(['personalToken' => PERSONAL_TOKEN]);
访问API
完成认证后,您可以访问API。可用的方法有get
、post
、put
和delete
。尽可能返回格式为Array
的结果。
require 'vendor/autoload.php'; $api = new Zipline\eGestor\API(['personalToken' => PERSONAL_TOKEN]); $contatos = $api->get('contatos'); var_dump($contatos); // Resposta: // array(10) { // ["total"] => int(1) // ["per_page"]=> int(50) // ["current_page"]=> int(1) // ["last_page"]=> int(1) // ["next_page_url"]=> NULL // ["prev_page_url"]=> NULL // ["from"]=> int(1) // ["to"]=> int(50) // ["data"]=> array(1) { // [0]=> array(8) { // ["codigo"] => int(1) // ["nome"] => string(5) "Paulo" // ["tipo"] => array(1) { // [0]=> string(7) "cliente" // } // ["emails"] => array(1) { // [0]=> string(17) "paulo@example.com" // } // ["fones"] => array(0) {} // ["cidade"] => string(0) "" // ["uf"] => string(0) "" // ["tags"] => array(1) { // [0]=> string(11) "cliente-vip" // } // } // } // ["next_page"]=> NULL // }
API对象允许访问上次请求的数据
$remaining = $api->getRemaining();//número que requests até atingir o limite $body = $api->getBody();//corpo da resposta sem o parser
示例
require 'vendor/autoload.php'; $api = new Zipline\eGestor\API(['personalToken' => PERSONAL_TOKEN]); //Novo contato $contato = $api->post("contatos", [ 'nome' => 'Zipline', 'tipo' => ['fornecedor'] ]); $codContato = $contato['codigo']; //Editando $response = $api->put("contatos/$codContato", [ 'nome' => 'eGestor', ]); //Removendo $response = $api->delete("contatos/$codContato"); //Pesquisando $response = $api->get("contatos", [ 'filtro' => 'eGestor', ]);
require 'vendor/autoload.php'; try { $api = new Zipline\eGestor\API(['personalToken' => PERSONAL_TOKEN]); $contatos = $api->get("contatos"); foreach($contato as $contatos['data']) { echo $contato['codigo'] . ' - ' . $contato['nome'] . "\n"; } } catch(Zipline\Exception\InvalidTokenException $e) { echo "Não foi possível autenticar! Motivo:" . $e->getMessage() . "\n"; } catch(Exception $e) { echo "Requisição não poder realizada! Motivo:" . $e->getMessage() . "\n"; }
require 'vendor/autoload.php'; try { $api = new Zipline\eGestor\API([ 'app_id' => MEU_APP_ID, 'app_secret' => MEU_APP_SECRET 'personalToken' => PERSONAL_TOKEN) ]); $contatos = $api->get("contatos"); foreach($contato as $contatos['data']) { echo $contato['codigo'] . ' - ' . $contato['nome'] . "\n"; } } catch(Zipline\Exception\InvalidTokenException $e) { echo "Não foi possível autenticar! Motivo:" . $e->getMessage() . "\n"; } catch(Exception $e) { echo "Requisição não poder realizada! Motivo:" . $e->getMessage() . "\n"; }
异常
Zipline\Exception\InvalidTokenException
:无效凭证;