Kişiler

Parola sıfırlama

Parola sıfırlama e-postası isteme ve e-postadaki token ile sıfırlamayı tamamlama.

Markdown olarak görüntüle

Parola sıfırlama iki adımlı bir akıştır: forgot-password kişiye bir sıfırlama bağlantısı e-postalar, reset-password o bağlantıdaki token'ı tüketir. İkisi de contacts:write scope'unu gerektirir (customers:write kabul edilir); hiçbiri X-Customer-Token gerektirmez. İkisi de IP başına dakikada 10 request'lik ek kimlik bilgisi endpoint'i rate limitini taşır.

Sıfırlama token'ları tek kullanımlıktır, hash'lenerek (SHA-256) saklanır ve verildikten 60 dakika sonra süresi dolar. Sıfırlama bağlantısı, mağazanızın yapılandırılmış storefront URL'sine {storefront_url}/account/reset?token=...&email=... biçiminde işaret eder; o path'teki storefront sayfanız her iki query parametresini okuyup reset-password endpoint'ine göndermelidir. Mağazada yapılandırılmış bir storefront_url yoksa e-posta gönderilmez (endpoint yine de 202 döner).

POST /v1/api/contacts/forgot-password

Mevcut entegrasyonlar için /v1/api/customers/forgot-password üzerinde de sunulur; request ve response birebir aynıdır.

Parola sıfırlama e-postası ister. O e-postaya sahip bir hesap olsun ya da olmasın her zaman aynı gövdeyle 202 döner; böylece endpoint hesapları saymak (enumerate etmek) için kullanılamaz.

Body parametreleri

AdTürZorunluAçıklama
emailstringEvetGeçerli e-posta adresi. Aramadan önce sunucu tarafında küçük harfe çevrilir.
Request
curl -X POST https://api.borkol.com/v1/api/contacts/forgot-password \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"email":"jane@example.com"}'

Durum: 202 Accepted.

Response
{
  "message": "If the account exists, a reset link has been sent."
}

Hatalar

  • email eksik veya geçerli bir e-posta adresi değilse 422.
  • IP başına dakikada 10 request limiti aşıldığında 429.

POST /v1/api/contacts/reset-password

Mevcut entegrasyonlar için /v1/api/customers/reset-password üzerinde de sunulur; request ve response birebir aynıdır.

E-postayla gönderilen bağlantıdaki token ile parola sıfırlamayı tamamlar. Başarı durumunda yeni parolayı ayarlar, hesabı misafir olmayan olarak işaretler, ayarlanmamışsa email_verified_at alanını ayarlar ve kişinin tüm oturum token'larını iptal eder (tüm cihazların oturumu kapatılır). Geçersiz veya süresi dolmuş bir token hesaba dokunmaz.

Body parametreleri

AdTürZorunluAçıklama
emailstringEvetGeçerli e-posta adresi. Token'ın verildiği hesapla eşleşmelidir.
tokenstringEvetSıfırlama bağlantısının token query parametresindeki düz token.
passwordstringEvetYeni parola. En az 8 karakter.
Request
curl -X POST https://api.borkol.com/v1/api/contacts/reset-password \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"email":"jane@example.com","token":"kJ8s...64-char-token...Qw2","password":"new-s3cret-pass"}'

Durum: 200 OK.

Response
{
  "message": "Password updated."
}

Hatalar

  • Bilinmeyen e-posta, yanlış token, zaten kullanılmış token veya 60 dakikadan eski token için errors.token ["This reset link is invalid or expired."] ile 422.
  • Alan doğrulama hataları için 422 (eksik alanlar, 8 karakterden kısa parola).
  • IP başına dakikada 10 request limiti aşıldığında 429.