netgescon-day0/docs/AMAZON-CREATORS-API.md

3.1 KiB

Amazon Creators API e canale offerte

Stato attuale nel codice

NetGescon aveva gia una base catalogo con prodotti, identificativi, media, seriali e offerte. Questa slice aggiunge:

  • configurazione ambiente per Amazon Creators API in config/services.php;
  • servizio AmazonCreatorsApiService per token OAuth e chiamate configurabili;
  • servizio AmazonCreatorsCatalogSyncService per mappare item Amazon su ProductOffer, ProductIdentifier e ProductMedia;
  • comando artisan catalog:sync-amazon-creators per sincronizzare un prodotto singolo.

Variabili ambiente da valorizzare

Queste chiavi vanno messe solo in .env locale o staging, mai nel repository:

AMAZON_REFERRAL_TAG=netgescon-21
AMAZON_MARKETPLACE=www.amazon.it

AMAZON_CREATORS_ENABLED=true
AMAZON_CREATORS_CREDENTIAL_ID=
AMAZON_CREATORS_CREDENTIAL_SECRET=
AMAZON_CREATORS_CREDENTIAL_VERSION=v3.2

AMAZON_CREATORS_TOKEN_URL=
AMAZON_CREATORS_API_BASE_URL=
AMAZON_CREATORS_SEARCH_PATH=
AMAZON_CREATORS_GET_ITEMS_PATH=
AMAZON_CREATORS_TIMEOUT=20

TELEGRAM_OFFERS_BOT_TOKEN=
TELEGRAM_OFFERS_CHAT_ID=
TELEGRAM_OFFERS_CHANNEL_NAME=
TELEGRAM_OFFERS_WEBHOOK_SECRET=

Cosa manca per il collegamento live

Le credenziali ci sono gia, ma per la chiamata HTTP reale servono ancora dal materiale Amazon ufficiale:

  • endpoint OAuth preciso per il token;
  • base URL API Creators per il marketplace Italia;
  • path esatti delle operazioni SearchItems e GetItems;
  • un esempio reale di request e response, oppure direttamente lo zip dello SDK PHP Creators API.

Appena ci sono questi quattro dati, il client puo essere puntato ai path reali senza inventare nulla.

Uso del comando

Sincronizzazione da API, quando gli endpoint sono configurati:

php artisan catalog:sync-amazon-creators ART-000123
php artisan catalog:sync-amazon-creators 123 --asin=B0ABCDEF12
php artisan catalog:sync-amazon-creators ART-000123 --query="detergente caldaia"

Sincronizzazione da JSON esportato dallo SDK Amazon, utile anche prima del collegamento live completo:

php artisan catalog:sync-amazon-creators ART-000123 --json=/tmp/amazon-item.json
php artisan catalog:sync-amazon-creators ART-000123 --json=/tmp/amazon-response.json --dry-run

Dati che il sync salva

  • offerta product_offers.source_type = amazon_creators_api;
  • ASIN come ProductIdentifier primario, se presente;
  • EAN come ProductIdentifier, se presente;
  • immagine Amazon come ProductMedia remoto;
  • referral URL con tag=netgescon-21 se il tag e configurato.

Cosa serve per il canale Telegram offerte

Per pubblicare offerte in automatico dal catalogo NetGescon servono:

  • un bot Telegram creato con BotFather;
  • il bot aggiunto come admin del canale offerte;
  • chat_id o username del canale;
  • una regola chiara di pubblicazione, per esempio solo offerte Amazon con prezzo valido e prodotto attivo;
  • una frequenza di invio, per esempio push immediato o digest orario;
  • un criterio anti-spam, per esempio non ripubblicare lo stesso ASIN nelle ultime 24 ore.

La prossima slice naturale e un publisher che prende le offerte attive dal catalogo e invia il post al canale con titolo, prezzo, immagine e referral URL.