خرید گیفت کارت سریع و مطمئن

مستندات API دریافت توکن

اطلاعات پایه

POST

/auth/get-token

  • نام API: دریافت توکن احراز هویت
  • آدرس/auth/get-token
  • متد: POST

پارامترهای درخواست

هدرها

کلیدمقدارتوضیحات
Content-Typeapplication/jsonنوع محتوای درخواست

پارامترهای URL

 

پارامترنوعاجباریتوضیحات
consumer_keystringبلهکلید مصرف‌کننده برای احراز هویت
consumer_secretstringبلهرمز مصرف‌کننده برای احراز هویت

 

پاسخ‌های ممکن

موفقیت (۲۰۰ OK)

				
					{
  "message": "Token generated successfully"
}
				
			

هدرها:

  • Authorization: توکن JWT تولید شده

خطاها

۴۰۰ Bad Request - پارامترهای ناقص

				
					{
  "code": "rest_missing_credentials",
  "message": "Missing Consumer Key or Consumer Secret.",
  "data": {
    "status": 401
  }
}
				
			

۴۰۱ Unauthorized - کلید یا رمز مصرف‌کننده نامعتبر

				
					{
  "code": "rest_invalid_consumer_key_or_secret",
  "message": "Invalid Consumer Key or Secret.",
  "data": {
    "status": 401
  }
}
				
			

مثال‌های کد

cURL

				
					curl -X POST \
  '{base_url}/auth/get-token?consumer_key=ck_your_consumer_key&consumer_secret=cs_your_consumer_secret' \
  -H 'Content-Type: application/json'
				
			

PHP

				
					$ch = curl_init('{base_url}/auth/get-token?consumer_key=ck_your_consumer_key&consumer_secret=cs_your_consumer_secret');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
				
			

ASP.NET

				
					using (var client = new HttpClient())
{
    var response = await client.PostAsync(
        "{base_url}/auth/get-token?consumer_key=ck_your_consumer_key&consumer_secret=cs_your_consumer_secret",
        new StringContent("", Encoding.UTF8, "application/json")
    );
    var content = await response.Content.ReadAsStringAsync();
    var result = JsonConvert.DeserializeObject(content);
}
				
			

.NET Core

				
					public async Task GetToken()
{
    var client = _httpClientFactory.CreateClient();
    var response = await client.PostAsync(
        "{base_url}/auth/get-token?consumer_key=ck_your_consumer_key&consumer_secret=cs_your_consumer_secret",
        new StringContent("", Encoding.UTF8, "application/json")
    );
    var content = await response.Content.ReadAsStringAsync();
    return Ok(JsonConvert.DeserializeObject(content));
}
				
			

Python

				
					import requests

headers = {
    'Content-Type': 'application/json'
}

params = {
    'consumer_key': 'ck_your_consumer_key',
    'consumer_secret': 'cs_your_consumer_secret'
}

response = requests.post('{base_url}/auth/get-token', 
    headers=headers, 
    params=params)
data = response.json()
				
			

Node.js

				
					const axios = require('axios');

const response = await axios.post('{base_url}/auth/get-token', null, {
    headers: {
        'Content-Type': 'application/json'
    },
    params: {
        consumer_key: 'ck_your_consumer_key',
        consumer_secret: 'cs_your_consumer_secret'
    }
});

const data = response.data;
				
			

Java

				
					import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.URLEncoder;

String consumerKey = URLEncoder.encode("ck_your_consumer_key", "UTF-8");
String consumerSecret = URLEncoder.encode("cs_your_consumer_secret", "UTF-8");
String url = String.format("{base_url}/auth/get-token?consumer_key=%s&consumer_secret=%s", 
    consumerKey, consumerSecret);

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create(url))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse response = client.send(request, 
    HttpResponse.BodyHandlers.ofString());
String body = response.body();
				
			

Go

				
					package main

import (
    "fmt"
    "net/http"
    "net/url"
    "io/ioutil"
)

func main() {
    params := url.Values{}
    params.Add("consumer_key", "ck_your_consumer_key")
    params.Add("consumer_secret", "cs_your_consumer_secret")

    client := &http.Client{}
    req, _ := http.NewRequest("POST", 
        "{base_url}/auth/get-token?" + params.Encode(), 
        nil)
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
				
			

نکات مهم

  • توکن تولید شده به مدت ۱ ساعت معتبر است.
  • توکن در هدر Authorization برگردانده می‌شود.
  • برای استفاده از سایر API‌ها، باید این توکن را در هدر Authorization ارسال کنید.
  • استفاده از توکن در درخواست‌های بعدی به این صورت است: Authorization: Bearer {your_token}
  • توکن با استفاده از consumer_secret شما رمزنگاری شده است.
  • پیش از استفاده از توکن آن را رمزگشایی و عدم انقضای آن را بررسی کنید.

جستجو در گیفتی کارت

منوی اصلی گیفتی کارت