Integrate with this merchant site

Merchant-side test target for GurzuVTO's Custom Pull connector โ€” 341 products. Two read-only ways to get the data.

๐Ÿ›๏ธ Storefront

Way 1 โ€” API (URL + key)

Base URLhttps://ecom-tryon.gurzu.net
EndpointGET /api/catalog?page=N (paginated, 50/page)
AuthAuthorization: Bearer 7d86ca19a7aa30fb4fd7091e34242641cd23324fa611429c56412c914e01dbe3
ImagesGET /img/<file> โ€” public, no token
curl -H "Authorization: Bearer 7d86ca19a7aa30fb4fd7091e34242641cd23324fa611429c56412c914e01dbe3" \
  "https://ecom-tryon.gurzu.net/api/catalog?page=1"

Way 2 โ€” direct database (read-only)

Connect straight to Postgres and get the catalog from one query โ€” the same product JSON as the API above (same fields + traps). Read-only โ€” cannot write.

Not published on this deployment. Postgres is reachable only inside this site's own network, so there is no connection string to hand out. Use the API above, or publish the database deliberately and set PUBLIC_DB_URL โ€” see DEPLOY.md.

Clean JSON via the shipped views:

SELECT product FROM catalog_json;            -- one JSON per product
SELECT jsonb_agg(product) FROM catalog_json; -- whole catalog
SELECT * FROM v_variants;                     -- flat rows (real variation_id + stock)

Host depends on where you connect from:

From this machine (psql, pgAdmin desktop, a host-run engine)localhost : 5433 โ† use this
From a separate Docker container172.17.0.1 : 5433 (localhost there = that container)
Only inside THIS shop's compose netdb : 5432 (don't hand this out)

Image URLs are absolute and built from the base URL above โ€” fetch them as given, with no token.

Admin CRUD: /manage/* (needs Bearer <ADMIN_TOKEN>). Health: /health. Full guide: INTEGRATION.md ยท README.md.