facebook_feed_sync
Update a google sheet with data from the Plentymarkets API for a Facebook catalog feed.
Installation:
Prepare the folder structure and get google sheet API access
- Place the credentials file from : Google Sheet API as 'credentials.json' (example: mv ~/Downloads/credentials.json /home/$USER/.config/gspread/credentials.json) into the config folder for
gspread. - Place the
config.inifile into thefacebook_feed_syncconfig folder- Linux: /home/$USER/.config/facebook_feed_sync/config.ini
- Windows: C:\\$USER\.config\facebook_feed_sync\config.ini
Here is an example for the config file:
[General]
google_sheet_id=
plenty_api_url=
lang=
[Mapping]
facebook_referrer=
image_match_criteria=
item_name_number=
gender_item_property=
age_item_property=
google_product_category_item_property=
material_variation_property=
url_variation_property=
sales_price_id=
color_attribute_id=
size_attribute_id=
main_warehouse=
- Get the ID of the target marketplace or Create a new marketplace availability:
{plenty-cloud-domain}/plenty/terra/system/orders/referrer- activate it and add the ID to the configuration.
- Set the marketplace availability for every variation you want to present on facebook.
- Create new variation or item properties(characteristics) for these fields or link existing properties:
- Item properties (characteristics)
{plenty-cloud-domain}/plenty/terra/system/item/character- gender_item_property [facebook:
gender] (target audience gender: 'Men', 'Women', 'Unisex') - age_item_property [facebook:
age_group] (target audience age group: 'Adult' or 'Child') - google_product_category_item_property [facebook:
google_product_category] (Text value of your google product category, see: list)
- gender_item_property [facebook:
- Variation properties
{plenty-cloud-domain}/plenty/terra/system/settings/properties/configuration/overview- material_variation_property [facebook:
material] (material type of the product e.g. Cotton, Hemp etc.) - url_variation_property [facebook:
link] (Link to your webshop)
- material_variation_property [facebook:
- Item properties (characteristics)
- Choose the criteria by which valid pictures are chosen for each variation, the picture with the lowest position of the images found is used for Facebook.
Example values:image_match_criteria=mandant;12345,image_match_criteria=marketplace;4.01. - Add the IDs of the properties to the matching configuration entry
- Assign the facebook market availability to on of your prices:
{plenty-cloud-domain}/plenty/terra/system/item/sales-priceand make sure that all variations contain a price. Then add the ID of the price to the configuration field:sales_price_id - Choose one of the three possible item names:
name1,name2orname3and add the number of the name to the configuration field:item_name_number - Assign the IDs of your color and size attribute to the configuration fields:
color_attribute_idandsize_attribute_id - Assign the ID of the warehouse used for shipping to the configuration field:
main_warehouse - Fill the properties with values and then add the IDs of the properties to the configuration
- Create a google sheet and add the following header to it:
id,title,description,availability,inventory,condition,price,link,image_link,brand,google_product_category,sale_price,sale_price_effective_date,item_group_id,gender,color,size,age_group,material,pattern,product_type,shipping,shipping_weight- Insert the text then select the field and go to Data->Split text into columns
- Get your Google Sheet ID:
- Example URL:
https://docs.google.com/spreadsheets/d/{SHEET ID}/edit?pli=1#gid=0 - Insert it into the configuration.
- Example URL:
- Make an initial setup of the sheet with:
python3 -m facebook_feed_sync -t all - Check if the google sheet looks good and go on Share at the top right and change access rights to anyone with the link
- Go to your business manager (catalogs) https://business.facebook.com/products/catalogs/, create a new datafeed: Catalog -> data-feeds -> Add products -> Use bulk upload -> Google Spreadsheets -> Next -> Insert the full link -> Choose the upload schedule.
- Setup the cronjob to run the script preferably on a device, which has a constant uptime (I use a raspberry Pi for example), Notice cronjobs don't go well with the Keyring authentication, so please provide the credentials within the configuration like this:
- Write the PlentyMarkets REST-API password into an empty file
- encrypt it
gpg --output test_file.gpg --encrypt --recipient {YOUR_GPG_RECIPIENT} test_file.txt - Add the PlentyMarkets REST-API username to the config under the section
[Credentials]as optionuser - Add the path to the GnuPG encrypted file to the config under the section
[Credentials]as optionpw_file
Metadata
Release files for facebook-feed-sync 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| facebook_feed_sync-0.2.1.tar.gz | 26.0 kB | Without provenance | Details for facebook_feed_sync-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| facebook_feed_sync-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for facebook_feed_sync-0.2.1-py3-none-any.whl |
Total release size: 53.6 kB
Release files / facebook_feed_sync-0.2.1.tar.gz
| Download URL | facebook_feed_sync-0.2.1.tar.gz |
|---|---|
| Size | 26.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dae4942a110421c61184636102c2444a9d465ce9047db8a716d3fb59efbbf5a7
|
|
BLAKE2b-256 checksum How to use checksums |
c0ed83c8269a8d76c282a40912644d49296b23985c7a74bff405c5b4b24e8086
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.10 CPython/3.7.3 Linux/5.10.0-rc1+
|
Release files / facebook_feed_sync-0.2.1-py3-none-any.whl
| Download URL | facebook_feed_sync-0.2.1-py3-none-any.whl |
|---|---|
| Size | 27.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
13d49011552f9b68ecc7980792f543d6413d12f8a410871d3a01217a4c4d70eb
|
|
BLAKE2b-256 checksum How to use checksums |
7e144ea11181745b2f345af7499169c738dcdc207b83c926ae43d88fad8e942c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.10 CPython/3.7.3 Linux/5.10.0-rc1+
|
Security for facebook-feed-sync 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.