Authorization: Bearer <YourToken>
| userName | نام کاربری |
| password | کلمه عبور |
| domain | نام دامنه |
{
"userName": "Your username",
"password": "Your password",
"domain": "sms.smsafzar"
}
| 400 |
مقادیر پارامترهای ارسالی معتبر نمی باشند. (مقدار پارامتر errorCode در خروجی، برابر با عدد ۱۰۰۱ و مقدار پارامتر errorMessage شرح خطای مربوطه را نمایش می دهد. پارامتر validationErrors، آرایه ای شامل نام پارامتر (field) و شرح خطای مربوط به نامعتبر بودن مقدار پارامتر (errorMessage) می باشد.)
نمونه خروجی :
{
"errorCode": 1001,
"errorMessage": ".مقادیر پارامترهای ارسالی معتبر نمی باشند",
"validationErrors": [
{
"field": "UserName",
"errorMessage": ".حداقل طول فیلد [ نام کاربری ] 6 کاراکتر می باشد"
},
{
"field": "Password",
"errorMessage": ".حداقل طول فیلد [ کلمه عبور ] 8 کاراکتر می باشد"
}
]
}
|
| 401 |
خطای اهراز هویت رخ داده است. (اطلاعات حساب کاربری صحیح نمی باشد.) (مقدار پارامتر errorCode در خروجی، برابر با عدد ۴۰۱ و مقدار پارامتر errorMessage شرح خطای مربوطه می باشد.)
نمونه خروجی :
{
"errorCode": 401,
"errorMessage": ".خطای احراز هویت رخ داده است"
}
|
| 403 |
وز دسترسی به سرویس برای حساب کاربری تعریف نشده است. (مقدار پارامتر errorCode در خروجی، برابر با کد خطای مربوطه و مقدار پارامتر errorMessage علت عدم دسترسی کاربر به سرویس می باشد.)
(
لیست کدهای خطا
)
مجوز دسترسی به متد برای حساب کاربری تعریف نشده است. (مقدار پارامتر errorCode در خروجی، برابر با عدد ۱۰۰۵ و مقدار پارامتر errorMessage شرح خطای مربوطه می باشد.)
آدرس IP جهت دسترسی به سرویس معتبر نمی باشد. (مقدار پارامتر errorCode در خروجی، برابر با عدد ۱۰۰۶ و مقدار پارامتر errorMessage علت عدم دسترسی کاربر به سرویس می باشد.)
نمونه های مختلف خروجی :
{
"errorCode": 1004,
"errorMessage": ".مجوز دسترسی به سرویس برای حساب کاربری تعریف نشده است"
}
{
"errorCode": 1005,
"errorMessage": ".مجوز دسترسی به متد برای حساب کاربری تعریف نشده است"
}
{
"errorCode": 1006,
"errorMessage": ".آدرس آی پی جهت دسترسی به سرویس معتبر نمی باشد"
}
{
"errorCode": 1010,
"errorMessage": ".حساب کاربر غیر فعال می باشد"
}
{
"errorCode": 1011,
"errorMessage": ".حساب کاربر در تاریخ: 1403/01/01 منقضی شده است"
}
|
| 429 |
تعداد دفعات درخواست بیشتر از حد مجاز می باشد. (حداکثر تعداد درخواست ها در هر ثانیه 5 عدد می باشد.) (مقدار پارامتر errorCode در خروجی، برابر با عدد ۴۲۹ و مقدار پارامتر errorMessage شرح خطای مربوطه می باشد.)
نمونه خروجی :
{
"errorCode": 429,
"errorMessage": "تعداد درخواست های ارسالی بیش ار حد مجاز می باشد. [ حداکثر تعداد درخواست ها در هر ثانیه 5 عدد می باشد. ]"
}
|
| 500 |
خطایی در سرور رخ داده است. (مقدار پارامتر errorCode در خروجی، برابر با کد خطای مربوطه جهت ارائه به بخش پشتیبانی و مقدار پارامتر errorMessage شرح خطای مربوطه می باشد.)
نمونه خروجی :
{
"errorCode": 1000011011,
"errorMessage": "خطایی در سرور رخ داده است. | شناسه خطا : 1000011011"
}
|
| 200 |
اجرای موفقیت آمیز عملیات (پارامتر token در خروجی، حاوی مقدار توکن JWT می باشد.)
نمونه خروجی :
{
"token": "ltQZ6Yr3s-x5EZ2jg...."
}
|
curl -X POST https://api.smsafzar.ir/auth/token \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-H "Accept: application/json" \
-d '{
"userName": "YourUserName",
"password": "YourPassword",
"domain": "sms.smsafzar"
}'
using RestSharp;
using RestSharp.Authenticators;
var apiBaseUrl = "https://api.smsafzar.ir";
var accountJson = new
{
userName = "YourUserName",
password = "YourPassword",
domain = "sms.smsafzar"
};
// Options
var options = new RestClientOptions(apiBaseUrl);
// Client
var client = new RestClient(options);
// Request
var request = new RestRequest("auth/token");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddJsonBody(accountJson);
// Call
var response = await client.PostAsync(request);
Console.WriteLine($"Response Status Code: {(int)response.StatusCode}");
Console.WriteLine($"Response Content: {response.Content}");
import java.net.URI;
import java.net.HTTP.HttpClient;
import java.net.HTTP.HttpRequest;
import java.net.HTTP.HttpResponse;
import java.net.HTTP.HttpHeaders;
import java.net.HTTP.HttpRequest.BodyPublishers;
import java.nio.file.*;
try {
String apiBaseUrl = "https://api.smsafzar.ir";
Map<String, String> account = new HashMap<>();
accountJson.put("userName", "YourUserName");
accountJson.put("password", "YourPassword");
accountJson.put("domain", "sms.smsafzar");
ObjectMapper objectMapper = new ObjectMapper();
String requestBody = objectMapper.writeValueAsString(account);
// Client
HttpClient client = HttpClient.newHttpClient();
// Request
HttpRequest request = HttpRequest.newBuilder().uri(URI.create(apiBaseUrl + "/auth/token"))
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.header("Accept", "application/json")
.POST(BodyPublishers.ofString(requestBody))
.build();
// Call
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
//Response
int responseStatusCode = response.statusCode();
String responseContent = response.body();
System.out.println("Response Status Code: " + responseStatusCode);
System.out.println("Response Message: " + responseContent);
} catch (Exception e) {
e.printStackTrace();
}
import requests
api_base_url = "https://api.smsafzar.ir"
account_json = {
"userName": "YourUserName",
"password": "YourPassword",
"domain": "sms.smsafzar"
}
headers = {
"Cache-Control": "no-cache",
"Accept": "application/json"
}
# Call
response = requests.post(f"{api_base_url}/auth/token", json=account_json, headers=headers)
print(f"Response Status Code: {response.status_code}")
print(f"Response Content: {response.text}")
<?php
$apiBaseUrl = "https://api.smsafzar.ir";
$accountJson =json_encode([
'userName' => 'YourUserName',
'password' => 'YourPassword',
'domain' => 'sms.smsafzar'
]);
// Request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "{$apiBaseUrl}/auth/token");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $accountJson);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Cache-Control: no-cache',
'Accept: application/json'
]);
// Call
$response = curl_exec($ch);
// Response
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "Response Status Code: " . $httpStatusCode . "\n";
echo "Response Content: " . $response . "\n";
}
// Close the CURL session
curl_close($curl);
?>
const axios = require('axios');
const apiBaseUrl = 'https://api.smsafzar.ir';
const accountJson = {
userName: 'YourUserName',
password: 'YourPassword',
domain: 'sms.smsafzar'
};
const headers = {
'Cache-Control': 'no-cache',
'Accept': 'application/json',
'Content-Type': 'application/json'
};
// Request
axios.post(`${apiBaseUrl}/auth/token`, accountJson, { headers })
.then(response => {
// Response
console.log('Response Status Code:', response.status);
console.log('Response Content:', response.data);
})
.catch(error => {
console.error('Error:', error.response ? error.response.data : error.message);
});
let httpClient= inject(HttpClient);
let apiBaseUrl = 'https://api.smsafzar.ir';
const accountJson = {
userName: 'YourUserName',
password: 'YourPassword',
domain: 'sms.smsafzar'
};
let headers = new HttpHeaders({
'Cache-Control': 'no-cache',
'Accept': 'application/json',
'Content-Type': 'application/json'
});
// Request
this.HTTP.post(`${apiBaseUrl}/auth/token`, accountJson, { headers , observe: 'response' }).subscribe(response => {
// Response
console.log('Response Status Code:', response.status);
console.log('Response Content:', response.body);
}, error => {
console.error('Error:', error);
});
import React, { useState } from 'react';
const [responseStatusCode, setResponseStatusCode] = useState(null);
const [responseContent, setResponseContent] = useState('');
const apiBaseUrl = 'https://api.smsafzar.ir';
const accountJson = {
userName: 'YourUserName',
password: 'YourPassword',
domain: 'sms.smsafzar'
};
const headers = {
'Cache-Control': 'no-cache',
'Accept': 'application/json',
'Content-Type': 'application/json'
};
try {
// Request
const response = await fetch(`${apiBaseUrl}/auth/token`, {
method: 'POST',
headers: {
'Cache-Control': 'no-cache',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(accountJson),
});
// Response
const content = await response.json();
setResponseStatusCode(response.status);
setResponseContent(content);
console.log('Response Status Code:', response.status);
console.log('Response Content:', content);
} catch (error) {
console.error('Error:', error);
}