# Refresh Token POST https://gatewayapi.insurapps.net/api/Authentication/RefreshToken Content-Type: application/json ## Token Yenileme (Refresh Token) Mevcut erişim token'ı süresi dolmadan veya dolduktan sonra, yenileme token'ı kullanarak yeni bir JWT erişim token'ı ve yenileme token'ı almayı sağlar. ### Uç Nokta (Endpoint) `POST {{baseUrl}}/api/Authentication/RefreshToken` --- ### Kimlik Doğrulama (Authentication) Bu istek, koleksiyon düzeyinde tanımlanan **Bearer Token** kimlik doğrulamasını devralır. `authToken` ortam değişkeni otomatik olarak kullanılır. --- ### İstek Gövdesi (Request Body) | Alan | Tür | Zorunlu | Açıklama | | --- | --- | --- | --- | | `Token` | string | ✅ | Mevcut JWT erişim token'ı. Ortam değişkeni `{{authToken}}` üzerinden otomatik olarak alınır. | | `RefreshToken` | string | ✅ | Daha önce giriş veya token yenileme işleminden elde edilen yenileme token'ı. Ortam değişkeni `{{refreshToken}}` üzerinden otomatik olarak alınır. | **Örnek İstek Gövdesi:** ``` json { "Token": "{{authToken}}", "RefreshToken": "{{refreshToken}}" } ``` --- ### Başarılı Yanıt (200 OK) Başarılı bir istekte HTTP `200 OK` durum kodu ile aşağıdaki JSON gövdesi döner: | Alan | Tür | Açıklama | | --- | --- | --- | | `Token` | string | Yeni oluşturulan JWT erişim token'ı. Sonraki kimlik doğrulamalı isteklerde kullanılır. | | `RefreshToken` | string | Yeni oluşturulan yenileme token'ı. Bir sonraki token yenileme işleminde kullanılır. | | `Expiration` | string (ISO 8601) | Yeni erişim token'ının süresinin dolacağı UTC tarih ve saat bilgisi. | **Örnek Başarılı Yanıt:** ``` json { "Token": "", "RefreshToken": "", "Expiration": "2026-03-13T12:13:15Z" } ``` --- ### Hatalı Yanıt (400 Bad Request) Geçersiz veya süresi dolmuş token bilgileri gönderildiğinde HTTP `400 Bad Request` durum kodu döner. **Örnek Hatalı Yanıt:** ``` Invalid Refresh Token ``` > ⚠️ Bu hata genellikle süresi dolmuş bir yenileme token'ı, geçersiz bir erişim token'ı veya daha önce kullanılmış bir yenileme token'ı gönderildiğinde oluşur. Bu durumda `Authentication Login` endpoint'i ile yeniden giriş yapmanız gerekmektedir. --- ### Post-Response Script Başarılı bir yanıt alındığında, aşağıdaki işlemler otomatik olarak gerçekleştirilir: - `Token` değeri `authToken` ortam değişkenine kaydedilir. - `RefreshToken` değeri `refreshToken` ortam değişkenine kaydedilir. Bu sayede sonraki isteklerde güncel token bilgileri otomatik olarak kullanılır. --- ### Kullanım 1. Öncelikle `Authentication Login` endpoint'i ile giriş yaparak ilk `authToken` ve `refreshToken` değerlerini elde edin. 2. Erişim token'ının süresi dolmadan veya dolduktan sonra bu endpoint'i çağırarak yeni token'lar alın. 3. Dönen değerler otomatik olarak ortam değişkenlerine kaydedildiğinden, sonraki isteklerde ek bir işlem yapmanıza gerek yoktur. > 🔄 Token yenileme işlemi, kullanıcının tekrar giriş yapmasına gerek kalmadan oturumun devam etmesini sağlar. Reference: https://docs.insurgateway.com/offline-api/authentication/refresh-token ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: collection version: 1.0.0 paths: /api/Authentication/RefreshToken: post: operationId: refresh-token summary: Refresh Token description: >- ## Token Yenileme (Refresh Token) Mevcut erişim token'ı süresi dolmadan veya dolduktan sonra, yenileme token'ı kullanarak yeni bir JWT erişim token'ı ve yenileme token'ı almayı sağlar. ### Uç Nokta (Endpoint) `POST {{baseUrl}}/api/Authentication/RefreshToken` --- ### Kimlik Doğrulama (Authentication) Bu istek, koleksiyon düzeyinde tanımlanan **Bearer Token** kimlik doğrulamasını devralır. `authToken` ortam değişkeni otomatik olarak kullanılır. --- ### İstek Gövdesi (Request Body) | Alan | Tür | Zorunlu | Açıklama | | --- | --- | --- | --- | | `Token` | string | ✅ | Mevcut JWT erişim token'ı. Ortam değişkeni `{{authToken}}` üzerinden otomatik olarak alınır. | | `RefreshToken` | string | ✅ | Daha önce giriş veya token yenileme işleminden elde edilen yenileme token'ı. Ortam değişkeni `{{refreshToken}}` üzerinden otomatik olarak alınır. | **Örnek İstek Gövdesi:** ``` json { "Token": "{{authToken}}", "RefreshToken": "{{refreshToken}}" } ``` --- ### Başarılı Yanıt (200 OK) Başarılı bir istekte HTTP `200 OK` durum kodu ile aşağıdaki JSON gövdesi döner: | Alan | Tür | Açıklama | | --- | --- | --- | | `Token` | string | Yeni oluşturulan JWT erişim token'ı. Sonraki kimlik doğrulamalı isteklerde kullanılır. | | `RefreshToken` | string | Yeni oluşturulan yenileme token'ı. Bir sonraki token yenileme işleminde kullanılır. | | `Expiration` | string (ISO 8601) | Yeni erişim token'ının süresinin dolacağı UTC tarih ve saat bilgisi. | **Örnek Başarılı Yanıt:** ``` json { "Token": "", "RefreshToken": "", "Expiration": "2026-03-13T12:13:15Z" } ``` --- ### Hatalı Yanıt (400 Bad Request) Geçersiz veya süresi dolmuş token bilgileri gönderildiğinde HTTP `400 Bad Request` durum kodu döner. **Örnek Hatalı Yanıt:** ``` Invalid Refresh Token ``` > ⚠️ Bu hata genellikle süresi dolmuş bir yenileme token'ı, geçersiz bir erişim token'ı veya daha önce kullanılmış bir yenileme token'ı gönderildiğinde oluşur. Bu durumda `Authentication Login` endpoint'i ile yeniden giriş yapmanız gerekmektedir. --- ### Post-Response Script Başarılı bir yanıt alındığında, aşağıdaki işlemler otomatik olarak gerçekleştirilir: - `Token` değeri `authToken` ortam değişkenine kaydedilir. - `RefreshToken` değeri `refreshToken` ortam değişkenine kaydedilir. Bu sayede sonraki isteklerde güncel token bilgileri otomatik olarak kullanılır. --- ### Kullanım 1. Öncelikle `Authentication Login` endpoint'i ile giriş yaparak ilk `authToken` ve `refreshToken` değerlerini elde edin. 2. Erişim token'ının süresi dolmadan veya dolduktan sonra bu endpoint'i çağırarak yeni token'lar alın. 3. Dönen değerler otomatik olarak ortam değişkenlerine kaydedildiğinden, sonraki isteklerde ek bir işlem yapmanıza gerek yoktur. > 🔄 Token yenileme işlemi, kullanıcının tekrar giriş yapmasına gerek kalmadan oturumun devam etmesini sağlar. tags: - subpackage_authentication parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Authentication_Refresh Token_Response_200' requestBody: content: application/json: schema: type: object properties: Token: type: string RefreshToken: type: string required: - Token - RefreshToken servers: - url: https://gatewayapi.insurapps.net components: schemas: Authentication_Refresh Token_Response_200: type: object properties: Token: type: string RefreshToken: type: string Expiration: type: string format: date-time required: - Token - RefreshToken - Expiration title: Authentication_Refresh Token_Response_200 securitySchemes: bearerAuth: type: http scheme: bearer ``` ## SDK Code Examples ```python Authentication_Refresh Token_example import requests url = "https://gatewayapi.insurapps.net/api/Authentication/RefreshToken" payload = { "Token": "{{authToken}}", "RefreshToken": "{{refreshToken}}" } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript Authentication_Refresh Token_example const url = 'https://gatewayapi.insurapps.net/api/Authentication/RefreshToken'; const options = { method: 'POST', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: '{"Token":"{{authToken}}","RefreshToken":"{{refreshToken}}"}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Authentication_Refresh Token_example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://gatewayapi.insurapps.net/api/Authentication/RefreshToken" payload := strings.NewReader("{\n \"Token\": \"{{authToken}}\",\n \"RefreshToken\": \"{{refreshToken}}\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Authentication_Refresh Token_example require 'uri' require 'net/http' url = URI("https://gatewayapi.insurapps.net/api/Authentication/RefreshToken") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n \"Token\": \"{{authToken}}\",\n \"RefreshToken\": \"{{refreshToken}}\"\n}" response = http.request(request) puts response.read_body ``` ```java Authentication_Refresh Token_example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://gatewayapi.insurapps.net/api/Authentication/RefreshToken") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"Token\": \"{{authToken}}\",\n \"RefreshToken\": \"{{refreshToken}}\"\n}") .asString(); ``` ```php Authentication_Refresh Token_example request('POST', 'https://gatewayapi.insurapps.net/api/Authentication/RefreshToken', [ 'body' => '{ "Token": "{{authToken}}", "RefreshToken": "{{refreshToken}}" }', 'headers' => [ 'Authorization' => 'Bearer ', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp Authentication_Refresh Token_example using RestSharp; var client = new RestClient("https://gatewayapi.insurapps.net/api/Authentication/RefreshToken"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"Token\": \"{{authToken}}\",\n \"RefreshToken\": \"{{refreshToken}}\"\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift Authentication_Refresh Token_example import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = [ "Token": "{{authToken}}", "RefreshToken": "{{refreshToken}}" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://gatewayapi.insurapps.net/api/Authentication/RefreshToken")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```