mariosergiodias/grafeno-sdk-php-2022

v2.0.1 2022-08-26 16:25 UTC

This package is not auto-updated.

Last update: 2024-04-20 23:37:29 UTC


README

Statistics

Total Downloads Monthly Downloads

Versions

Latest Stable Version Latest Unstable Version

Instalação

Execute o comando abaixo para instalar via Composer:

> composer require mariodias/grafeno-sdk-php

Autenticação e definição do ambiente

A autenticação na API Grafeno é feita através do seu Token de acesso e do número de sua conta, clique aqui para obter informações sobre a sua autenticação.

require 'vendor/autoload.php';
use Grafeno\Grafeno;

$token = "11111111-2222-3333-4444-555555555555.9aaBBB_CCCCC12345678";
$account_number = "08888888-1";

$grafeno = new Grafeno($token, $account_number, Grafeno::STAGING);

Contas

O recurso contas permite a listagem de todas as contas vinculadas à sua conta Grafeno além de permitir a consulta de todas as movimentações destas contas, tornando a sua conciliação mais simples e dinâmica.

Para obter mais informações sobre este recurso, visite nossa documentação: Contas

Listar contas bancárias

$bank_accounts = $grafeno->bankAccounts()->listBankAccounts();

print_r($bank_accounts);

Listar movimentações da conta

$bank_accounts_transactions = $grafeno->bankAccounts()->listBankAccountTransactions();

print_r($bank_accounts_transactions);

Cobranças

Com a API de cobranças Grafeno, é possível emitir cobranças com as formas de pagamento Boleto Bancário e TED, além de ser possível editar as cobranças criadas e enviar para protesto as cobranças que não foram pagas.

Para obter mais informações sobre este recurso, visite nossa documentação: Cobranças

Criar uma cobrança

$new_charge = $grafeno->charges()->createCharge(
                [
                    'boleto'=> [
                      'yourNumber'=> '000001',
                      'registrationMethod'=> 'online'
                    ],
                    'paymentMethod'=> 'boleto',
                    'value'=> '251.11',
                    'payer'=> [
                      'name'=> 'Dwight Schrute',
                      'address'=> [
                        'number'=> '1355',
                        'zipCode'=> '01452011',
                        'city'=> 'São Paulo',
                        'street'=> 'Av Brigadeiro Faria Lima',
                        'neighborhood'=> 'Jardim Paulistano',
                        'state'=> 'SP',
                        'complement'=> 'Schrute Farms'
                      ],
                      'documentNumber'=> '12345679891',
                      'email'=> 'dwight@dundermifflin.com'
                    ],
                    'dueDate'=> '2022-10-12'
                ]);

print_r($new_charge);

Consultar uma cobrança

$charge = $grafeno->charges()->getCharge("3806513a-ab67-4314-ad4f-45d293d6851b");

print_r($charge);

Listar todas as cobranças

$page = 1;
$per_page = 50;

$charges = $grafeno->charges()->listCharges($page, $per_page);

print_r($charges);

Atualizar uma cobrança

$charge = $grafeno->charges()->updateCharge("3806513a-ab67-4314-ad4f-45d293d6851b",
                   [
                    'dueDate'=> '2023-12-31',                    ]
                   ]);

print_r($charge);

Dar baixa em uma cobrança

$charge_paid = $grafeno->charges()->writeOffCharge("3806513a-ab67-4314-ad4f-45d293d6851b");

print_r($charge_paid);

Cancelar cobrança

$charge_cancelled = $grafeno->charges()->deleteCharge("3806513a-ab67-4314-ad4f-45d293d6851b");

print_r($charge_cancelled);

Protestar cobrança

$charge_protest = $grafeno->charges()->protestCharge("3806513a-ab67-4314-ad4f-45d293d6851b");

print_r($charge_protest);

Cancelar protesto

$charge_protest = $grafeno->charges()->cancelProtestCharge("3806513a-ab67-4314-ad4f-45d293d6851b");

print_r($charge_protest);

Listar CNAB

$cnab = $grafeno->charges()->listCNAB("2022-04-12");

print_r($cnab);

Beneficiários

O recurso beneficiários possibilita o cadastro e visualização de contas bancárias beneficiárias em sua conta Grafeno.

Para obter mais informações sobre este recurso, visite nossa documentação: Beneficiários

Adicionar beneficiário

$beneficiario = $grafeno->beneficiaries()->createBeneficiary(
[
   "beneficiary" => [
      "uuid" => "d81e6f9e-eb26-4b1d-a898-c8f4b3568f9d",
      "name" => "Teste",
      "document_number" => "12345679891",
      "agency" => "1234",
      "account" => "1234-5",
      "bank_code" => "341"
    ]
]);

print_r($beneficiario);

Listar beneficiários

$page = 1;
$per_page = 50;

$beneficiarios = $grafeno->beneficiaries()->listBeneficiaries($page, $per_page);

print_r($beneficiarios);

Transferências

A API de transferências possibilita a criação, listagem e aprovação ou rejeição de transferências.

Para obter mais informações sobre este recurso, visite nossa documentação: Transferências

Criar transferência

