2017 © Pedro Peláez
 

silverstripe-module consumer

A SilverStripe BulkLoader for consuming external APIs

image

antonythorpe/consumer

A SilverStripe BulkLoader for consuming external APIs

  • Saturday, July 28, 2018
  • by AntonyThorpe
  • Repository
  • 1 Watchers
  • 1 Stars
  • 41 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 6 Versions
  • 8 % Grown

The README.md

consumer

A SilverStripe BulkLoader for consuming external APIs, (*1)

CI Latest Stable Version Total Downloads Latest Unstable Version License, (*2)

Maintain data integrity with an external source of truth. Keep dataobjects up to date with fresh data received from external APIs. Inspired by burnbright/silverstripe-importexport., (*3)

Features

  • Retains a record of the maximum last edited date (to use as a limit in future API calls)
  • Display, Log and/or email Bulk Loader Results showing the changes made to a dataobject
  • Localisation options available for Results report
  • Preview setting for dry runs leaving the dataobject untouched

Use Case

Where there is an external source of truth that a dataobject needs to be updated from., (*4)

An example is an eCommerce website where the product prices need to be kept in alignment with an online inventory system (which is used post-sale to manage fulfilment of an order). With the eCommerce website being a subset of the total inventory items in stock, updating, without creating new product items, is required. The pricing and other properties change frequently. Based upon the philosophy of entering data only once a sync from the external source of truth would keep the website accurate, up to date and reduce maintenance., (*5)

How to use

  • Subclass \AntonyThorpe\Consumer\BulkLoader and set your column map between the external API fields and the dataobject (see docs and tests folder for guidance).
  • Create a BuildTask to retrieve fresh API data using a tool like Guzzle
  • Alter the dataobject via a method on your BulkLoader subclass
  • Review the Bulk Loader Results report
  • Create an instance of the Consumer class and record the last edited date for future reference
  • Setup a cron job to run the BuildTask on a regular basis and monitor incoming emails for exceptions

Example

A bulk loader for Silvershop Unleashed Software (link), (*6)

Requirements

Documentation

Index, (*7)

Support

None sorry., (*8)

Change Log

Link, (*9)

Contributing

Link, (*10)

License

MIT, (*11)

The Versions

28/07 2018

dev-master

9999999-dev

A SilverStripe BulkLoader for consuming external APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

json xml silverstripe bulkloader

27/07 2018

2.0.2

2.0.2.0

A SilverStripe BulkLoader for consuming external APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

json xml silverstripe bulkloader

23/07 2018

2.0.1

2.0.1.0

A SilverStripe BulkLoader for consuming external APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

json xml silverstripe bulkloader

22/07 2018

2.0.0

2.0.0.0

A SilverStripe BulkLoader for consuming external APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

json xml silverstripe bulkloader

21/07 2018

1.0.1

1.0.1.0

A SilverStripe BulkLoader for consuming external APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

json xml silverstripe bulkloader

05/10 2016

1.0.0

1.0.0.0

A SilverStripe BulkLoader for consuming external APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

json xml silverstripe bulkloader