airbytehq / airbyte

The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
https://airbyte.com
Other
15.38k stars 3.97k forks source link

New Source: Presta Shop #2980

Closed sherifnada closed 3 years ago

sherifnada commented 3 years ago

Tell us about the new integration you’d like to have

popular open source shopfront platform https://github.com/PrestaShop/PrestaShop/

Describe the context around this new integration

Describe the alternative you are considering or using

What are you considering doing if you don’t have this integration through Airbyte?

┆Issue is synchronized with this Asana task by Unito

vitaliizazmic commented 3 years ago

Integration Vetting

PrestaShop is an Open Source e-commerce web application, which is written in PHP.

Server configuration

The first stable version of PrestaShop 1.7, 1.7.0.0, was released on November 7th, 2016. Further updates have been released since then.

To install the latest PrestaShop 1.7, we need a web server running PHP 7.1+ and any flavor of MySQL 5.0+ (MySQL, MariaDB, Percona Server, etc.). Versions between 1.7.0 and 1.7.6 work with PHP 5.6+.

PrestaShop enables merchants to give third-party tools access to their shop’s database through a CRUD API, otherwise called a web service.

By default, the webservice feature is disabled on PrestaShop and needs to be switched on before the first use.

Webhook-based? (no/partially/yes)

No

Available authentication modes (API key/Oauth/other)

Access key

Connecting to the data source

The PrestaShop web service uses the REST architecture

Testing access to the Webservice

Creating an account

Instance deployment is required.

How to populate the account with data?

Fake data can be populated while installing PrestaShop instance. But it also can be done entirely through the API or through the UI.

Available streams for sync

Resource schemas

The Webservices can output JSON resource schemas

By default simple list that returns the IDs of the resources is received. For returning all fields use display=full parameter.

Available resources

Do any streams support incremental sync?

We can filter the expected result with the filter parameter

Some resources have date_add and date_upd, but they are optional.

Preparation scope & blockers

Instance deployment is required.

Other information/blockers

Singer Tap isn't available.

keu commented 3 years ago

look at this https://hub.docker.com/r/prestashop/prestashop/

vitaliizazmic commented 3 years ago

Are the account test credentials available in Lastpass?

Account test credentials doesn't available in Lastpass. To work with Source we can deploy instance locally using Docker image.

Task breakdown

sherifnada commented 3 years ago

@vitaliizazmic just seeing this now -- can we support just a subset of the available streams to start with? Just want to make sure we keep the scope of the PR manageable and add more endpoints as users request them. Streams that seem like the most valuable:

If you have already implemented others we can keep those (no need to throw them away) but hopefully this can help focus the scope