ispbox2/sdk

SDK para acessar recursos da API Duobox

v1.0.5 2023-06-05 00:33 UTC

This package is auto-updated.

Last update: 2024-11-05 04:37:54 UTC


README

Latest Stable Version Latest Unstable Version

Esta biblioteca prover aos desenvolvedores se comunicar de forma simples e rápida! reduzindo o tempo de integração aos recursos da API do Ispbox. Lembrando que esta SDK foi desenvolvida utilzando como base a API ispbox-ajax-requests API

🗒️ Sumário

💡 Requisitos

💻 Instalação

  1. Realize o download do Composer caso não tenha instalado.

  2. No diretório raiz do seu projeto, execute em linha de comando

$ composer require ispbox2/sdk

✅ É isso! O SDK do Ispbox2 foi instalado com sucesso.

🌟 Codando

⚙️ Configurando SDK

  <?php
    require_once("vendor/autoload.php");
    
    Ispbox2\SDK::configure(URL, USER, PASS);
  ?>

Note O método Configure() internamente faz um teste de conexão validando a URL e as credenciais. Caso não obtenha êxito no teste, é lançado uma exceção.

🔎 Busca de Cliente

▷ Método findOne()

  <?php
    require_once("vendor/autoload.php");
    use Ispbox2\Clientes;
    use Ispbox2\Enums\Clientes\Sidx;

    Ispbox2\SDK::configure('https://demo.ispbox.com.br','admin','password');

    $cliente = Clientes::findOne(Sidx::CPF, 61200456067);
    if($cliente->exists)
        echo $cliente->nome;
    else
      //Mensagem / Notificação / Ação
  ?>

Note O método findOne() é um método estático de busca que retora um objeto do tipo Cliente se houver registros encontrados, caso contrario retorna um objeto Cliente vazio. Para validar se a busca foi realizada com sucesso, utilize a propriedade exists em caso de true a busca obteve resultado!, para false a busca retornou vazia, logo o cliente não foi encontrado.

Principais propriedades do objeto Cliente

Em caso de Pessoa Física as propriedades são:

Em caso de Pessoa Jurídica as propriedades são:

📝 Busca de Contratos / Planos contratados

  <?php
    require_once("vendor/autoload.php");
    use Ispbox2\Clientes;
    use Ispbox2\Contratos;
    use Ispbox2\Enums\Clientes\Sidx;

    Ispbox2\SDK::configure('https://demo.ispbox.com.br','admin','password');

    $cliente   = Clientes::findOne(Sidx::CPF, '61200456067');
    if(!$cliente->exists)
          //Messagem de erro caso o cliente não seja valido

    $contratos = new Contratos($cliente);

Note A Classe Contratos é um objeto de busca que retora contratos (sejam eles de TELEFONIA ou de INTERNET) aderidos por determinado cliente válido, que é requisitado como parametro obrigatório do método Construtor da classe. Para filtrar informações do contrato utilize os métodos em seguida....

Principais propriedades do objeto Contrato

▷ Método Take()

  <?php
    ...
    use Ispbox2\Enums\Contratos\Tipo;
    ...
    $contratos = new Contratos($cliente);
    $contratos->Take(Tipo::Internet);

Note O método Take() é um método de busca que retora um objeto do tipo Contrato se houver registros encontrados, caso contrario retorna um objeto Contrato vazio. O método Take() retorna somente um unico registro, por padrão se o segundo paramtro id não for passado... ele sempre retornara o primeiro contrato do cliente de acordo com o tipo escolhido. Porém caso queira retornar um contrato especifico é necessário passar o id do contrato como segundo parametro da função.

▷ Método takeAny()

    <?php
      ...
      use Ispbox2\Enums\Contratos\Tipo;
      ...
      $contratos = new Contratos($cliente);
      $contratos->takeAny(35);

Note O método takeAny() é um método de busca que retorna um objeto do tipo Contrato somente com base no id informado.