$nova_transferência = $grafeno->transfers()->createTransfer(
[
   "transfer_request" => [
      "value" => "300.00",
      "api_partner_transaction_uuid" => "f3ec33ab-0d82-4e1a-a7e8-e759d6ae98df",
      "callback_url" => "http://www.my-url-to-callback.com/callback"
     ],
   "beneficiary"=> [
      "uuid" => "dad91a7a-6bc7-4be1-92c5-d7caf96453e0",
      "name"=> "Jim Halpert",
      "document_number" => "123.456.798-91",
      "bank_code" => "341",
      "agency" => "0199",
      "account" => "888888"
    ]
]);

print_r($nova_transferência);

Listar transferências pendentes

$page = 1;
$per_page = 50;

$transferências = $grafeno->transfers()->listTransfers($page, $per_page);

print_r($transferências);

Aprovar ou Rejeitar transferências

$transfer_uuid = "50d39ac7-bf44-408e-9358-19c2e9ea08f4";
$state = "approve";
$reject_reason = null;

$transfer_to_approve = $grafeno->transfers()->updateTransfer($transfer_uuid, $state, $reject_reason);

print_r($transfer_to_approve);

CCB

Uma CCB é um ativo financeiro que representa uma dívida que só pode ser emitida por uma instituição financeira, ou seja, que é autorizada pelo Banco Central (BCB) a expedir este tipo de documento.

Através da API Grafeno é possível criar um CCB facilmente, além de ter um total controle sobre os pagamentos efetuados e as cédulas obtidas.

Para obter mais informações sobre este recurso, visite nossa documentação: [CCB]9https://docs.grafeno.digital/reference/5-ccb)

Listar credores

$creditors = $grafeno->ccb()->listCCBCreditors();

print_r($creditors);

Simular CCB

$net_value = "200000";
$monthly_interest = "5";
$installments = 36;
$first_due_date = "2022-12-05";

$simulate_ccb_values = $grafeno->ccb()->simulateCCB($net_value, $monthly_interest, $installments, $first_due_date);

print_r($simulate_ccb_values);

Criar CCB

$ccb = $grafeno->ccb()->createCCB(
[
    "credorId" => "2fdc0f06-b424-4c79-91b4-965aadb11313",
    "valorLiquido" => "200000",
    "jurosMensal" => "5",
    "parcelas" => 36,
    "primeiraParcela" => "2022-12-05",
    "garantiaRecebiveis" => true
]);

print_r($ccb);

Visualizar CCB

$ccb = $grafeno->ccb()->getCCB("ab2de14f-d372-4988-b73f-0ee483dcd096");

print_r($ccb);

Listar CCBs

$ccbs = $grafeno->ccb()->listCCB();

print_r($ccbs);

Atualizar CCB

$ccb_update = $grafeno->ccb()->updateCCB("ab2de14f-d372-4988-b73f-0ee483dcd096", 
          [
          "parcelas" => 24
           ]
         );

print_r($ccb_update);

Criar ou atualizar o devedor da CCB

$debtor = $grafeno->ccb()->createOrUpdateCCBDebtor("ab2de14f-d372-4988-b73f-0ee483dcd096", 
  [
    "name" => "Andy Bernard",
    "documentNumber" => "55.054.861/0001-44",
    "phone" => "11999999999",
    "email" => "the-nard-dog@dcornell.edu",
    "address" => [
            "street" => "Rua",
            "number" => "42",
            "state" => "SP",
            "city" => "São Paulo",
            "zipCode" => "57035-556"
          ],
    "bankAccount" => [
            "bankCode" => "341",
            "agency" => "0196",
            "account" => "87766-5",
            "name" => "Andy Bernard",
            "documentNumber" => "55.054.861/0001-44"
         ],
    "signer" => [
            "name" => "Andy Bernard",
            "documentNumber" => "884.850.443-47",
            "phone" => "11999999999",
            "email" => "the-nard-dog@dcornell.edu"
        ]
    ]
);

print_r($debtor);

Criar ou atualizar o avalista da CCB

$guarantor = $grafeno->ccb()->createOrUpdateCCBGuarantor("ab2de14f-d372-4988-b73f-0ee483dcd096", 
   [
    "name" => "Dwight Schrute",
    "documentNumber" => "12345679891",
    "phone" => "11999999999",
    "email" => "dwight@dundermifflin.com",
    "maritalStatus" => "single",
    "address" => [
            "street" => "Rua",
            "number" => "42",
            "state" => "SP",
            "city" => "São Paulo",
            "zipCode" => "57035-556"
    ]
]);

print_r($guarantor);

Enviar arquivos do devedor da CCB

