Skip to content

oriskami/oriskami-php

Repository files navigation

Oriskami PHP bindings

Build Status Latest Stable Version Total Downloads License Code Coverage

The Oriskami PHP library provides convenient access to the Oriskami API from applications written in the PHP language. It includes a pre-defined set of classes for API resources.

Documentation

See the Oriskami API docs.

Quick Start

You don't need this source code unless you want to modify the package. If you want to use the package, there are three options:

  1. with Composer, add to your composer.json the following and run composer install.
{ 
  "require": {
    "oriskami/oriskami-php": "*@dev"
  }
}
  1. with autoload, add
require_once('vendor/autoload.php');
  1. manually download the latest release and include the init.php.
require_once('/path/to/oriskami-php/init.php');

Requirements

  • Php 5.4, 5.5, 5.6, 7.0, 7.1

Usage

The library needs to be configured with your API key which is available in My Oriskami.

\Oriskami\Oriskami::setApiKey("9spB-ChM6J8NwMEEG ... WsJShd6lVQH7f6xz=");

\Oriskami\Event::create(array(
  "id" => "1",
  "parameters"  => array(
    "id"                    => "1",
    "email"                 =>  "abc@gmail.com",
    "names"                 =>  "M Abc",
    "account_creation_time" =>  "2017-05-17 21:50:00",
    "account_id"            =>  "1",
    "account_n_fulfilled"   =>  "1",
    "account_total_since_created" =>  "49.40",
    "account_total_cur"     =>  "EUR",
    "invoice_time"          =>  "2017-05-17 21:55:00",
    "invoice_address_country"=>  "France",
    "invoice_address_place" =>  "75008 Paris",
    "invoice_address_street1"=>  "1 Av. des Champs-Élysées",
    "invoice_name"          =>  "M ABC",
    "invoice_phone1"        =>  "0123456789",
    "invoice_phone2"        =>  null,
    "transport_date"        =>  "2017-05-18 08:00:00",
    "transport_type"        =>  "Delivery",
    "transport_mode"        =>  "TNT",
    "transport_weight"      =>  "9.000",
    "transport_unit"        =>  "kg",
    "transport_cur"         =>  "EUR",
    "delivery_address_country" =>  "France",
    "delivery_address_place"=>  "75008 Paris",
    "delivery_address_street1" =>  "1 Av. des Champs-Élysées",
    "delivery_name"         =>  "M ABC",
    "delivery_phone1"       =>  "0123450689",
    "customer_ip_address"   =>  "1.2.3.4",
    "pmeth_origin"          =>  "FRA",
    "pmeth_validity"        =>  "0121",
    "pmeth_brand"           =>  "MC",
    "pmeth_bin"             =>  "510000",
    "pmeth_3ds"             =>  "-1",
    "cart_products"         => array("Product ref #12345"),
    "cart_details"          => array(
      array(
        "name"              =>  "Product ref #12345",
        "pu"                =>  "10.00",
        "n"                 =>  "1",
        "reimbursed"        =>  " 0",
        "available"         =>  "1",
        "amount"            =>  "10.00",
        "cur"               =>  "EUR"
      )
    ),
    "cart_n"          =>  "15000",
    "order_payment_accepted" =>  "2017-05-17 22:00:00",
    "amount_pmeth"    =>  "ABC Payment Service Provider",
    "amount_discounts"=>  0.00,
    "amount_products" =>  20.00,
    "amount_transport"=>  10.00,
    "amount_total"    =>  30.00,
    "amount_cur"      =>  "EUR"
));


# Retrieve, Update, Delete, or List Events 

\Oriskami\Event::retrieve("123")
\Oriskami\Event::retrieve("123", array("amount_transport" => "20.00"))
\Oriskami\Event::delete("123")
\Oriskami\Event::all(array("order" => "-id", "limit" => "10"))

# Create, Retrieve, Update, Delete or List Whitelists

\Oriskami\FilterWhitelist::create(array(
    "description" => "Test"
  , "feature" => "email_domain"
  , "is_active" => "true"
  , "value" => "gmail.com"))
\Oriskami\FilterWhitelist::retrieve("0")
\Oriskami\FilterWhitelist::update("0"
  , array(
      "description" => "Test"
    , "feature" => "email_domain"
    , "is_active" => "true"
    , "value" => "yahoo.com"
    ))
\Oriskami\FilterWhitelist::delete("123")
\Oriskami\FilterWhitelist::all()

Resources, actions, and arguments

The following matrix lists the resources (rows), the CRUD actions (columns) and the arguments (cells). The cell links point to the API documentation at https://oriskami.com/docs/php or to the functional tests on github.

Resource C R U D L Test Specs
Settings Auth, Credentials
Data Event {} 123 123, {} 123 {} See on github
EventNotification 123 {} See on github
EventLastId {} See on github
EventLabel 123 123, {} 123 {} See on github
EventQueue 123 123, {} 123 {} See on github
EventReview 123 123, {} 123 {} See on github
Filters FilterWhitelist {} 123, {} 123 {} See on github
FilterBlacklist 123, {} {} See on github
FilterRulesCustom {} 123, {} 123 {} See on github
FilterRulesBase 123, {} {} See on github
FilterRulesAI 123, {} 123 {} See on github
FilterScoringsDedicated 123, {} {} See on github
Notifications NotifierEmail {} 123, {} 123 {} See on github
NotifierSms {} 123, {} 123 {} See on github
NotifierSlack {} 123, {} 123 {} See on github
NotifierWebhook {} 123, {} 123 {} See on github
NotifierECommerce 123, {} {} See on github
  • C: Create
  • R: Retrieve
  • U: Update
  • D: Delete
  • L: List
  • 123: resource id
  • {}: JSON with query parameters

Filter parameters

Filter Default Example Description
order id array("order"=>"-id") Sort by decreasing id
limit 10 array("limit"=>10) At most 10 returned results
gt array("id"=>array("gt"=>10)) id greater than 10
gte array("id"=>array("gte"=>10)) id greater than or equal
lt array("id"=>array("lt"=>10)) id less than
lte array("id"=>array("lte"=>10)) id less than or equal

Development

To run the test suite:

cd path/to/oriskami/oriskami-php
composer install 
./vendor/bin/phpunit -v 

Issues and feature requests

They are located here

Author

  • Originally inspired from stripe-php.
  • Developed and maintained by Fabrice Colas for Oriskami.