Download the PHP package campo/laravel-shipstation without Composer
On this page you can find all versions of the php package campo/laravel-shipstation. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download campo/laravel-shipstation
More information about campo/laravel-shipstation
Files in campo/laravel-shipstation
Package laravel-shipstation
Short Description ShipStation API wrapper for Laravel
License MIT
Informations about the package laravel-shipstation
LaravelShipStation
This is a simple PHP API wrapper for ShipStation built for Laravel.
Installation
This package can be installed via Composer by requiring the package in your project's
Then at your Laravel project root run:
Second, add the LaravelShipStation service provider to your providers array located in
After installing via composer you will need to publish the configuration:
This will create the configuration file for your API key and API secret key at . You will need to obtain your API & Secret key from ShipStation: How can I get access to ShipStation's API?
If ShipStation has provided you with a partner API key, set it in your configuration file.
Dependencies
LaravelShipStation uses
Endpoints
Endpoints for the API are accessed via properties (e.g. will make a GET request to ). The default endpoint is /orders/. Valid endpoints include:
- accounts
- carriers
- customers
- fulfillments
- orders
- products
- shipments
- stores
- users
- warehouses
- webhooks
Methods
GET
Example of getting an order with the order id (ShipStation's internal order id) of 123 & Getting ShipStations internal order id by the order number. `
POST
The second parameter ($endpoint) is for any additional endpoints that need to be added. For example, to create an order the POST request would go to /orders/createorder. "createorder" is the additional endpoint since we specify the root endpoint as a property:
There are models that contain all of the properties available via the API. These models will be converted to arrays when passed to the API.
An example on how to create a new order to be shipped:
DELETE
Example of deleting an order by it's order ID:
UPDATE
Simple Wrapper Helpers
Helpers are located in and will be named after the endpoint. Currently there is only a helper for the /orders endpoint and /shipments endpint. I will be adding more; feel free to send a PR with any you use.
Check to see if an order already exists in ShipStation via an Order Number:
Note: When using the orderNumber query parameter ShipStation will return any order that contains the search term. e.g. orderNumber = 1 will return any order that CONTAINS 1 in ascending order and not an exact match to the query. If you have two orders 123, and 1234 in your ShipStation and call $shipStation->orders->get(['orderNumber' => 123]); you will return both orders.
Check how many orders are in status:
Create an order in ShipStation:
Get the shipments for a specific order number.
ShipStation API Rate Limit
ShipStation only allows for 40 API calls that resets every 60 seconds (or 1 call every 1.5 seconds). By default, LaravelShipStation will protect against any calls being rate limited by pausing when we are averaging more than 1 call every 1.5 seconds.
Once a request has been made, information about the current rate limiting values can be accessed using the following methods:
Get the maximum number of requests that can be sent per window:
Get the remaining number of requests that can be sent in the current window:
Get the number of seconds remaining until the next window begins:
Check if requests are currently being rate limited:
Tests
Tests can be ran using . Please note that tests will create an order, check the order, and delete the order in your production environment. By default, tests are disabled. If you would like to run the tests edit the file to set the environment variable to and set your API Key & Secret Key.
Contribution
Pull requests are most certainly welcomed! This is a WIP.
License
The MIT License (MIT). Please see License File for more information.