Token yenileme
POST/token/refresh
İstek: POST https://ext-api.netgsm.com.tr/auth/v3/token/refresh
Canlı ortam: https://ext-api.netgsm.com.tr/auth/v3
Sandbox: https://ext-sandbox.netgsm.com.tr/auth/v3
Refresh token ile yeni bir token çifti üretir. Kullanıcı adı ve şifre yeniden istenmez.
- Yenilemeden sonra önceki access token geçersiz olur; oturum başına tek geçerli access token vardır.
refresh_tokendeğeri aynı kalabilir; yine de her zaman yanıttakiaccess_tokenverefresh_tokendeğerlerini saklamalısınız.- Token'ın kapsamı yenilemede değişmez.
- Oturum sonlandırıldıysa refresh token da geçersizdir (
401invalid_refresh_token).
Limit: IP başına dakikada 60 istek.
Request
- application/json
- application/x-www-form-urlencoded
Bodyrequired
Token alma ya da son yenileme yanıtındaki refresh token. UUID değilse 401 invalid_refresh_token döner.
a170696c-8c1f-4eb5-81bd-391e29fbebc4Bodyrequired
Token alma ya da son yenileme yanıtındaki refresh token. UUID değilse 401 invalid_refresh_token döner.
a170696c-8c1f-4eb5-81bd-391e29fbebc4Responses
- 200
- 400
- 401
- 403
- 422
- 429
- 502
- 503
Token verildi.
Response Headers
Her zaman no-store.
Her zaman no-cache.
Penceredeki istek hakkı.
Penceredeki kalan hak.
Pencerenin sıfırlanmasına kalan saniye.
Limit politikası; 30;w=60 60 saniyede 30 istek demektir.
- application/json
- Schema
- Example (auto)
- Example
Schema
JWT. Korunan uçlarda Authorization: Bearer <access_token> olarak gönderilir.
eyJhbGciOiJIUzI1NiJ9...Her zaman Bearer.
Possible values: [Bearer]
Access token'ın geçerlilik süresi (saniye).
86400Token yenilemek için kullanılır.
a170696c-8c1f-4eb5-81bd-391e29fbebc4Token'ın verilen kapsamları, boşlukla ayrılmış. İstenenden farklı olabilir (bkz. Scope).
smsHesap kimliği.
100001Alt kullanıcı kimliği; ana hesapla girişte 0.
0{
"access_token": "eyJhbGciOiJIUzI1NiJ9...",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "a170696c-8c1f-4eb5-81bd-391e29fbebc4",
"scope": "sms",
"user_id": 100001,
"sub_user_id": 0
}
{
"access_token": "eyJhbGciOiJIUzI1NiJ9...",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "a170696c-8c1f-4eb5-81bd-391e29fbebc4",
"scope": "sms",
"user_id": 100001,
"sub_user_id": 0
}
invalid_request. İstek işlenemedi.
- application/problem+json
- Schema
- Example (auto)
Schema
- Array [
- ]
Hata tipinin URI tanımlayıcısı.
urn:problem-type:identity:invalid-credentialsHata tipinin kısa özeti.
Kimlik doğrulanamadıHTTP durum kodu.
401Son kullanıcıya gösterilebilir açıklama (Türkçe).
Kullanıcı adı veya şifre hatalı.İstek yolu.
/auth/v3/tokenMakine tarafından okunabilir kod. İstemci mantığınızı bu alana göre kurmalısınız.
Possible values: [invalid_request]
Destek talebinde iletilecek istek kimliği; X-Thread-Id yanıt başlığıyla aynıdır.
c7e54ee8-b831-427b-a5a5-af6b66cabbd0OAuth 2.0 hata kodu (RFC 6749 §5.2 / RFC 6750 §3.1), OAuth istemci kütüphaneleri için.
Possible values: [invalid_grant, invalid_token, invalid_scope, access_denied, invalid_request, temporarily_unavailable, server_error]
OAuth 2.0 hata açıklaması (İngilizce).
errors object
Yalnızca 422. Alan adı → mesaj listesi.
property name* string[]
Yalnızca service_not_activated ve sub_user_not_permitted. Token verilmesini engelleyen kapsamlar.
Yalnızca 429. Tekrar denemeden önce beklenecek süre (saniye).
{
"type": "urn:problem-type:identity:invalid-credentials",
"title": "Kimlik doğrulanamadı",
"status": 401,
"detail": "Kullanıcı adı veya şifre hatalı.",
"instance": "/auth/v3/token",
"code": "invalid_request",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0",
"error": "invalid_grant",
"error_description": "string",
"errors": {},
"denied_scopes": [
"string"
],
"retry_after": 0
}
invalid_refresh_token. Refresh token geçersiz, UUID değil, süresi dolmuş ya da oturum
sonlandırılmış. Kullanıcının yeniden giriş yapması (POST /token) gerekir.
Response Headers
Bearer.
- application/problem+json
- Schema
- Example (auto)
- Example
Schema
- Array [
- ]
Hata tipinin URI tanımlayıcısı.
urn:problem-type:identity:invalid-credentialsHata tipinin kısa özeti.
Kimlik doğrulanamadıHTTP durum kodu.
401Son kullanıcıya gösterilebilir açıklama (Türkçe).
Kullanıcı adı veya şifre hatalı.İstek yolu.
/auth/v3/tokenMakine tarafından okunabilir kod. İstemci mantığınızı bu alana göre kurmalısınız.
Possible values: [invalid_refresh_token]
Destek talebinde iletilecek istek kimliği; X-Thread-Id yanıt başlığıyla aynıdır.
c7e54ee8-b831-427b-a5a5-af6b66cabbd0OAuth 2.0 hata kodu (RFC 6749 §5.2 / RFC 6750 §3.1), OAuth istemci kütüphaneleri için.
Possible values: [invalid_grant, invalid_token, invalid_scope, access_denied, invalid_request, temporarily_unavailable, server_error]
OAuth 2.0 hata açıklaması (İngilizce).
errors object
Yalnızca 422. Alan adı → mesaj listesi.
property name* string[]
Yalnızca service_not_activated ve sub_user_not_permitted. Token verilmesini engelleyen kapsamlar.
Yalnızca 429. Tekrar denemeden önce beklenecek süre (saniye).
{
"type": "urn:problem-type:identity:invalid-credentials",
"title": "Kimlik doğrulanamadı",
"status": 401,
"detail": "Kullanıcı adı veya şifre hatalı.",
"instance": "/auth/v3/token",
"code": "invalid_refresh_token",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0",
"error": "invalid_grant",
"error_description": "string",
"errors": {},
"denied_scopes": [
"string"
],
"retry_after": 0
}
{
"type": "urn:problem-type:identity:invalid-refresh-token",
"title": "Refresh token geçersiz",
"status": 401,
"detail": "Oturum süresi dolmuş veya sonlandırılmış. Lütfen yeniden giriş yapın.",
"instance": "/auth/v3/token/refresh",
"code": "invalid_refresh_token",
"error": "invalid_grant",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0"
}
Hesap kontrolleri yenilemede de yapılır; token alındıktan sonra değişen bir durum
(örneğin IP izni ya da hesabın aktifliği) yenilemeyi reddeder. code token almadaki
hesap kodlarından biridir.
| Kod | Ne zaman |
|---|---|
login_not_permitted | Bu hesapla giriş yapılamıyor. |
api_access_denied | Hesabın API erişimi yok. |
ip_not_allowed | Bu IP adresinden erişim izni yok. |
country_not_allowed | Hesabın yurt dışından erişim izni yok. |
account_inactive | Hesap aktif değil. |
service_not_activated | Token'ın kapsamındaki hizmet artık hesapta aktif değil; denied_scopes ilgili kapsamları listeler. |
sub_user_not_permitted | Alt kullanıcının token'ın kapsamındaki hizmete yetkisi artık yok; denied_scopes ilgili kapsamları listeler. |
- application/problem+json
- Schema
- Example (auto)
- Example
Schema
- Array [
- ]
Hata tipinin URI tanımlayıcısı.
urn:problem-type:identity:invalid-credentialsHata tipinin kısa özeti.
Kimlik doğrulanamadıHTTP durum kodu.
401Son kullanıcıya gösterilebilir açıklama (Türkçe).
Kullanıcı adı veya şifre hatalı.İstek yolu.
/auth/v3/tokenMakine tarafından okunabilir kod. İstemci mantığınızı bu alana göre kurmalısınız.
Possible values: [account_inactive, api_access_denied, country_not_allowed, ip_not_allowed, login_not_permitted, service_not_activated, sub_user_not_permitted]
Destek talebinde iletilecek istek kimliği; X-Thread-Id yanıt başlığıyla aynıdır.
c7e54ee8-b831-427b-a5a5-af6b66cabbd0OAuth 2.0 hata kodu (RFC 6749 §5.2 / RFC 6750 §3.1), OAuth istemci kütüphaneleri için.
Possible values: [invalid_grant, invalid_token, invalid_scope, access_denied, invalid_request, temporarily_unavailable, server_error]
OAuth 2.0 hata açıklaması (İngilizce).
errors object
Yalnızca 422. Alan adı → mesaj listesi.
property name* string[]
Yalnızca service_not_activated ve sub_user_not_permitted. Token verilmesini engelleyen kapsamlar.
Yalnızca 429. Tekrar denemeden önce beklenecek süre (saniye).
{
"type": "urn:problem-type:identity:invalid-credentials",
"title": "Kimlik doğrulanamadı",
"status": 401,
"detail": "Kullanıcı adı veya şifre hatalı.",
"instance": "/auth/v3/token",
"code": "account_inactive",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0",
"error": "invalid_grant",
"error_description": "string",
"errors": {},
"denied_scopes": [
"string"
],
"retry_after": 0
}
{
"type": "urn:problem-type:identity:ip-not-allowed",
"title": "IP adresine izin yok",
"status": 403,
"detail": "Bu IP adresinden erişim izni bulunmuyor.",
"instance": "/auth/v3/token/refresh",
"code": "ip_not_allowed",
"error": "access_denied",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0"
}
validation_failed. Girdi eksik ya da hatalı; errors her alan için mesajları listeler.
Alanlar query string'de gönderildiğinde de bu hata döner.
- application/problem+json
- Schema
- Example (auto)
- Example
Schema
- Array [
- ]
Hata tipinin URI tanımlayıcısı.
urn:problem-type:identity:invalid-credentialsHata tipinin kısa özeti.
Kimlik doğrulanamadıHTTP durum kodu.
401Son kullanıcıya gösterilebilir açıklama (Türkçe).
Kullanıcı adı veya şifre hatalı.İstek yolu.
/auth/v3/tokenMakine tarafından okunabilir kod. İstemci mantığınızı bu alana göre kurmalısınız.
Possible values: [validation_failed]
Destek talebinde iletilecek istek kimliği; X-Thread-Id yanıt başlığıyla aynıdır.
c7e54ee8-b831-427b-a5a5-af6b66cabbd0OAuth 2.0 hata kodu (RFC 6749 §5.2 / RFC 6750 §3.1), OAuth istemci kütüphaneleri için.
Possible values: [invalid_grant, invalid_token, invalid_scope, access_denied, invalid_request, temporarily_unavailable, server_error]
OAuth 2.0 hata açıklaması (İngilizce).
errors object
Yalnızca 422. Alan adı → mesaj listesi.
property name* string[]
Yalnızca service_not_activated ve sub_user_not_permitted. Token verilmesini engelleyen kapsamlar.
Yalnızca 429. Tekrar denemeden önce beklenecek süre (saniye).
{
"type": "urn:problem-type:identity:invalid-credentials",
"title": "Kimlik doğrulanamadı",
"status": 401,
"detail": "Kullanıcı adı veya şifre hatalı.",
"instance": "/auth/v3/token",
"code": "validation_failed",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0",
"error": "invalid_grant",
"error_description": "string",
"errors": {},
"denied_scopes": [
"string"
],
"retry_after": 0
}
{
"type": "urn:problem-type:identity:validation-failed",
"title": "Doğrulama hatası",
"status": 422,
"detail": "Girilen bilgiler eksik veya hatalı.",
"instance": "/auth/v3/token",
"code": "validation_failed",
"error": "invalid_request",
"errors": {
"username": [
"Kullanıcı adı alanı zorunludur."
],
"password": [
"Şifre alanı zorunludur."
]
},
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0"
}
rate_limited. IP başına dakikada 60 istek aşıldı.
Response Headers
Tekrar denemeden önce beklenecek süre (saniye).
- application/problem+json
- Schema
- Example (auto)
- Example
Schema
- Array [
- ]
Hata tipinin URI tanımlayıcısı.
urn:problem-type:identity:invalid-credentialsHata tipinin kısa özeti.
Kimlik doğrulanamadıHTTP durum kodu.
401Son kullanıcıya gösterilebilir açıklama (Türkçe).
Kullanıcı adı veya şifre hatalı.İstek yolu.
/auth/v3/tokenMakine tarafından okunabilir kod. İstemci mantığınızı bu alana göre kurmalısınız.
Possible values: [rate_limited]
Destek talebinde iletilecek istek kimliği; X-Thread-Id yanıt başlığıyla aynıdır.
c7e54ee8-b831-427b-a5a5-af6b66cabbd0OAuth 2.0 hata kodu (RFC 6749 §5.2 / RFC 6750 §3.1), OAuth istemci kütüphaneleri için.
Possible values: [invalid_grant, invalid_token, invalid_scope, access_denied, invalid_request, temporarily_unavailable, server_error]
OAuth 2.0 hata açıklaması (İngilizce).
errors object
Yalnızca 422. Alan adı → mesaj listesi.
property name* string[]
Yalnızca service_not_activated ve sub_user_not_permitted. Token verilmesini engelleyen kapsamlar.
Yalnızca 429. Tekrar denemeden önce beklenecek süre (saniye).
{
"type": "urn:problem-type:identity:invalid-credentials",
"title": "Kimlik doğrulanamadı",
"status": 401,
"detail": "Kullanıcı adı veya şifre hatalı.",
"instance": "/auth/v3/token",
"code": "rate_limited",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0",
"error": "invalid_grant",
"error_description": "string",
"errors": {},
"denied_scopes": [
"string"
],
"retry_after": 0
}
{
"type": "urn:problem-type:identity:rate-limited",
"title": "İstek limiti aşıldı",
"status": 429,
"detail": "Çok fazla istek gönderildi. Lütfen daha sonra tekrar deneyin.",
"instance": "/auth/v3/token/refresh",
"code": "rate_limited",
"error": "temporarily_unavailable",
"retry_after": 42,
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0"
}
service_misconfigured. Sunucu tarafı yapılandırma hatası; kimlik doğrulama servisi isteği şu an işleyemiyor.
- application/problem+json
- Schema
- Example (auto)
Schema
- Array [
- ]
Hata tipinin URI tanımlayıcısı.
urn:problem-type:identity:invalid-credentialsHata tipinin kısa özeti.
Kimlik doğrulanamadıHTTP durum kodu.
401Son kullanıcıya gösterilebilir açıklama (Türkçe).
Kullanıcı adı veya şifre hatalı.İstek yolu.
/auth/v3/tokenMakine tarafından okunabilir kod. İstemci mantığınızı bu alana göre kurmalısınız.
Possible values: [service_misconfigured]
Destek talebinde iletilecek istek kimliği; X-Thread-Id yanıt başlığıyla aynıdır.
c7e54ee8-b831-427b-a5a5-af6b66cabbd0OAuth 2.0 hata kodu (RFC 6749 §5.2 / RFC 6750 §3.1), OAuth istemci kütüphaneleri için.
Possible values: [invalid_grant, invalid_token, invalid_scope, access_denied, invalid_request, temporarily_unavailable, server_error]
OAuth 2.0 hata açıklaması (İngilizce).
errors object
Yalnızca 422. Alan adı → mesaj listesi.
property name* string[]
Yalnızca service_not_activated ve sub_user_not_permitted. Token verilmesini engelleyen kapsamlar.
Yalnızca 429. Tekrar denemeden önce beklenecek süre (saniye).
{
"type": "urn:problem-type:identity:invalid-credentials",
"title": "Kimlik doğrulanamadı",
"status": 401,
"detail": "Kullanıcı adı veya şifre hatalı.",
"instance": "/auth/v3/token",
"code": "service_misconfigured",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0",
"error": "invalid_grant",
"error_description": "string",
"errors": {},
"denied_scopes": [
"string"
],
"retry_after": 0
}
service_unavailable. Kimlik doğrulama altyapısına şu an ulaşılamıyor; isteği biraz sonra
tekrar gönderebilirsiniz. Servis geçici olarak istek almayı durdurduysa Retry-After
beklenecek süreyi verir.
Response Headers
Tekrar denemeden önce beklenecek süre (saniye).
- application/problem+json
- Schema
- Example (auto)
Schema
- Array [
- ]
Hata tipinin URI tanımlayıcısı.
urn:problem-type:identity:invalid-credentialsHata tipinin kısa özeti.
Kimlik doğrulanamadıHTTP durum kodu.
401Son kullanıcıya gösterilebilir açıklama (Türkçe).
Kullanıcı adı veya şifre hatalı.İstek yolu.
/auth/v3/tokenMakine tarafından okunabilir kod. İstemci mantığınızı bu alana göre kurmalısınız.
Possible values: [service_unavailable]
Destek talebinde iletilecek istek kimliği; X-Thread-Id yanıt başlığıyla aynıdır.
c7e54ee8-b831-427b-a5a5-af6b66cabbd0OAuth 2.0 hata kodu (RFC 6749 §5.2 / RFC 6750 §3.1), OAuth istemci kütüphaneleri için.
Possible values: [invalid_grant, invalid_token, invalid_scope, access_denied, invalid_request, temporarily_unavailable, server_error]
OAuth 2.0 hata açıklaması (İngilizce).
errors object
Yalnızca 422. Alan adı → mesaj listesi.
property name* string[]
Yalnızca service_not_activated ve sub_user_not_permitted. Token verilmesini engelleyen kapsamlar.
Yalnızca 429. Tekrar denemeden önce beklenecek süre (saniye).
{
"type": "urn:problem-type:identity:invalid-credentials",
"title": "Kimlik doğrulanamadı",
"status": 401,
"detail": "Kullanıcı adı veya şifre hatalı.",
"instance": "/auth/v3/token",
"code": "service_unavailable",
"request_id": "c7e54ee8-b831-427b-a5a5-af6b66cabbd0",
"error": "invalid_grant",
"error_description": "string",
"errors": {},
"denied_scopes": [
"string"
],
"retry_after": 0
}
Örnek istek
curl -X POST 'https://ext-api.netgsm.com.tr/auth/v3/token/refresh' \
-H 'Content-Type: application/json' \
-d '{
"refresh_token": "a170696c-8c1f-4eb5-81bd-391e29fbebc4"
}'