İçeriğe geç

Hızlı başlangıç

Kurulu bir uygulamaya — onun client id, client secret ve signing secret değerlerine — ve mağazanın birincil alan adına ihtiyacınız var. Uygulamayı mağaza kendisi oluşturduysa (Ayarlar → Uygulamalar → Uygulama oluştur), üç secret da oluşturma anında bir kez gösterilmiştir. Aşağıda mağaza www.example-store.com olarak geçiyor.

  1. Kimlik bilgilerinizi bir token ile değiştirin.

    Terminal window
    curl -X POST https://www.example-store.com/apps/token \
    -d grant_type=client_credentials \
    -d client_id=ciqra_ci_... \
    -d client_secret=ciqra_cs_...

    Gövde form-encoded olmalıdır (application/x-www-form-urlencoded). Yanıt:

    {
    "access_token": "ciqra_at_...",
    "token_type": "Bearer",
    "expires_in": 3600,
    "accessToken": "ciqra_at_...",
    "tokenType": "Bearer",
    "expiresIn": 3600,
    "scope": "read_products write_products read_webhooks write_webhooks",
    "scopeNotYetEnforced": ""
    }

    Token bir saat yaşar ve refresh token yoktur: süresi dolmak üzereyken bu çağrıyı yeniden yapın. scope gerçekte yapabileceklerinizi gösterir (bir write_ scope’u kendi read_ scope’unu içerir); scopeNotYetEnforced ise verilmiş ama henüz hiçbir endpoint’in dikkate almadığı scope’ları listeler.

  2. API’yi token ile çağırın.

    Terminal window
    curl https://www.example-store.com/apps/catalog/products?take=10 \
    -H "Authorization: Bearer ciqra_at_..."
    { "total": 1284, "skip": 0, "take": 10, "items": [ { "id": "…", "name": "…", "status": "Active", "…": "…" } ] }

    read_products gerektirir. Sayfalama skip/take ile yapılır; bkz. istekler ve sayfalama.

  3. Bir şeyi değiştirin — idempotent olarak.

    Terminal window
    curl -X POST https://www.example-store.com/apps/catalog/products/bulk \
    -H "Authorization: Bearer ciqra_at_..." \
    -H "Idempotency-Key: 7c4a1e0e-rename-run-1" \
    -H "Content-Type: application/json" \
    -d '{"products":[{"id":"<product id>","metaTitle":"Winter coat — free shipping"}]}'

    write_products gerektirir. Yan etki oluşturan yazma işlemleri bir Idempotency-Key ister; ağ koparsa ve aynı anahtar ile aynı gövdeyle yeniden denerseniz, ikinci bir yazma yerine ilk yanıtı geri alırsınız. Bkz. idempotency.

  4. Olaylara abone olun.

    Terminal window
    curl -X POST https://www.example-store.com/apps/webhooks/subscriptions \
    -H "Authorization: Bearer ciqra_at_..." \
    -H "Content-Type: application/json" \
    -d '{"url":"https://hooks.your-app.example/ciqra","eventTypes":["order.paid"]}'

    write_webhooks gerektirir. Teslimatlar kurulumunuzun signing secret’ı ile imzalanır — her birini doğrulayın.

Gördüğünüz Anlamı
/apps/token’dan 401, {"error":"invalid_client",…} Yanlış id veya secret, uygulama askıya alınmış ya da bu alan adının mağazasına kurulu değil.
Bir API çağrısında 401, error.code invalid_token veya tenant_not_active Token’ın süresi dolmuş, iptal edilmiş, kurulum kaldırılmış ya da mağaza aktif değil. Bir kez yeni token alın; o da başarısız olursa kurulum artık yok.
403, error.code missing_scope Kurulumunuzda o işlemin gerektirdiği scope yok; error.scope onu belirtir. wrong_store, token’ın başka bir mağazaya ait olduğu anlamına gelir. Referans her işlemde bu scope’u belirtir.
429, error.code rate_limited Bir rate limit’i (istek sınırı) aştınız. Retry-After saniye kadar bekleyin.

Ayrıntılar: hatalar.