Download the PHP package glue-systems/sp-api-open-api without Composer
On this page you can find all versions of the php package glue-systems/sp-api-open-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download glue-systems/sp-api-open-api
More information about glue-systems/sp-api-open-api
Files in glue-systems/sp-api-open-api
Package sp-api-open-api
Short Description Lightweight PHP library for making LWA-authorized requests to Amazon Selling Partner API (SP-API) via OpenAPI-generated classes
License MIT
Informations about the package sp-api-open-api
sp-api-open-api
This package consists of a set of OpenAPI-generated PHP clients for making calls to Amazon Selling Partner API (SP-API). For more information on this use case, please visit https://developer-docs.amazon.com/sp-api/docs.
The classes for each SP-API PHP client in src/Clients were auto-generated by the OpenAPI Generator project and organized into namespaces by the developers of Glue Systems, LLC.
The version of OpenAPI Generator Java JAR tool used for code generation was 3.3.4
, which at the time of this writing
was the last stable version of OpenAPI Generator CLI that was compatible with PHP 5. This was done in order to
preserve compatibility with PHP 5.6, which was an original goal of the project. Compatibility with PHP 5.6 is still
preserved in version 2.
Requirements
PHP 7.3 and later.
How to Maintain or Contribute to this Repo
As new versions are released for each of the SP-API domains, it will be necessary to upgrade this repo in a systematic fashion. If you are contributing to or maintaining this repo, please read the sections below carefully.
Installing Legacy Versions of OpenAPI Generator
The official docs for version 3.3.4 can be found here: https://github.com/OpenAPITools/openapi-generator/tree/2353d71d4b02be6dbabe25aac1a9e56eb3b812a2
One caveat is that the URL provided for downloading the Java JAR file is invalid -- particularly,
the central.maven.org
subdomain and the http
protocol no longer work. However, if you change the subdomain with
protocol to https://repo1.maven.org
and leave the rest of the URL the same, it should download properly.
You may find it helpful in your environment to download multiple versions of the JAR file into a dedicated bin
folder,
preserving the version number in the file name itself. This would allow you to use a Bash alias to
associate openapi-generator-cli
with the desired JAR file version depending on your needs.
Example download script for Linux & Mac for version 3.3.4 of the Java JAR file:
Example Bash alias declaration (e.g. in ~/.bash_profile
):
Steps for Making Changes via OpenAPI Generator CLI
- Install the OpenAPI Generator CLI tool.
- For instructions on installing a legacy version, see section Installing Legacy Versions of OpenAPI Generator.
cd
to the root of your cloned instance of this repository.- Clear out any existing code in your git-ignored
output
sub-directory. -
Using your OpenAPI Generator CLI tool, generate the API client package follwing the template below:
- Delete the source-controlled version of the API client that is to be replaced by the new output -- if it exists, it
will be at
src/Clients/[DOMAIN_SUB_NAMESPACE]
. - Replace the deleted API client with the newly-generated code in
output/[DOMAIN_SUB_NAMESPACE]/lib
. - Check the git diff carefully. Create a new git release according to the nature of the changes (bug fixes, new features, breaking changes). Document any significant changes so that subscribers to this repository can upgrade their downstream code accordingly.
Note that following the steps above will have the same end result whether you are adding a new SP-API client or modifying an existing one.
Example Bash Scripts
Example Bash scripts are provided below for each of the included SP-API domains. These are for reference only, as they may vary depending on your environment.
A+ Content Management API v2020-11-01
Authorization API v1
Catalog Items API v0
Catalog Items API v2020-12-01
Catalog Items API v2022-04-01
(Not included; latest JSON schema incompatible with this version of OpenAPI Generator CLI)
Product Type Definitions API v2020-09-01
Easy Ship API v2022-03-23
FBA Inbound Eligibility API v1
FBA Inventory API v1
FBA Small and Light API v1
Feeds API v2020-09-04
Feeds API v2021-06-30
Finances API v0
Fulfillment Inbound API v0
Fulfillment Outbound API v2020-07-01
Listings Items API v2020-09-01
Listings Items API v2021-08-01
Listing Restrictions API v2021-08-01
Merchant Fulfillment API v0
Messaging API v1
(Not included; latest JSON schema incompatible with this version of OpenAPI Generator CLI)
Notifications API v1
Orders API v0
Product Fees API v0
Product Pricing API v0
Product Pricing API v2022-05-01
(Not included; latest JSON schema incompatible with this version of OpenAPI Generator CLI)
Replenishment API v2022-11-07
Reports API v2020-09-04
Reports API v2021-06-30
Sales API v1
Sellers API v1
Services API v1
Shipment Invoicing API v0
Shipping API v1
(Not included; latest JSON schema incompatible with this version of OpenAPI Generator CLI)
Solicitations API v1
(Not included; latest JSON schema incompatible with this version of OpenAPI Generator CLI)
Supply Sources API v2020-07-01
Tokens API v2021-03-01
Uploads API v2020-11-01
Vendor Direct Fulfillment Inventory API v1
Vendor Direct Fulfillment Orders API v1
Vendor Direct Fulfillment Orders API v2021-12-28
Vendor Direct Fulfillment Payments API v1
Vendor Direct Fulfillment Sandbox Test Data API v2021-12-28
Vendor Direct Fulfillment Shipping API v1
Vendor Direct Fulfillment Shipping API v2021-12-28
Vendor Direct Fulfillment Transactions API v1
Vendor Direct Fulfillment Transactions API v2021-12-28
Vendor Retail Procurement Invoices API v1
(Not included; latest JSON schema incompatible with this version of OpenAPI Generator CLI)
Vendor Retail Procurement Orders API v1
(Not included; latest JSON schema incompatible with this version of OpenAPI Generator CLI)
Vendor Retail Procurement Shipments API v1
(Not included; latest JSON schema incompatible with this version of OpenAPI Generator CLI)
Vendor Retail Procurement Transaction Status API v1
Changelog of Customizations to OpenAPI-Generated Code
Some SP-API operations return values that do not conform to their OpenAPI JSON schema. One example of this is the
string "false"
being returned for certain fields that the spec says should of type bool
.
In order to account for such API idiosyncrasies, custom modifications have been made to the OpenAPI-generated code. Below is a changelog list to help us keep track of these changes and ensure they persist as newer versions of SP-API models and OpenAPI Generator CLI are released.
- Adding coercion of string
'true'
,'false'
etc. to into true booleans viafilter_var
function inOrdersV0
ObjectSerializer
by @jpsilkjr86 in #15- Full Changelog:
v2.1.1...v2.1.2
- Full Changelog:
- Correcting for Swagger-generated models' noncompliance with actual SP API responses observed in production
(
SellerFreightClass
,UnitOfMeasurement
) by @codelinde in #21.- Full Changelog:
v2.3.3...v2.3.4
- Full Changelog:
- Correcting for Swagger-generated models' noncompliance with actual SP API responses observed in production
(
ShipmentStatus
) by @codelinde in #22.- Full Changelog:
v2.3.4...v2.3.5
- Full Changelog:
All versions of sp-api-open-api with dependencies
ext-curl Version *
ext-json Version *
ext-mbstring Version *
guzzlehttp/guzzle Version 7.2.*
aws/aws-sdk-php Version ^3.110
psr/simple-cache Version ^1.0