yemenifree/pick-service-api

There is no license information available for the latest version (0.0.4) of this package.

This API client for pick.sa service. It is an **unofficial**

0.0.4 2017-11-28 14:49 UTC

This package is auto-updated.

Last update: 2024-03-28 01:23:02 UTC


README

Software License Build Status Quality Score

This is a community project and not an official one

This API client for pick.sa service. It is an unofficial

Requirements & Installation

Requires PHP 7.0+

Via Composer

$ composer require yemenifree/pick-service-api

Getting Started

Setup api service.

$service = new PickService('Live Token');

You can enable sandbox env via pass true in second parameter.

$sandBoxService = new PickService('Sandbox Token', true);

Create new request.

You can create new request simply via

$result = $service->request('service', 'action', ...$arg);

Check response

To check result of response use isSeccess() method.

// check if request seccess.
if (!$result->isSuccess()) {
    // there are error
    $error = $result->json();
}

// All right.
$invoice = $result->json();     

Orders.

create Order

// create Order
$order = new Order();
// set up order info.
$order->setItems(Order::ITEM_HOUSEHOLD)
    ->setPrice(200)
    ->setPickupTime(Carbon::now()->addDays(1))
    ->setPaymentType(Order::PAYMENT_PRE_PAID)
    ->setPickupLocation(24.697168165551115, 46.70957565307617)
    ->setReceiverName('Salah Alkhwlani')
    ->setReceiverPhone('966500484350');

// send create request.
$result = $service->request('orders', 'create', $order);

// check if request seccess.
if (!$result->isSuccess()) {
    $error = $result->json();
}

// All right.
$invoice = $result->json();     

Delete Order.

$orderID = 1;
$result = $service->request('orders', 'delete', $orderID);

View Order.

$orderID = 1;
$result = $service->request('orders', 'view', $orderID);

Search in orders.

$query = 'keyword';
$order = '';
$result = $service->request('orders', 'search', $query, $order);

Edit Order.

$orderID = 1;
$orderModel = new Order();
// set up new order info.
$orderModel->setItems(Order::ITEM_HOUSEHOLD)
    ->setPrice(210)
    ->setPickupTime(Carbon::now()->addDays(1))
    ->setPaymentType(Order::PAYMENT_PRE_PAID)
    ->setPickupLocation(24.697168165551115, 46.70957565307617)
    ->setReceiverName('Salah Alkhwlani')
    ->setReceiverPhone('966500484350');

$result = $service->request('orders', 'edit', $orderID, $orderModel);

Cancel order.

$result = $service->request('orders', 'cancel', $orderID,$orderModel);

TODO

  • Implement other services.
  • Add service provider & config for Laravel.
  • Write test unit.

Change log

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email yemenifree@yandex.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.