Quickstart

Six calls, in order, that get you from zero to synced.

Six calls, in this order. Subscribe before you seed, not after: from the moment the subscription exists no change can escape you, and seeding first leaves a window in which an edit lands between "seed finished" and "subscription created".

Only two values here are yours to supply: YOUR_API_USER and YOUR_API_SECRET, issued by your JOOR contact, and your account id, written as 40975 throughout this page. Everything else (73516, 1146216, 12345, 91) is an id you read out of the previous response, so the calls chain.

1. Get a token.

curl -X POST https://api.jooraccess.com/oauth2/token/ \
  -d 'grant_type=password' \
  -d 'username=YOUR_API_USER' \
  -d 'password=YOUR_API_SECRET'

Every call below sends that token as Authorization: Bearer $TOKEN. See Generating an Auth Token for the token response shape.

2. Subscribe to changes, before seeding anything.

curl -X POST 'https://api.jooraccess.com/v4/retailers/subscriptions?account=40975' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "callback_url": "https://hooks.example.com/joor",
    "events": ["product.created", "product.updated", "product.deleted"]
  }'

The response contains secret_key, and that is the only time it is ever returned. Store it before you close the connection. It also contains the subscription id, used in step 3.

3. Prove your signature verification works, before anything real depends on it.

curl -X POST 'https://api.jooraccess.com/v4/retailers/subscriptions/91/test?account=40975' \
  -H "Authorization: Bearer $TOKEN"

This sends a synthetic signed product.updated to your callback immediately and tells you what your endpoint answered. It is not recorded as a delivery and does not touch your failure counters. See Verifying Signatures for the HMAC recipe your endpoint needs to pass this check.

4. List the brands you are connected to.

curl -G https://api.jooraccess.com/v4/connections \
  -H "Authorization: Bearer $TOKEN" \
  -d account=40975 \
  -d limit=100

5. List one brand's collections.

curl -G https://api.jooraccess.com/v4/retailers/brands/73516/collections \
  -H "Authorization: Bearer $TOKEN" \
  -d account=40975

6. Seed the collection at full depth, 25 products per page.

curl -G https://api.jooraccess.com/v4/retailers/collections/1146216/products \
  -H "Authorization: Bearer $TOKEN" \
  -d account=40975 \
  -d detail=full \
  -d limit=25

Then keep paging with cursor until next_cursor is null, repeat steps 5 and 6 for every brand and collection, and put the daily re walk of steps 4 and 5 on a schedule. That is the whole integration. See Walking the Catalog for the full hierarchy.