A SilverStripe BulkLoader for consuming external APIs
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.
Where there is an external source of truth that a dataobject needs to be updated from.
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 site 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 end user maintenance.
\AntonyThorpe\Consumer\BulkLoaderand set your column map between the external API fields and the dataobject (see docs and tests folder for guidance).
BuildTaskto retrieve fresh API data using a tool like Guzzle
Consumerclass and record the last edited date for future reference
BuildTaskon a regular basis and monitor incoming emails for exceptions
A bulk loader for Silvershop Unleashed Software (link)
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem