leonardo-max/contaazul

ContaAzul API

1.0 2022-05-03 17:09 UTC

This package is auto-updated.

Last update: 2024-09-11 17:28:26 UTC


README

此结构处理与Conta Azul API的集成,提供用于认证和请求所需端点的各种方法。

安装

composer require eudovic/contaazul:dev-master

如何使用

创建应用

第一步是创建一个应用,您可以通过以下链接在Conta Azul开发者门户中创建:https://portaldevs.contaazul.com/。创建应用后,您将被重定向到类似于以下图片的页面,其中将提供您的应用的client_id和secret_id。

请注意,在创建此门户中的应用时,需要特别注意重定向URL,因为由于使用OAuth2进行认证,访问令牌的代码将被发送到该URL,以便您可以从该URL获取令牌,从而获得访问查询和操作端点的权限。但是,请放心,如果您遵循以下步骤,本库将轻松处理认证过程。

使用库

开始认证

首先,需要调用开始认证过程的URL。这是以下URL。 https://api.contaazul.com/auth/authorize?redirect_uri={REDIRECT_URI}&client_id={CLIENT_ID}&scope=sales&state={STATE}

以下是对每个参数的描述。

  • redirect_uri:与应用程序中定义的相同URL。
  • client_id:应用程序收到的匿名参数值。
  • scope:(Customer、Product、Service、Contract或Sale)定义您对API的访问类型。
  • state:由开发者定义的值,作为请求认证性的密钥。例如:state=DCEeFWf45A53sdfKef424
实例化类

在您的指定URL的PHP文件中,需要实例化类。以下是对库的示例实现。

$requireAutoload= __DIR__. '/vendor/autoload.php';
require $requireAutoload;

use ContaAzul\ContaAzul;
use ContaAzul\Helpers\Helpers;


//VARIÁVEIS NECESSÁRIAS PARA INICIALIZAÇÃ0
$client_id="SEU_CLIENT_ID";
$client_secret="SEU_SECRET_ID";
$redirect_uri="URL_DE_REDIRECIONAMENTO";// pega a url atual para negociar os pedidos da URL de redirecionamento.
$scope="sales";
$state=Helpers::generateRandomString(16);

//INSTANCIANDO A CLASSE
$apiContaazul=new ContaAzul($client_id,$client_secret,$redirect_uri,$scope,$state);
协商令牌

现在,您必须对请求进行检查,以捕获由Conta Azul发送到参数code中的代码。

if(isset($_REQUEST['code'])){
   $getToken=$apiContaazul->requestToken($_REQUEST['code']);
 }

使用requestToken方法时,您将获得以下参数作为返回值

  • access_token
  • refresh_token
  • expire_in

为了使您的进程井然有序并且具有良好的性能,请考虑将此返回值存储在session中,这样您可以在以后检查令牌剩余的过期时间,同时还可以访问refresh_token,该token将用于令牌的更新。

更新令牌

在API的使用过程中,您的令牌可能会过期,因为其lifetime仅为60分钟。但是,请放心,您可以使用以下方法轻松更新令牌。

  $getToken=$apiContaazul->refreshToken($refresh_token);
使用API

现在,拥有令牌后,您可以使用以下方法进行请求。

  $request=$apiContaazul->request($endpoint,$parametros,$token,$metodo);
  • $endpoint // 查询端点
  • $parametros // 发送到请求的参数
  • $token // 生成的令牌
  • $metodo // get-post-put-delete-postjson(对于带有原始数据的post)-putjson(对于带有JSON的put)