▷ Método toList()

    <?php
      ...
      use Ispbox2\Enums\Contratos\Tipo;
      ...
      $contratos = new Contratos($cliente);
      $contratos->toList();

Note O método toList() é um método de busca que retorna um array contendo todos os Contratos do cliente

▷ Buscando todos os contratos do cliente por Tipo

Note Retorna array com todos os contratos sem distinção de status, apenas filtrando pelo tipo do contrato.

    <?php
      ...
      use Ispbox2\Enums\Contratos\Tipo;
      ...
      $contratos = new Contratos($cliente);

      $contratos->toList(Tipo::Internet); // Retorna array com todos os contratos de internet do cliente
      $contratos->toList(Tipo::Telefonia); // Retorna array com todos os contratos de internet do cliente

▷ Buscando todos os contratos do cliente por Status

Note Retorna array com todos os contratos sem distinção de tipo, apenas filtrando pelo status do contrato.

    <?php
      ...
      use Ispbox2\Enums\Contratos\Tipo;
      ...
      $contratos = new Contratos($cliente);

      $contratos->toList(null, Status::Liberado); // Retorna array com todos os contratos liberado do cliente
      $contratos->toList(null, Tipo::Bloqueado); // Retorna array com todos os contratos Bloqueado do cliente
      $contratos->toList(null, Tipo::ContratoSuspenso); // Retorna array com todos os contratos suspensos do cliente
      $contratos->toList(null, Tipo::SuspensoParcial); // Retorna array com todos os contratos suspensos parcialemnte do cliente

💲 Busca de Boletos

  <?php
    require_once("vendor/autoload.php");
    use Ispbox2\Clientes;
    use Ispbox2\Contratos;
    use Ispbox2\Enums\Clientes\Sidx;
    use Ispbox2\Boletos;

    Ispbox2\SDK::configure('https://demo.ispbox.com.br','admin','password');

    $cliente   = Clientes::findOne(Sidx::CPF, '61200456067');
    if(!$cliente->exists)
          //Messagem de erro caso o cliente não seja valido

    $contratos = new Contratos($cliente);
    $contratoInternet = $contratos->Take(Tipo::Internet);

    $boletos = new Boletos($contratoInternet);

Note A Classe Boletos é um objeto de busca que retora boletos (sejam eles de Mensalidades ou Avulsos) vinculado á um serviço do cliente, que é requisitado como parametro obrigatório do método Construtor da classe.

Principais propriedades do objeto Boleto

▷ Método takeAll()

    <?php
      ...
      use Ispbox2\Boletos;
      ...
      $boletos = new Boletos($contratoInternet);
      $ListaBoletos = $boletos->takeAll();

Note O método takeAll() é um método de busca que retorna um array contendo todos os Boletos do cliente

▷ Buscando todos os boletos do cliente por Tipo

Note Retorna array com todos os boletos sem distinção de status, apenas filtrando pelo tipo do boleto.

    <?php
      ...
      use Ispbox2\Boletos;
      ...
      $boletos      = new Boletos($contratoInternet);
      $Mensalidades = $boletos->takeAll(DocTipo::Mensalidade); // Retorna array com todos os boletos de mensalidade
      $Avulsos      = $boletos->takeAll(DocTipo::Avulso);// Retorna array com todos os boletos avulsos

▷ Buscando todos os boletos do cliente por Status

Note Retorna array com todos os boletos sem distinção de tipo, apenas filtrando pelo status do boleto.

    <?php
      ...
      use Ispbox2\Boletos;
      ...
      $boletos  = new Boletos($contratoInternet);
      $EmAbeto  = $boletos->takeAll(null, DocStatus::Aberto); // Retorna array com todos os boletos abertos
      $Pagos    = $boletos->takeAll(null, DocStatus::Pago); // Retorna array com todos os boletos pagos

Projeto em Desenvolvimento

🏻 License

Apache License 2.0
Para mais informações, veja o arquivo de LICENÇA.