hafael/php-http-client

PHP HTTP RESTful API client.

v0.1.0 2023-01-25 20:35 UTC

This package is auto-updated.

Last update: 2024-10-26 00:39:20 UTC


README

PHP HTTP Client for PHP

This library provides developers with a simple set of bindings to help you integrate REST APIs to PHP project`s.

Latest Stable Version Latest Unstable Version Total Downloads License

💡 Requirements

PHP 7.3 or higher

📦 Installation

  1. Download Composer if not already installed

  2. On your project directory run on the command line composer require "hafael/php-http-client"

  3. Extend classes for you want.

PHP HTTP Client successfully installed.

🌟 Getting Started

Simple usage looks like:

  <?php
    require_once 'vendor/autoload.php'; // You have to require the library from your Composer vendor folder

    use Hafael\HttpClient\Client;

    class MyCustomClient extends Client {

      /**
       * The Client (not Eastwood)
       * 
       * @param string $apiKey
       * @param string $baseUrl
       */
      public function __construct(string $apiKey, string $baseUrl)
      {
          $this->setApiKey($apiKey);
          $this->setBaseUrl($baseUrl);
      }
    }

    $customClient = new MyCustomClient(
        'API_KEY',
        'https://myapiendpoint.com.br',
    );

    //Get Api Method
    $response = $customClient->exampleOfApiResource()
                             ->getExampleResourceMethod();
    
    var_dump($response->json());

  ?>

Creating new KYC Account

  <?php
    require_once 'vendor/autoload.php';

    use Hafael\Fitbank\Client;
    use Hafael\Fitbank\Models\Account;
    use Hafael\Fitbank\Models\Address;
    use Hafael\Fitbank\Models\Document;
    use Hafael\Fitbank\Models\Person;

    ...

    //Create new KYC Account
    
    $holder = new Person([
        'personRoleType' => Person::ROLE_TYPE_HOLDER,
        'taxNumber' => '88494940090',
        'identityDocument' => '269435310',
        'personName' => 'Rafael da Cruz Santos',
        'nickname' => 'Rafael',
        'mail' => 'rafaelmail@meuemail.com',
        'phoneNumber' => '219729345534',
        'checkPendingTransfers' => false,
        'publicExposedPerson' => false,
        'birthDate' => '1991/03/20',
        'motherFullName' => 'Daniela Cruz de Marquez',
        'fatherFullName' => 'João Francisco Santos',
        'nationality' => 'Brasileiro',
        'birthCity' => 'Niterói',
        'birthState' => 'Rio de Janeiro',
        'gender' => Person::GENDER_MALE,
        'maritalStatus' => Person::MARITAL_SINGLE,
        'occupation' => 'Empresário',
    ]);

    $documents = [
        Document::fromBase64('dGVzdGU=', Document::FORMAT_JPG)
                ->documentType(Document::TYPE_CNH)
                ->expirationDate('2023/04/15'),
        Document::fromBase64('dGVzdGU=', Document::FORMAT_JPG)
                ->documentType(Document::TYPE_PROOF_ADDRESS),
    ];

    $addresses = [
        new Address([
            'addressType' => Address::RESIDENTIAL,
            'addressLine' => 'Av. Quintino de Bocaiúva',
            'addressLine2' => '61',
            'complement' => 'McDonald`s',
            'zipCode' => '24360-022',
            'neighborhood' => 'São Francisco',
            'cityName' => 'Niterói',
            'state' => 'RJ',
            'country' => 'Brasil',
        ])
    ];

    $account = new Account([
        'holder' => $holder,
        'documents' => $documents,
        'addresses' => $addresses,
    ]);

    $response = $fitbankClient->account->newAccount($account);
    var_dump($response->json());


  ?>

📚 Documentation

Visit our Dev Site for further information regarding:

📜 License

MIT license. Copyright (c) 2023 - Rafael / Fitbank For more information, see the LICENSE file.