Giter Club home page Giter Club logo

php-api-sdk's Introduction

PHP SDK for MerchOne API integration

Packagist Version License Minimum PHP version GitHub last commit

This package provide a set of tools that allow developers to easily integrate with MerchOne API.

Installation

composer require merch-one/php-api-sdk

Overview


Introduction

Client provide 3 different API's to interact with.

  • Catalog API
  • Orders API
  • Shipping API

To get the list of available endpoints, please check MerchOne API Documentation


Basic Usage

Create an instance of MerchOne\PhpApiSdk\Http\Client

use MerchOne\PhpApiSdk\Http\Client;

class MyService
 {
    private Client $httpClient;
 
    public function __construct()
    {
        $this->httpClient = new Client();
    }
 
    public function doSomething(): void
     {
        // authenticate client using credentials
        $this->httpClient->auth(
            'your-store-user',
            'your-store-key'
        );
        
        // or authenticate client using base64 encoded credentials
        $this->httpClient->basicAuth(
            base64_encode('your-store-user:your-store-key'),
        );
        
        /* Interact with Catalog API */
        /** @var \MerchOne\PhpApiSdk\Contracts\Clients\CatalogApi $catalogApi */
        $catalogApi = $this->httpClient->catalog();
        
        /* Interact with Orders API */
        /** @var \MerchOne\PhpApiSdk\Contracts\Clients\OrdersApi $ordersApi */
        $ordersApi = $this->httpClient->orders();
        
        /* Interact with Shipping API */
        /** @var \MerchOne\PhpApiSdk\Contracts\Clients\ShippingApi $shippingApi */
        $shippingApi = $this->httpClient->shipping();
        
        // switch API version you interact with
        $this->httpClient->setVersion($version);
        
        // get current API version
        $this->httpClient->getVersion();
    }
}
  • The Client class accepts two parameters:
    • $version - API version to interact with. Default value is beta.
      • See Helpers for available versions.
    • $clientOptions - Custom options to use with request.
      • See Guzzle Documentation for available options.
      • The User-Agent, Accept and Content-Type headers, as well as http_error properties CAN NOT be overwritten !

Helpers

use MerchOne\PhpApiSdk\Util\MerchOneApi;

// get the list of all available API versions
MerchOneApi::getVersions();
  • Class MerchOne\PhpSdk\Util\OrderStatus provides a full list of Order statuses.

Check more in MerchOne API Documentation


Exceptions

The package can throw the following exceptions:

Exception Reason
MerchOneApiClientException Request is not correct or validation did not pass.
MerchOneApiServerException A server error occurred.
InvalidApiVersionException An invalid API version was provided to the Client.
InvalidCredentialsException Invalid API credentials was provided to the Client.

Tests

Package comes with a set of tests to ensure that everything works as expected. To run tests, execute the following command:

./vendor/bin/phpunit

php-api-sdk's People

Contributors

allanvb avatar merch-one avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.