fhferreira/frenet-php

The easiest way to integrate your PHP application with Frenet API.

1.1.9 2022-01-03 03:32 UTC

This package is auto-updated.

Last update: 2024-10-29 06:30:56 UTC


README

This is the official PHP SDK for Integration with Frenet API.

Build Status Codacy Badge Codacy Badge

About

This is the official SDK (Software Development Kit) for Frenet API. This SDK is intended to help with PHP systems and Frenet API.

Installation

Installing using composer

To install using composer you'll need to have composer installed on your computer so you will be able to install this SDK into your project easily.

Once you have composer installed you just need to require this SDK:

> composer require fhferreira/frenet-php

Usage

To start using this SDK into your PHP system is really simple. Take a look in the example right below on how it's really easy to use:

<?php

/**
 * First we need to require the composer autoloader.
 */
require_once './vendor/autoload';

/**
 * This is your token from FRENET API.
 */
$token = '<YOUR TOKEN COMES RIGHT HERE>';

/** @var \Frenet\ApiInterface $api */
$api = \Frenet\ApiFactory::create($token);

/**
 * Here we will create a quote request for sending to API.
 * 
 * @var \Frenet\Command\Shipping\QuoteInterface $quote
 */
$quote = $api->shipping()->quote()
    ->setRecipientCountry('BR')
    ->setSellerPostcode('13015300')
    ->setRecipientPostcode('04011060')
    ->setShipmentInvoiceValue(100.87)
    ->addShippingItem('CWZ_75673_P', 1, 2.1, 14, 20, 15, 'Accessories')
    ->addShippingItem('CWZ_75673_F', 1, 2.1, 14, 20, 17, 'Accessories');

/**
 * The method `execute()` sends the request and parse the body result to a object type.
 * 
 * @var \Frenet\ObjectType\Entity\Shipping\QuoteInterface $result 
 */
$result = $quote->execute();
$services = $result->getShippingServices();

/** @var Frenet\ObjectType\Entity\Shipping\Quote\ServiceInterface $service */
foreach ($services as $service) {
    $price        = $service->getShippingPrice();
    $carrier      = $service->getCarrier();
    $deliveryTime = $service->getDeliveryTime();
    $responseTime = $service->getResponseTime();
    
    /** Do anything you want with this quotation. */
}