Etsy API · Genel

Etsy OAuth 2.0 ve PKCE: yetkilendirme akışı adım adım

Etsy'de mağaza verisine erişmek için OAuth 2.0 yetkilendirme kodu akışı kullanılır ve her akışta PKCE zorunludur. Kullanıcı Etsy'nin izin sayfasında uygulamanıza erişim verir, Etsy kayıtlı adresinize bir kod gönderir, siz de bu kodu doğrulayıcıyla birlikte token ucuna verip erişim ve yenileme token'larını alırsınız.

POSThttps://api.etsy.com/v3/public/oauth/tokengrant_type=authorization_code; gövde application/x-www-form-urlencoded

Akışın beş adımı

AdımKim yaparNe olur
1UygulamaRastgele bir code_verifier üretir, ondan code_challenge hesaplar
2UygulamaKullanıcıyı https://www.etsy.com/oauth/connect adresine yönlendirir
3SatıcıEtsy'de istenen izinleri onaylar
4Etsyredirect_uri adresine code ve state değerlerini gönderir
5Uygulamacode ve code_verifier ile token ucundan erişim ve yenileme token'ı alır

Kod tek kullanımlıktır ve yalnız onu başlatan doğrulayıcıyla token'a çevrilebilir. Bu yüzden code_verifier değerini isteği başlattığınız oturumla birlikte saklamanız gerekir.

İzin adresinin parametreleri

İzin isteği, kullanıcının tarayıcısında açılan bir GET adresidir. Etsy belgesindeki parametreler şunlardır (Etsy: Authentication):

  • response_type: her zaman code.
  • client_id: uygulamanızın keystring değeri.
  • redirect_uri: kodun gönderileceği, portalda kayıtlı adres.
  • scope: boşlukla ayrılmış ve URL kodlanmış izin listesi; ör. listings_r%20transactions_r.
  • state: önerilir; tahmin edilemez, tek kullanımlık bir değer. Dönüşte aynı değer gelmezse akışı durdurun.
  • code_challenge ve code_challenge_method: PKCE değeri ve her zaman S256.

PKCE nasıl üretilir?

PKCE, RFC 7636 ile tanımlıdır ve yetkilendirme kodunun başkası tarafından ele geçirilip kullanılmasını engeller (RFC 7636). Etsy'ye göre doğrulayıcı 43 ile 128 karakter arasında olmalı ve yalnız harf, rakam ile . _ ~ - karakterlerini içermelidir.

Pratik yol, güvenli bir rastgele kaynaktan 32 bayt alıp URL güvenli Base64 ile kodlamaktır. code_challenge ise doğrulayıcının SHA-256 özetinin URL güvenli Base64 karşılığıdır. İzin adresine yalnız challenge gider; doğrulayıcı token isteğinde kullanılır.

Token isteği ve yanıtı

Kod geldikten sonra https://api.etsy.com/v3/public/oauth/token adresine application/x-www-form-urlencoded gövdeli bir POST atılır. Gövdede grant_type=authorization_code, client_id, code ve code_verifier bulunur. redirect_uri isteğe bağlıdır; gönderilirse izin isteğindekiyle birebir aynı olmalıdır.

Yanıt alanıAnlamı
access_tokenBaşında kullanıcı kimliği ve nokta bulunan erişim token'ı
token_typeHer zaman Bearer
expires_inGeçerlilik süresi, saniye; Etsy örneğinde 3600
refresh_tokenYeni erişim token'ı almak için kullanılan değer
scopeGerçekte verilen izinler; istenenlerden az olabilir

Süreler ve yenileme erişim ve yenileme token'ı sayfasında anlatılıyor.

redirect_uri neden reddedilir?

Etsy adresi portalda kayıtlı metinle harfi harfine karşılaştırır ve büyük-küçük harfe duyarlıdır. Sonda fazladan eğik çizgi ya da soru işareti, http ile https farkı veya www eksikliği eşleşmeyi bozar. Eşleşmeyen adreste Etsy kullanıcıyı uygulamanıza geri göndermez. Kullanıcı izni reddederse dönüş adresine error ve error_description parametreleri gelir; hata kodları RFC 6749'daki listeden seçilir.

Sık sorulanlar

Etsy OAuth için PKCE zorunlu mu?

Evet. Etsy belgesine göre her yetkilendirme akışında PKCE gerekir ve code_challenge_method her zaman S256 olmalıdır.

state parametresini göndermesem olur mu?

Etsy state değerini önerir. PKCE kullanan OAuth 2.1 istemcilerinin bunu atlayabileceğini belirtse de, sahte istek saldırılarına karşı göndermek iyi uygulamadır.

Token isteğinde redirect_uri zorunlu mu?

Hayır, isteğe bağlıdır. Gönderirseniz izin isteğinde kullandığınız adresle birebir aynı olmalıdır; değilse istek reddedilir.

Satıcı izin vermezse ne olur?

Etsy dönüş adresine error, error_description ve state parametrelerini gönderir. Uygulamanız bu durumda kullanıcıya açık bir mesaj göstermeli ve yeni bir state ile tekrar denemelidir.

Kaynaklar

İlgili Etsy API konuları

Son güncelleme: 27.10.2026 · Etsy API rehberinin tamamı

Etsy entegrasyonunu kod yazmadan kurun

Saystok bu API'lerle stok, sipariş ve fiyatı sizin yerinize eşitler. 30 gün ücretsiz.