PHPackages                             fulfillment/oms-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. fulfillment/oms-api

ActiveLibrary[API Development](/categories/api)

fulfillment/oms-api
===================

A wrapper for Fulfillment's OMS API

0.1.2(5y ago)08.6k[3 issues](https://github.com/Fulfillment-dot-com/oms-api-php/issues)MITPHPCI failing

Since Oct 5Pushed 9mo ago3 watchersCompare

[ Source](https://github.com/Fulfillment-dot-com/oms-api-php)[ Packagist](https://packagist.org/packages/fulfillment/oms-api)[ Docs](https://github.com/Fufillment/oms-api-php)[ RSS](/packages/fulfillment-oms-api/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (8)Versions (8)Used By (0)

oms-api-php
===========

[](#oms-api-php)

A PHP library that wraps Fulfillment's OMS API for easy use

Example
-------

[](#example)

```
use Fulfillment\OMS;
use Fulfillment\OMS\Models\Request;

$apiWrapper = new OmsClient(__DIR__); //instantiate OMS with a configuration file or array of settings

$newOrder = new Order($orderData); //create a new Request\Order

/*
 * 1. Validate the order
 * 2. Make a POST request to /orders
 * 3. Parse the returned api response into a new Response\Order object
 */
$createdOrder = $apiWrapper->orders->createOrder($newOrder);
```

Installation
------------

[](#installation)

```
composer require fulfillment/oms-api

```

Configuration
-------------

[](#configuration)

Configuration needed is simple:

- **USERNAME** - Email address for your account
- **PASSWORD** - Password for your account
- **CLIENT\_ID** - Client Id for your merchant
- **CLIENT\_SECRET** - Client secret for your merchant
- **ACCESS\_TOKEN** - If already created, an access token for your merchant
- **API\_ENDPOINT** - The end point for the fulfillment api services you are using ()

Optional Configurations:

- **JSON\_ONLY** - Defaults to false. If set to true all responses will be returned as pure JSON as it is from the server.

There are two ways to configure OMS API

**Use dotenv**

Use a `.env` file compatible with fantastic [phpdotenv](https://github.com/vlucas/phpdotenv) library. Simply specify the absolute path to the folder containing your `.env` file as an argument in the OMS constructor.

```
$apiWrapper = new OmsClient('absolute/path/to/a/folder')
```

An example file called `.env.example` can be found in the root directory.

**Use an array**

Alternatively, create an array with key/values matching the above specified configuration and pass it as an argument in the OMS constructor.

```
$apiWrapper = new OmsClient($yourConfigurationArray)
```

Usage
-----

[](#usage)

### Working With Models

[](#working-with-models)

Models (plain PHP classes) are used by the wrapper to facilitate easy building, validation, and parsing of api data. There are two types of models:

**Request Models**

Found at `Fulfillment\OMS\Models\Request` these are the models that are used when making any request that requires data (such as a POST or PUT request). Currenty you will need to use the implemented models to make these type of requests. They differ slightly from the other type (`Response` model) because they do not require as much data as is returned from the api.

Example

```
$newOrder = new Order($myOrderData);
$order = $apiWrapper->orders->createOrder($newOrder);
```

**Response Models**

Found at `Fulfillment\OMS\Models\Response` these are the models that response json is parsed in to. They inherit from `Request` models and so can be reused to make requests.

Example

```
$returnedOrder = $apiWrapper->orders->getOrder($orderId);
```

### Model Validation

[](#model-validation)

By default all models are validated before a request is sent (in the case of a POST or PUT request). A descriptive error will be thrown if a model has any validation failures. Eventually this will be a configurable option.

Roadmap
-------

[](#roadmap)

There's still lots to do, check the issues section to see what is being worked on or make a request.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance40

Moderate activity, may be stable

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1614 days

Total

2

Last Release

1896d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e034a2b4c63a810f72067441ec19dce7d9993a7fad0f1b27dd5734a4a2ad8070?d=identicon)[FoxxMD](/maintainers/FoxxMD)

![](https://www.gravatar.com/avatar/2263993374fa87b36ce7376802b73d5fd26d7a420ffc61bcf9049e7692526004?d=identicon)[Fulfillment.com](/maintainers/Fulfillment.com)

---

Top Contributors

[![FoxxMD](https://avatars.githubusercontent.com/u/4663766?v=4)](https://github.com/FoxxMD "FoxxMD (46 commits)")[![shawley33](https://avatars.githubusercontent.com/u/22618114?v=4)](https://github.com/shawley33 "shawley33 (1 commits)")

---

Tags

fulfillmentfulfillment.com

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/fulfillment-oms-api/health.svg)

```
[![Health](https://phpackages.com/badges/fulfillment-oms-api/health.svg)](https://phpackages.com/packages/fulfillment-oms-api)
```

###  Alternatives

[netflie/whatsapp-cloud-api

The first PHP SDK to send and receive messages using a cloud-hosted version of the WhatsApp Business Platform

640431.7k4](/packages/netflie-whatsapp-cloud-api)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1344.8k1](/packages/jasara-php-amzn-selling-partner-api)[hardcastle/xrpl_php

PHP SDK / Client for the XRP Ledger

129.7k5](/packages/hardcastle-xrpl-php)[nkl-kst/the-sports-db

PHP library to get sports data from TheSportsDB (https://www.thesportsdb.com)

271.2k](/packages/nkl-kst-the-sports-db)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