$debtor_file = $grafeno->ccb()->uploadDebtorFiles("ab2de14f-d372-4988-b73f-0ee483dcd096", 
    [
      "type" => "social_contract_file",
      "fileName" => "social_contract_file.pdf",
      "file" => "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAxNzQgPj4Kc3RyZWFtCngBjZA7D8IwDI
      T3/IrjUSkZSBsnKekKYmGr5A0xVWJA6lDl/0ukL6AsVBkcW9Z95+tQo0N+jgZNRDG82KRRocmNff8xAT5YXRGaFieGHzdTIfLwpgK3ImcmGPADcqP
      AT1x4UF8t5SptS0+9nuAWH70b5FYlSw5yp3AotIHcz5NM4Q6+/qGJX+PWlfpIYXa/pL3FF7gJI/rI1h7l0lHelmYK6QsjMyXmkOoXXsBPNgplbm
      RzdHJlYW0KZW5kb2JqCjEgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvUmVzb3VyY2VzIDQgMCBSIC9Db250ZW50cyAzIDAgUiAvTWVka
      WFCb3ggWzAgMCA2MTIgNzky=="
     ]);

print_r($debtor_file);

Enviar arquivos do avalista da CCB

$guarantor_file = $grafeno->ccb()->uploadGuarantorFiles("ab2de14f-d372-4988-b73f-0ee483dcd096", 
    [
      "guarantorId" => "71d2a275-9ac7-43c0-b35a-73722d05f38f",
      "type" => "identification_document_file",
      "fileName" => "identification_document_file.pdf",
      "file" => "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAxNzQgPj4Kc3RyZWFtCngBjZA7D8IwDI
      T3/IrjUSkZSBsnKekKYmGr5A0xVWJA6lDl/0ukL6AsVBkcW9Z95+tQo0N+jgZNRDG82KRRocmNff8xAT5YXRGaFieGHzdTIfLwpgK3ImcmGPADcqP
      AT1x4UF8t5SptS0+9nuAWH70b5FYlSw5yp3AotIHcz5NM4Q6+/qGJX+PWlfpIYXa/pL3FF7gJI/rI1h7l0lHelmYK6QsjMyXmkOoXXsBPNgplbm
      RzdHJlYW0KZW5kb2JqCjEgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvUmVzb3VyY2VzIDQgMCBSIC9Db250ZW50cyAzIDAgUiAvTWVka
      WFCb3ggWzAgMCA2MTIgNzky=="
     ]);

print_r($guarantor_file);

Enviar CCB para análise

$ccb = $grafeno->ccb()->sendCCBToAnalysis("ab2de14f-d372-4988-b73f-0ee483dcd096");

print_r($ccb);

Cancelar CCB

$ccb = $grafeno->ccb()->deleteCCB("ab2de14f-d372-4988-b73f-0ee483dcd096");

print_r($ccb);

Filtros

A API Grafeno possui diversos filtros para determinar quais tipos de dados devem ser retornados nas consultas além de facilitar na filtragem de informações.

Filtros disponíveis

Filtro Descrição Tipo Formato Recurso
CREATED_AT_EQ Created At or Equal Data YYYY-MM-DD Cobranças
CREATED_AT_GT_EQ Created At, Greater than or Equal Data YYYY-MM-DD Cobranças
CREATED_AT_LT_EQ Created At, Less than or Equal Data YYYY-MM-DD Cobranças
PAID_AT_EQ Paid At or Equal Data YYYY-MM-DD Cobranças
PAID_AT_GT_EQ Paid At, Greater than or Equal Data YYYY-MM-DD Cobranças
PAID_AT_LT_EQ Paid At, Less than or Equal Data YYYY-MM-DD Cobranças
STATE_EQ Status Equal String pending Cobranças
PAYMENT_METHOD_EQ Payment Method Equal String boleto Cobranças
DUE_DATE_EQ Due Date Equal Data YYYY-MM-DD Cobranças
DUE_DATE_GT_EQ Due Date Greater than or Equal Data YYYY-MM-DD Cobranças
DUE_DATE_LT_EQ Due Date Less than or Equal Data YYYY-MM-DD Cobranças
YOUR_NUMBER_EQ Your Number Equal String 12345-abcde Cobranças
RECEIVE_AT_EQ Receive At or Equal Data YYYY-MM-DD Cobranças
RECEIVE_AT_GT_EQ Receive At, Greater than or Equal Data YYYY-MM-DD Cobranças
RECEIVE_AT_LT_EQ Receive At, Less than or Equal Data YYYY-MM-DD Cobranças
ENTRY_AT_GT_EQ Entry At, Greater than or Equal Data YYYY-MM-DD Contas

Aplicando filtros

use Grafeno\Helpers\Filters;

$filters = new Filters();

$filter = $filters->applyFilter(Filters::CREATED_AT_GT_EQ, '2022-05-17');

$charges = $grafeno->charges()->listCharges(null, null, $filter);

print_r($charges);

Suporte

Aqui na Grafeno, queremos proporcionar uma experiência incrível para todos os perfis de clientes e parceiros que se relacionam conosco. Sabendo da necessidade de um atendimento mais técnico para resolver questões de integrações, oferecemos suporte através do nosso time de Developer Experience (DevX) através do email integracao@grafeno.digital e lá você poderá sanar eventuais dúvidas que surjam relacionadas as nossas APIs.

Contribua

Este projeto existe graças a todas as pessoas que contribuem. 🚀 🚀 🚀 🚀 🚀 🚀
[Clique aqui] para acessar nossas diretrizes de contribuição.

Licença

The MIT License

Changelog

SDK changelog