04l3x4ndr3/sdk-iugu

dev-main 2025-04-01 12:17 UTC

This package is auto-updated.

Last update: 2025-04-01 12:18:02 UTC


README

Kit de Desenvolvimento de Software (SDK) de consumo de APIs da IUGU (Não oficial)

Este SDK encapsula por métodos de classes PHP todas as chamadas da API IUGU. Respeitando as nomenclaturas de parâmetros e estrutura de retorno (response) das chamadas (request).

Os arquivos estão organizados por diretórios conforme abaixo:

|+-- Context
|    +-- Customers.php
|    +-- Invoices.php
|    +-- Plans.php
|    +-- Subscriptions.php
|+-- Types
|    +-- Address.php
|    +-- Customer.php
|    +-- Invoice.php
|    +-- InvoiceItem.php
|    +-- Payer.php
|    +-- Plain.php
|    +-- PlainFeature.php
|    +-- SplitRule.php
|    +-- Subscription.php
|    +-- SubscriptionSubitem.php
|+-- Utils
|    +-- HTTPClient.php
+--Configuration.php

Instalação Via Compose

Instale o pacote via composer utilizando o comando composer require o4l3x4ndr3/sdk-iugu.

Utilizando arquivo .htaccess

Utilizando o arquivo .htaccess da sua aplicação (caso não possua, crie), declare as seguintes variáveis:

IUGU_API_KEY

Utilizando a classe Configuration

Também é possível configurar a comunicação com a API através da classe Configuration.

use O4l3x4ndr3\SdkIugu\Configuration;
use O4l3x4ndr3\SdkIugu\Context\Patient;

# Definindo o token e ambiente... 
$config = new Configuration('***api_token***');

Testar

Para utilizar os arquivos de exemplos, edite o arquivo _config.php, localizado na pasta samples/context, e substitua o valor da variável $api_key para o valor da sua chave de integração com a api. Após isso, rode o PHP Server na sua máquina local (ou container Docker), utilizando o seguinte comando:

php -S localhost:3333 -t samples

Contextos da API

As classes de contextos são constituídas por métodos de consumo da API e possuem suporte a namespace do PHP, possível utilizá-los através da palavra-chave use, conforme exemplo abaixo:

use O4l3x4ndr3\SdkIugu\Context\Patient;

### OBTER DADOS DO PACIENTE ATRAVÉS DO ID ###

# Instanciando a classe
$customer = new Customers();
$customer->getById('ERF78SDF0980...');

# ou através de chamada de forma anônima:
(new Customers())->getById('ERF78SDF0980...');

Todas as classes possuem assinaturas que remetem aos métodos documentados no site oficial da API (https://dev.iugu.com/reference/introdução-a-api).

Objetos de Tipos

Os chamados objetos de tipo, são classes que de modelos representados nos contextos de requisição da API e não possuem métodos, apenas propriedades. Um objeto de tipo pode um modelo de dados estruturado e deve ser instanciado e atribuídos os seus respetivos valores de propriedades para assim sejam utilizados nas classes de contextos.

Veja no exemplo a seguir o uso de um objeto de tipo para inserir um novo grupo familiar:

use O4l3x4ndr3\SdkIugu\Context\Customer; // Classe do contexto Cliente
...

# Dados do Cliente
$customerData = new Customer('ts@email.com', 'Thiago Silva');

return (new Customers($config))->create($customerData, $arrDependents);

Cada tipo possui um construtor, mas outras propriedades (opcionais) também poderão ser declaradas, caso o tipo as possuam.

Contribuição

Caso deseja contribuir para melhorar e manter esse pacote envie e-mail para alexandre@2plug.com.br e solicite acesso ao repositório informando o seu perfil no github.