این راهنما جهت سهولت کار برنامه نویسانی طراحی شده است که قصد دارند امکانات ارسال و دریافت پیامک را به نرم افزار های کاربردی خود اضافه نمایند. وب سرویس rest خدماتی مانند ارسال پیام ، دریافت پیام ، دریافت وضعیت پیامهای ارسالی و... را برای کاربران فراهم می کند.
API مخفف واژگان Application Programming Interface به معنی «رابط های برنامه نویسی اپلیکیشن» می باشد. به طور خلاصه، Api این امکان را در اختیار یک برنامه نویس میدهد تا به برخی یا تمامی قابلیتهای یک نرمافزار دیگر دسترسی پیدا کند.
REST یا Representational State Transfer عبارت است از راه کارها و روشهایی که با استفاده از آنها میتوان به رد و بدل دیتا از طریق شبکه پرداخت. به عبارت دیگر، REST راهی ساده به منظور سازماندهی تعاملات بین سیستمهای مجزا از یکدیگر می باشد.
معماری REST دارای یکسری ویژگیها است که شاخص ترین آنها عبارتند از:
با این تفاسیر، Restful API ها به خدمت توسعه دهندگان وب آمدهاند تا فرایند توسعه ی وب، ایجاد تجربه ی کاربری بهتر، سهولت در استفاده از API ها و نقل و انتقال دادهها از طریق پروتکل Http را امکانپذیر سازند.
از این متد برای ارسال پیامک به صورت تکی و گروهی استفاده می شود.
ساختار URL:
http://www.ahra.ir/webservice/ahrarest.svc/SendSms
متد:
Post
پارامترهای ورودی:
Parameter | Location | Format | Description | Required |
---|---|---|---|---|
Domain | Body | String | نام دامنه | اجباری |
User | Body | String | نام کاربر | اجباری |
Password | Body | String | رمز عبور کاربر | اجباری |
From | Body | String | شماره فرستنده پیام (برای مثال 5000110003333) | اجباری |
To | Body | String | شماره گیرنده پیام (برای مثال 09122222222) | اجباری |
Message | Body | String | متنی که باید ارسال شود | اجباری |
Receivetype | Body | String | نحوه دریافت پیام (1 برای عادی و 2 برای فلش) | اختیاری |
Scheduledate | Body | Unixtime | تاریخ و زمان دقیق ارسال پیام بر اساس Unixtime (برای مثال 1549573525 ) که اگر قید نشود در همان لحظه پیام ارسال می شود | اختیاری |
نمونه کد خروجی:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.ahra.ir/webservice/ahrarest.svc/SendSms",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "domain=yourdomain&user=youruser&password=yourpass&to=09121111111&from=10000455&message=test",
CURLOPT_HTTPHEADER => ""
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
HttpResponse
.header("content-type", "application/x-www-form-urlencoded")
.body("domain=yourdomain&user=youruser&password=yourpass&to=09121111111&from=10000455&message=test")
.asString();
Install-Package RestSharp
var client = new RestClient(" https://www.ahra.ir/webservice/ahrarest.svc/SendSms ");
var request = new RestRequest(Method.POST);
request.AddParameter("Domain", "your Domain");
request.AddParameter("User", "your username");
request.AddParameter("Password", "your password");
request.AddParameter("From","20001234" );
request.AddParameter("To","09121111111" );
request.AddParameter("Message", "test");
request.AddParameter("Receivetype", "2");
request.AddParameter("Scheduledate", "1549573525");
IRestResponse response = client.Execute(request);
import requests
url = "https://www.ahra.ir/webservice/ahrarest.svc/SendSms "
payload = "domain=yourdomain&user=youruser&password=yourpass&to=09121111111&from=10000455&message=test"
headers = ""
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
var request = require("request");
var options = { method: 'POST',
url: ' https://www.ahra.ir/webservice/ahrarest.svc/SendSms ',
headers: '',
form:
{ domain: 'yourdomain',
user: 'youruser',
password: 'yourpassword',
to: '09121111111',
from: '10000455',
message: 'test'} };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
خروجی:
public enum ExceptionTypes
{
Successfull = 0,
Warning = -1,
Error = -2
}
: ErrHandler ساختار خروجی
{
public ExceptionTypes ExceptionType; // وضعیت اجرا و خطا
public string ExceptionCode; // کد خطا
public string ReturnValue; // مقدار برگشتی
public string[] aReturnValue; // جدول برگشتی
public String PersianErrorMessage; // پیغام خطا به فارسی
public String EnglishErrorMessage; // پیغام خطا به انگلیسی
}
: مثال
: Url نمونه صدا کردن وب سرویس از طریق
https://www.ahra.ir/webservice/ahrarest.svc/SendSms?domain=yourdomain&user=youruser&password=yourpassword&to=09121111111&from=10000455&message=test&Scheduledate=1549573525
https://www.ahra.ir/webservice/ahrarest.svc/xml/SendSms?domain=yourdomain&user=youruser&password=yourpassword&to=09121111111&from=10000455&message=test&Scheduledate=1549573525
: Post نمونه صدا کردن وب سرویس از طریق
: Xml نمونه ورودی
<SendRequestData xmlns="https://www.ahra.ir">
<Domain>yourdomain</Domain>
<From>10000455</From>
<Message>Ahra is a Star</Message>
<Password>yourpassword</Password>
<Receivetype>1</Receivetype>
<Scheduledate>1549573525</Scheduledate>
<To>09121111111</To>
<User>youruser</User>
</SendRequestData>
: Json نمونه ورودی
{
"Domain": "yourdomain",
"User":"youruser",
"Password":"yourpassword",
"From":"10000455",
"To":"09121111111",
"Message":"Ahra is a Star",
"Receivetype":"1",
"Scheduledate":"1549573525"
}
: ( در سی شارپ ( به نقاط قرمز دقت فرمایید UnixTimeStamp به DateTime روش تبدیل
public static double DateTimeToUnixTimestamp(DateTime dateTime)
{
DateTime unixStart = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
long unixTimeStampInTicks = (dateTime.ToUniversalTime() - unixStart).Ticks;
double retValue = (double)unixTimeStampInTicks / TimeSpan.TicksPerSecond;
return Math.Floor(retValue);
}
نتیجه نهایی:
{
"ExceptionType": "Successful",
"ExceptionCode":"0" در ارسال اگر ExceptionCode برابر صفر باشد یعنی عملیات با موفقیت انجام شده است در غیر این صورت کد خطای مربوطه می باشد,
}
نمونه خروجی Json بدون خطا :
{
"EnglishErrorMessage":"",
"ExceptionCode":"0",
"ExceptionType":0,
"PersianErrorMessage":"",
"ReturnValue":"5743965",
"aReturnValue":["30436928"]
}
نمونه خروجی Xml بدون خطا :
<ErrHandler xmlns="https://schemas.datacontract.org/2004/07/WebService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<EnglishErrorMessage />
<ExceptionCode>0</ExceptionCode>
<ExceptionType>Successfull</ExceptionType>
<PersianErrorMessage />
<ReturnValue>5743966</ReturnValue>
<aReturnValue xmlns:a="https://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:string>30436929</a:string>
</aReturnValue>
</ErrHandler>
{
"ExceptionType": "Error",.
"ExceptionCode":"-126" اگر ارسال انجام نشود کد خطا مربوطه بازگشت داده می شود .
}
نمونه خروجی Json با خطا :
{
"EnglishErrorMessage":"User Not Found!",
"ExceptionCode":"-1111080010",
"ExceptionType":-2,
"PersianErrorMessage":"چنین کاربری وجود ندارد",
"ReturnValue":"",
"aReturnValue":[]
}
نمونه خروجی Xml با خطا :
<ErrHandler xmlns="https://schemas.datacontract.org/2004/07/WebService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<EnglishErrorMessage>User Not Found!</EnglishErrorMessage>
<ExceptionCode>-1111080010</ExceptionCode>
<ExceptionType>Error</ExceptionType>
<PersianErrorMessage>چنین کاربری وجود ندارد</PersianErrorMessage>
<ReturnValue />
<aReturnValue xmlns:a="https://schemas.microsoft.com/2003/10/Serialization/Arrays" />
</ErrHandler>
از این متد برای گرفتن لیست پیام های دریافتی استفاده می شود، به ازای هر بار فراخوانی این متد 25 پیام بازگردانده می شود.
ساختار URL:
http://www.ahra.ir/webservice/ahrarest.svc/ReceiveSms
متد:
Post
پارامترهای ورودی:
Parameter | Location | Format | Description | Required |
---|---|---|---|---|
Domain | Body | String | نام دامنه | اجباری |
User | Body | String | نام کاربر | اجباری |
Password | Body | String | رمز عبور کاربر | اجباری |
FromId | Body | String | اگر مقداری وارد نشود پیام های خوانده نشده و اگر مقداری وارد شود همه پیام های ورودی که شناسه آنها بعد از FromId باشد بر می گردد، طول آرایه 25 می باشد | اجباری |
نمونه کد خروجی:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => " https://www.ahra.ir/webservice/ahrarest.svc/ReceiveSms ",
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "domain=yourdomain&user=youruser&password=yourpassword&FromId=123",
CURLOPT_HTTPHEADER =>""
,
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" .$err;
} else {
echo $response;
}
HttpResponse
.header()
.body("domain=yourdomain&user=youruser&password=yourpassword&FromId=123")
.asString();
Install-Package RestSharp
var client = new RestClient(" https://www.ahra.ir/webservice/ahrarest.svc/ReceiveSms");
var request = new RestRequest(Method.POST);
request.AddParameter("domain","yourdomain" );
request.AddParameter("User", "your username");
request.AddParameter("Password", "your password");
request.AddParameter("FromId","123" );
IRestResponse response = client.Execute(request);
import requests
url = " https://www.ahra.ir/webservice/ahrarest.svc/ReceiveSms "
payload = "domain=yourdomain&user=youruser&password=yourpassword&FromId=123"
headers = { }
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
var request = require("request");
var options = { method: 'POST',
url: ' https://www.ahra.ir/webservice/ahrarest.svc/ReceiveSms ',
headers:
{},
form: { domain: 'yourdomain',
user: 'youruser',
password: 'yourpassword',
FromId: '123'} };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
خروجی:
: خواهد بود DataTable ساختار خروجی از نوع
: Url نمونه صدا کردن وب سرویس از طریق
https://www.ahra.ir/webservice/ahrarest.svc/ReceiveSms?domain=yourdomain&user=youruser&password=yourpassword&FromId=123
: داشته باشیم Xml یا در صورتیکه بخواهیم خروجی
https://www.ahra.ir/webservice/ahrarest.svc/xml/ReceiveSms?domain=yourdomain&user=youruser&password=yourpassword&FromId=123
: Post نمونه صدا کردن وب سرویس از طریق
: Xml نمونه ورودی
<ReceiveRequestData xmlns="https://www.ahra.ir">
<Domain>yourdomain</Domain>
<FromId>1234</FromId>
<Password>yourpassword</Password>
<User>youruser</User>
</ReceiveRequestData>
: Json نمونه ورودی
{
"Domain": "yourdomain",
"User":"youruser",
"Password":"yourpassword",
"FromId":"1234"
}
نتیجه نهایی:
نمونه خروجی Json بدون خطا :
{
"<DataTable xmlns=\"http:\/\/schemas.datacontract.org\/2004\/07\/System.Data\">
<xs:schema id=\"NewDataSet\" xmlns:xs=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns=\"\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">
<xs:element name=\"NewDataSet\" msdata:IsDataSet=\"true\" msdata:MainDataTable=\"xml\" msdata:UseCurrentLocale=\"true\">
<xs:complexType>
<xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">
<xs:element name=\"xml\">
<xs:complexType>
<xs:sequence>
<xs:element name=\"order\" msdata:AutoIncrement=\"true\" msdata:AutoIncrementSeed=\"1\" type=\"xs:decimal\" minOccurs=\"0\"\ />
<xs:element name=\"GetId\" type=\"xs:int\" minOccurs=\"0\"\ />
<xs:element name=\"SenderMobileNo\" type=\"xs:string\" minOccurs=\"0\"\ />
<xs:element name=\"SendTime\" type=\"xs:dateTime\" minOccurs=\"0\"\ />
<xs:element name=\"Body\" type=\"xs:string\" minOccurs=\"0\"\ />
<xs:element name=\"LineNumber\" type=\"xs:string\" minOccurs=\"0\"\ />
<\/xs:sequence>
<\/xs:complexType>
<\/xs:element>
<\/xs:choice>
<\/xs:complexType>
<\/xs:element>
<\/xs:schema>
<diffgr:diffgram xmlns:diffgr=\"urn:schemas-microsoft-com:xml-diffgram-v1\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">
<DocumentElement xmlns=\"\">
<xml diffgr:id=\"xml1\" msdata:rowOrder=\"0\">
<order>1<\/order>
<GetId>5735948<\/GetId>
<SenderMobileNo>09339543718<\/SenderMobileNo>
<SendTime>2018-08-18T00:43:13+03:30<\/SendTime>
<Body>868840023185226<\/Body>
<LineNumber>10000455<\/LineNumber>
<\/xml><\/DocumentElement>
<\/diffgr:diffgram>
<\/DataTable>"
}
نمونه خروجی Xml بدون خطا :
<DataTable xmlns="https://schemas.datacontract.org/2004/07/System.Data">
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="xml" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="xml">
<xs:complexType>
<xs:sequence>
<xs:element name="order" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" type="xs:decimal" minOccurs="0" />
<xs:element name="GetId" type="xs:int" minOccurs="0" />
<xs:element name="SenderMobileNo" type="xs:string" minOccurs="0" />
<xs:element name="SendTime" type="xs:dateTime" minOccurs="0" />
<xs:element name="Body" type="xs:string" minOccurs="0" />
<xs:element name="LineNumber" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<DocumentElement xmlns="">
<xml diffgr:id="xml1" msdata:rowOrder="0">
<order>1</order>
<GetId>5735948</GetId>
<SenderMobileNo>09339543718</SenderMobileNo>
<SendTime>2018-08-18T00:43:13+03:30</SendTime>
<Body>
868840023185226
</Body>
<LineNumber>10000455</LineNumber>
</xml>
</DocumentElement>
</diffgr:diffgram>
</DataTable>
{در صورت رخ دادن خطا جدول خروجی خالی خواهد بود و رکوردی نخواهد داشت .
}
برای دریافت وضعیت پیامک ارسالی به گیرنده از این متد استفاده می شود . کاربر می توان با هر بار فراخوانی این متد وضعیت 1 پیامک را دریافت کند . مقدار بازگشتی این متد می توانید مقدار صحیح شامل یکی از اعداد زیر باشد:
کد وضعیت:
کد | توضیحات |
---|---|
0 | وضعیت دریافت نشده است(یا پیامک در صف ارسال قرار دارد) |
1 | ایجاد شده |
2 | در انتظار ارسال به مخابرات |
3 | به مخابرات ارسال شده |
4 | به بی تی اس ارسال شده |
5 | رسیده به گوشی |
6 | در ارسال به بی تی اس ناکام مانده |
7 | در ارسال به مخابرات ناکام مانده |
8 | نرسیده به گوشی |
9 | کنسل شده |
10 | درلیست سیاه است |
11 | با خطا برگشته است |
12 | شماره مقصد غیر مجاز است |
ساختار URL:
http://www.ahra.ir/webservice/ahrarest.svc/GetDeliveryStatus?domain=yourdomain&user=youruser&password=yourpassword&SmsId=30436922
متد:
Post
پارامترهای ورودی:
Parameter | Location | Format | Description | Required |
---|---|---|---|---|
Domain | Body | String | نام دامنه | اجباری |
User | Body | String | نام کاربر | اجباری |
Password | Body | String | رمز عبور کاربر | اجباری |
SmsId | Body | String | شناسه پیامک که در هنگام ارسال دریافت شده است | اجباری |
نمونه کد خروجی:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => " https://www.ahra.ir/webservice/ahrarest.svc/GetDeliveryStatus ",
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "domain=yourdomain&user=youruser&password=yourpassword&SmsId=123",
CURLOPT_HTTPHEADER =>""
,
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" .$err;
} else {
echo $response;
}
HttpResponse
.body("domain=yourdomain&user=youruser&password=yourpassword&SmsId=123456")
.asString();
Install-Package RestSharp
var client = new RestClient(" https://www.ahra.ir/webservice/ahrarest.svc/GetDeliveryStatus ");
var request = new RestRequest(Method.POST);request.AddParameter("domain","yourdomain" );
request.AddParameter("User", "your username");
request.AddParameter("Password", "your password");
request.AddParameter("SmsId","115041869" );
IRestResponse response = client.Execute(request);
import requests
url = " https://www.ahra.ir/webservice/ahrarest.svc/GetDeliveryStatus "
payload = "domain=yourdomain&user=youruser&password=yourpassword&SmsId=123456"
headers = { }
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
var request = require("request");
var options = { method: 'POST',
url: ' https://www.ahra.ir/webservice/ahrarest.svc/GetDeliveryStatus ',
headers:
{ },
form: { domain: 'yourdomain',
user: 'youruser',
password: 'yourpassword',
SmsId: '123456' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
خروجی:
{
5
}
نتیجه نهایی:
{
5
وضعیت پیامک تا این لحظه"}
{ اگر خطایی رخ داده باشد .
-1
"کاربر مجاز نیست",
-2
"پیامک یافت نشد",
}
این متد برای دریافت مشخصات کاربر می باشد
ساختار URL:
http://www.ahra.ir/webservice/ahrarest.svc/GetUserInfo
متد:
Post
پارامترهای ورودی:
Parameter | Location | Format | Description | Required |
---|---|---|---|---|
Domain | Body | String | نام دامنه | اجباری |
User | Body | String | نام کاربر | اجباری |
Password | Body | String | رمز عبور کاربر | اجباری |
نمونه کد خروجی:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.ahra.ir/webservice/ahrarest.svc/GetUserInfo",
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "domain=yourdomain&user=youruser&password=yourpassword",
CURLOPT_HTTPHEADER =>""
,
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" .$err;
} else {
echo $response;
}
HttpResponse
.body("domain=yourdomain&user=youruser&password=yourpassword")
.asString();
Install-Package RestSharp
var client = new RestClient("https://www.ahra.ir/webservice/ahrarest.svc/GetUserInfo");
var request = new RestRequest(Method.POST);request.AddParameter("domain","yourdomain" );
request.AddParameter("User", "your username");
request.AddParameter("Password", "your password");
IRestResponse response = client.Execute(request);
import requests
url = "https://www.ahra.ir/webservice/ahrarest.svc/GetUserInfo"
payload = "domain=yourdomain&user=youruser&password=yourpassword"
headers = { }
response = requests.request("POST", url, headers=headers)
print(response.text)
var request = require("request");
var options = { method: 'POST',
url: ' https://www.ahra.ir/webservice/ahrarest.svc/GetUserInfo',
headers:
{} form: { domain: 'yourdomain',
user: 'youruser',
password: 'yourpassword' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
خروجی:
: UserInfo ساختار خروجی
{
public Int64 SmsCredits = 0; // اعتبار پیامکی باقیمانده
public Int64 RialCredits = 0; // اعتبار ریالی باقیمانده
public DateTime LastLoginDateTime = DateTime.Now; // آخرین زمان ورود به پنل
public bool Found = false; // آیا کاربر یافت شد؟
public string CompanyName = "Unknown"; // نام شرکت
public string FirstName = "Unknown"; // نام
public string LastName = "Unknown"; // نام خانوادگی
public string MobileNo = "Unknown"; // شماره همراه
public string DomainName = "Unknown"; // نام دامنه
public string UserName = "Unknown"; // نام کاربری
public string EmailAddress = "Unknown"; // آدرس ایمیل
public bool Closed = false; // آیا اکانت کاربر بسته شده
public DateTime m_RegDate = DateTime.Now; // تاریخ ایجاد کاربر
public string DefaultSmsNumber = "Unknown"; // شماره پیامک پیش فرض
public string ParentCustomer = "Unknown"; // نام شرکت بالادستی یا معرف
public string EditionFarsiName = "Unknown"; // نسخه نرم افزار تحت وب
}
: مثال
: Url نمونه صدا کردن وب سرویس از طریق
https://www.ahra.ir/webservice/ahrarest.svc/GetUserInfo?domain=yourdomain&user=youruser&password=yourpassword
: داشته باشیم Xml یا در صورتیکه بخواهیم خروجی
https://www.ahra.ir/webservice/ahrarest.svc/xml/GetUserInfo?domain=yourdomain&user=youruser&password=yourpassword
: Post نمونه صدا کردن وب سرویس از طریق
: Xml نمونه ورودی
<GetUserInfoRequestData xmlns="https://www.ahra.ir">
<Domain>yourdomain</Domain>
<Password>yourpassword</Password>
<User>youruser</User>
</GetUserInfoRequestData>
: Json نمونه ورودی
{
"Domain": "yourdomain",
"User":"youruser",
"Password":"yourpassword"
}
نتیجه نهایی:
نمونه خروجی Json بدون خطا :
{
"Closed":false,
"CompanyName":"شرکت اهرا سامانه ایرانیان",
"DefaultSmsNumber":"10000455",
"DomainName":"ahra",
"EditionFarsiName":"ویژه",
"EmailAddress":"info@ahra.ir",
"FirstName":"ایرج",
"Found":true,
"LastLoginDateTime":"\/Date(1549664176518+0330)\/",
"LastName":"نظریان آزاد",
"MobileNo":"09121111111",
"ParentCustomer":"شرکت اهرا سامانه ایرانیان",
"RialCredits":17136016323,
"SmsCredits":222414565,
"UserName":"iazad",
"m_RegDate":"\/Date(1318278600000+0330)\/"
}
نمونه خروجی Xml بدون خطا :
<UserInfo xmlns="https://schemas.datacontract.org/2004/07/WebService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Closed>false</Closed>
<CompanyName>شرکت اهرا سامانه ایرانیان</CompanyName>
<DefaultSmsNumber>10000455</DefaultSmsNumber>
<DomainName>ahra</DomainName>
<EditionFarsiName>ویژه</EditionFarsiName>
<EmailAddress>info@ahra.ir </EmailAddress>
<FirstName>ایرج</FirstName>
<Found>true</Found>
<LastLoginDateTime>2019-02-09T02:05:12.2632088+03:30</LastLoginDateTime>
<LastName>نظریان آزاد</LastName>
<MobileNo>09121111111</MobileNo>
<ParentCustomer>شرکت اهرا سامانه ایرانیان</ParentCustomer>
<RialCredits>17136016323</RialCredits>
<SmsCredits>222414565</SmsCredits>
<UserName>iazad</UserName>
<m_RegDate>2011-10-11T00:00:00</m_RegDate>
</UserInfo>
نمونه خروجی Json با خطا :
{
"Closed":false,
"CompanyName":"Unknown",
"DefaultSmsNumber":"Unknown",
"DomainName":"Unknown",
"EditionFarsiName":"Unknown",
"EmailAddress":"Unknown",
"FirstName":"Unknown",
"Found":false,
"LastLoginDateTime":"\/Date(1549664176518+0330)\/",
"LastName":"Unknown",
"MobileNo":"Unknown",
"ParentCustomer":"Unknown",
"RialCredits":0,
"SmsCredits":0,
"UserName":"Unknown",
"m_RegDate":"\/Date(1318278600000+0330)\/"
}
نمونه خروجی Xml با خطا :
<UserInfo xmlns="https://schemas.datacontract.org/2004/07/WebService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Closed>false</Closed>
<CompanyName>Unknown</CompanyName>
<DefaultSmsNumber>Unknown</DefaultSmsNumber>
<DomainName>Unknown</DomainName>
<EditionFarsiName>Unknown</EditionFarsiName>
<EmailAddress>Unknown </EmailAddress>
<FirstName>Unknown</FirstName>
<Found>false</Found>
<LastLoginDateTime>2019-02-09T02:09:12.7576286+03:30</LastLoginDateTime>
<LastName>Unknown</LastName>
<MobileNo>Unknown</MobileNo>
<ParentCustomer>Unknown</ParentCustomer>
<RialCredits>0</RialCredits>
<SmsCredits>0</SmsCredits>
<UserName>Unknown</UserName>
<m_RegDate>2019-02-09T02:09:12.7576286+03:30</m_RegDate>
</UserInfo>