وب سرویس پیام صوتی

وب سرویس ها برنامه (قطعه کد) هایی هستند که تحت وب قابل دسترسی اند و از طریق پروتکل های استانداردی مانند Http به انتقال و مبادله دیتا با سایر برنامه های کاربردی می پردازند. اساس کار وب سرویس (Web Service) ها بر پایه دریافت و تولید پیغام بنیان گذاری شده است. بدین معنی که آنها منتظر می مانند که کلاینت ها به آنها وصل شده و بنا به درخواست کلاینت ها به آن ها پاسخ می دهند . راه ارتباطی انتقال این پیغام ها یک آدرس است که شما میتوانید با افزودن آن در برنامه خود از خصوصیات آن استفاده نمائید

http://<YourDomain>/soapwebservice.asmx

وب Api پیام صوتی

مخفف چیست؟ API به معنی رابط کاربردی برنامه نویسی یا Application Programming Interface و همچنین جنبه اساسی تشکیل وب 2 است. اما واقعا API چیست؟ ما در این مطلب به توضیح این موضوع خواهیم پرداخت. این کلمه توجه خاصی به رابط یا Interface دارد. اگر شما هر گونه تجربه ای در برنامه نویسی داشته باشید، همه معانی و مخفف ها با شنیدن کلمه Interface به ذهنتان می آید؛ اما ما بیشتر علاقمند به دانستن معنی کلاسیک و معمولی آن هستیم. یک رابط (Interface) یک مرز مشترک بین دو سیستم و سرویس جدا است. از جمله می توان این موضوع را برداشت کرد که بین این دو سیستم ارتباط برقرار است.

http://<YourDomain>/webservice3

شما در اینجا چه از وب سرویس استفاده نمائید و چه از وب Api متدهایی که میتوانید از آن استفاده نمائید یکسان هستند ، شما میتوانید متدها را با توضیحات کامل به علاوه ی ورودی ها و خروجی های آن مشاهده نمائید:
برای راحتی کار شما در پایان توضیحات هر متد نمونه کدهایی از زبان های رایج نیز برایتان فراهم شده است.

UploadMessage

از طریق این متد میتوانید فایل صوتی خود را که در قالب wav با فرمت PCM 8000h 16k mono تنظیم کرده اید، در سامانه آپلود و در ارسال ها استفاده نمایید.

ورودی ها


نامنوعشرح
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
TitleStringعنوان فایل صوتی شما
FileByte[ ] dicbinaryfile فایل صوتی شما که میبایست با پسوند wav و به صورت آرایه ای از نوع بایت باشد
فایل صوتی شما میبایست در قالب mono,8000Hz,16b بوده و حجم آن نیز از 5مگابایت بیشتر نباشد

خروجی ها


مقدار خروجیعنوان خروجی
-1اعتبارسنجی
-10فرمت نامناسب
-20خطای ناشناخته
-30اشکال در آپلود
بزرگتر از صفرآی دی پیام آپلود شده

نمونه کد ها

UploadMessage

var webservice = new voiceMessage.WebService3();
OpenFileDialog openFileDialog1 = new OpenFileDialog();
try
{
    openFileDialog1.InitialDirectory = "c:\\";
    openFileDialog1.Filter = "wav files (*.wav)|*.wav|All files (*.*)|*.*";
    openFileDialog1.RestoreDirectory = true;
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        Byte[] bytes = System.IO.File.ReadAllBytes(openFileDialog1.FileName);
        textBox2.Text = webservice.UploadMessage(_Username, _Password, textBox1.Text, bytes).ToString();
    }
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

DownloadMessage

با استفاده از این شما میتوانید به فایل های آپلود شده در پنل دسترسی داشته باشید.

ورودی ها


نامنوعشرح
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
messageIdintکد فایل صوتی

خروجی ها


مقدار خروجیعنوان خروجی
nullاعتبارسنجی و یا عدم وجود فایل

نمونه کد ها

DownloadMessage

var webservice = new voiceMessage.WebService3();
try
{
    textBox2.Text = webservice.DownloadMessage(_Username, _Password, Convert.ToInt32(textBox1.Text)).ToString();
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

DeleteMessage

از طریق این متد می توانید فایل آپلود شده در سامانه را حذف نمایید.

ورودی ها


نامنوعشرح
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
messageIdintکد [id] فایل آپلود شده

خروجی ها


مقدار خروجیعنوان خروجی
falseاعتبارسنجی یا عدم وجود فایل
trueانجام موفقیت آمیز

نمونه کد ها

DeleteMessage

var webservice = new voiceMessage.WebService3();
try
{
    textBox2.Text = webservice.DeleteMessage(_Username, _Password, Convert.ToInt32(textBox1.Text)).ToString();
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

CreateCampaign

از طریق این متد میتوانید یک لیست ارسال ایجاد و در صورت تماید ارسال نمایید

ورودی ها


نامنوعشرح
userNamestringمتن ساده
passwordstringمتن ساده
titlestringعنوان لیست ارسال
numbersstringشماره های لیست ارسال. شمارها باید با کما “,” از هم جدا شوند
maxTryCountintحداکثر تعداد تلاش برای هر شماره
minuteBetweenTriesintمدت تاخیر بین تلاش ها بر اسا دقیقه
startDatestring2116-11- تاریخ شروع ارسال لیست به میلادی. مانند: 11
startTimestringساعت شروع ارسال لیست. مانند: 18:11
endDatestring2116-11- تاریخ خاتمه ارسال لیست به میلادی. مانند: 11
endTimestringساعت خاتمه ارسال لیست. مانند: 18:11
messageIdintکد [id] پیام صوتی آپلود شده در سامانه
removeInvalidsboolحذف شماره های اشتباه و تکراری بصورت خودکار
autoStartboolشروع خودکار لیست پس از ایجاد
voteboolفعال سازی امکان نظرسنجی بر روی تماس ها
serverIdintکد سرور ارسال کننده پیام

خروجی ها


مقدار خروجیعنوان خروجی
-1اعتبارسنجی
-30لیست ارسال وجود ندارد
-50کمبود اعتبار
-60کد پیام ناصحیح
-70اطلاعات لیست ارسال صحیح نیست
بزرگتر از صفرکد لیست ایجاد شده
نکته: serverId پارامتر جدیدی است که برای انتخاب شماره ارسال کننده پیام(سرور) گذاشته شده است.
شما میتوانید برای ارسال پیام های خود یکی از گزینه های زیر را انتخاب کنید:
ارسال از مشهدعدد 1
ارسال از مازندرانعدد 15
تهران شمال20
تهران جنوب25
تهران شرق30
تهران غرب35
خراسان شمالی40

نمونه کد ها

CreateCampaign

var webservice = new voiceMessage.WebService3();
try
{
    txtResult.Text = webservice.CreateCampaign(_Username, _Password,
        txtTitle.Text,
        txtNumbers.Text,
        Convert.ToInt32(ddlMaxTryCount.Text),
        Convert.ToInt32(ddlMinuteBetweenTry.Text),
        dtpStartDate.Value.Date.ToShortDateString(),
        txtStartTime.Text,
        dtpEndDate.Value.Date.ToShortDateString(),
        txtEndTime.Text,
        Convert.ToInt32(ddlMessages.SelectedValue),
        cbRemoveInvalids.Checked,
        cbStart.Checked,
        serverId.text
        cbVote.Checked).ToString();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

StartCampaign Method

از طریق این متد می توانید اقدام به ارسال یک لیست ارسال ایجاد شده نمایید.

ورودی ها


نامنوعشرح
usernamestringمتن ساده
passwordstringstring
campaignidintکد [id] لیست ارسال موردنظر
titlestringعنوان لیست ارسال
numbersstringشماره های لیست ارسال. شمارها باید با کما “,” از هم جدا شوند
maxtrycountintحداکثر تعداد تلاش برای هر شماره
minutebetweentriesintمدت تاخیر بین تلاش ها بر اسا دقیقه
startdatestring2116-11- تاریخ شروع ارسال لیست به میلادی. مانند: 11
starttimestringساعت شروع ارسال لیست. مانند: 18:11
enddatestring2116-11- تاریخ خاتمه ارسال لیست به میلادی. مانند: 11
endtimestringساعت خاتمه ارسال لیست. مانند: 18:11
serverIdintکد سرور ارسال کننده پیام

خروجی ها


مقدار خروجیعنوان خروجی
-1اعتبارسنجی
-20 لیست ارسال وجود ندارد یا در وضعیت در حال ارسال است
-30لیست ارسال وجود ندارد
-50اعتبار کافی نیست
بزرگتر از صفرکد لیست ایجاد شده
نکته: serverId پارامتر جدیدی است که برای انتخاب شماره ارسال کننده پیام(سرور) گذاشته شده است.
شما میتوانید برای ارسال پیام های خود یکی از گزینه های زیر را انتخاب کنید:
ارسال از مشهدعدد 1
ارسال از مازندرانعدد 15
تهران شمال20
تهران جنوب25
تهران شرق30
تهران غرب35
خراسان شمالی40

نمونه کد ها

StartCampaign Method

var webservice = new voiceMessage.WebService3();
try
{
    txtResult.Text = webservice.StartCampaign(_Username, _Password,
       _campaignId,
       _Title,
        _Numbers,
       _maxTryCount,
        _minuteBetweenTrys,
       _startDate,
       _startTime,
        _endDate,
       _endTime,
        _serverId
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

StopCampaign

از طریق این متد می توانید اقدام به توقف یک لیست ارسال ایجاد شده و درحال ارسال نمایید.

ورودی ها


نامنوعشرح
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
campaignIdintکد [id] لیست ارسال موردنظر

خروجی ها


مقدار خروجیعنوان خروجی
falseاعتبارسنجی یا عدم وجود لیست ارسال
trueانجام موفقیت آمیز

نمونه کد ها

StopCampaign

var webservice = new voiceMessage.WebService3();
try
{
    textBox2.Text = webservice.StopCampaign(_Username, _Password, Convert.ToInt32(textBox1.Text)).ToString();
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

GetCampaignByDate

مــــتد دریافت نام و شماره شناسایی کاربــر

ورودی ها


نامنوعشرح
usernamestringمتن ساده
passwordstringمتن ساده
fromdatestring2116-11- تاریخ شروع به میلادی. مانند: 11
todatestring2116-11- تاریخ پایان به میلادی. مانند: 11

خروجی ها


خروجی این متد لیستی از لیست های ارسال ایجاد شده در بازه زمانی تعیین شده می باشد.
در صورتی که این متد مقدار null را بازگرداند به معنی این است که در قسمت اعتبارسنجی به مشکل خورده اید.

نمونه کد ها

GetCampaignByDate

var webservice = new voiceMessage.WebService3();
try
{
    dataGridView1.DataSource = webservice.GetCampaignsByDate(_Username, _Password, dateTimePicker1.Value.ToShortDateString(), dateTimePicker2.Value.ToShortDateString());
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GetCampaignById

از طریق این متد می توانید اطلاعات لیست های ایجاد شده را بر اساس کد [id] لیست دریافت نمایید.

ورودی ها


نامنوعشرح
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
campaignIdIntکد [id] لیست ارسال

خروجی ها


خروجی این متد اطلاعات لیست ارسال مورد نظر می باشد.
در صورتی که این متد مقدار null را بازگرداند به معنی این است که در قسمت اعتبارسنجی به مشکل خورده اید.
یکی از مشخصه های لیست خروجی statusid است که میتواند یکی از حالت ذیل باشد.
مقدار خروجیعنوان خروجی
8عدم تائید
9در انتظار
10تائید شده
11در حال ارسال
12تمام شده
27متوقف شده

نمونه کد ها

GetCampaignById

var webservice = new voiceMessage.WebService3();
try
{
    dataGridView1.DataSource = webservice.GetCampaignsByDate(_Username, _Password, dateTimePicker1.Value.ToShortDateString(), dateTimePicker2.Value.ToShortDateString());
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GetCampaignNumbersByCampaignId

از طریق این متد می توانید اطلاعات شماره های داخل یک لیست ارسال را بر اساس کد [id] لیست دریافت نمایید

ورودی ها


نامنوعشرح
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
campaignIdIntکد [id] لیست ارسال

خروجی ها


خروجی این متد لیست اطلاعات شماره های داخل لیست ارسال مورد نظر می باشد .
در صورتی که این متد مقدار null را بازگرداند به معنی این است که در قسمت اعتبارسنجی به مشکل خورده اید.
مقدار خروجیعنوان خروجی
3موفق
6عدم پاسخ
7مشغولی
4عدم دسترسی

نمونه کد ها

GetCampaignNumbersByCampaignId

var webservice = new voiceMessage.WebService3();
try
{
    dataGridView1.DataSource = webservice.GetCampaignNumbersByCampaignId(_Username, _Password, Convert.ToInt32(textBox1.Text));
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GetCampaignNumbersBySendDate

از طریق این متد می توانید اطلاعات شماره های ارسال شده داخل لیست های ارسال مختلف را در یک بازه زمانی تعیین شده دریافت نمایید.

ورودی ها


نامنوعشرح
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
fromDatestring2116-11- تاریخ شروع به میلادی. مانند: 11
toDatestring2116-11- تاریخ پایان به میلادی. مانند: 11

خروجی ها


خروجی این متد لیست اطلاعات شماره های ارسال شده داخل لیست ارسال مختلف در بازه زمانی مورد نظر می باشد.
در صورتی که این متد مقدار null را بازگرداند به معنی این است که در قسمت اعتبارسنجی به مشکل خورده اید.

نمونه کد ها

GetCampaignNumbersBySendDate

var webservice = new voiceMessage.WebService3();
try
{
    dataGridView1.DataSource = webservice.GetCampaignNumbersBySendDate(_Username, _Password, _fromDate,_ToDate);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GetCampaignNumbersDataByIds

از طریق این متد می توانید با ارسال رشته ای از کد های شماره (جدا شده توسط کاما "," ) اطلاعات آنهارا در قالب یک لیست دریافت نمایید

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
campaignNumberIdsstringرشته ای از کد های شماره )جدا شده توسط کاما “,” ) .

خروجی ها


خروجی این متد لیست اطلاعات شماره های ارسال شده داخل لیست ارسال مختلف در بازه زمانی مورد نظر می باشد.
در صورتی که این متد مقدار null را بازگرداند به معنی این است که در قسمت اعتبارسنجی به مشکل خورده اید.

نمونه کد ها

GetCampaignNumbersDataByIds

var webservice = new voiceMessage.WebService3();
try
{
    dataGridView1.DataSource = webservice.GetCampaignNumbersDataByIds(_Username, _Password, textBox1.Text);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GetCampaignNumberStatusById

از طریق این متد می توانید وضعیت ارسال یک شماره خاص را دریافت نمایید

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
campaignNumberIdintکد [id] شماره

خروجی ها


خروجی این متد یک عدد از نوع صحیح می باشد که مشخص کننده وضعیت ارسال شما است.
مقدار خروجیعنوان خروجی
-3ارسال شده
-2در انتظار
-1موفق
0عدم دسترسی
1,3عدم پاسخ
5,8مشغولی

نمونه کد ها

GetCampaignNumberStatusById

var webservice = new voiceMessage.WebService3();
try
{
    var model = webservice.GetCampaignNumberStatusById(_Username, _Password, Convert.ToInt32(textBox1.Text));
    var datatable = new DataTable();
    datatable.Columns.Add("property");
    datatable.Columns.Add("value");
    foreach (PropertyInfo propertyInfo in model.GetType().GetProperties())
    {
        var dr = datatable.NewRow();
        dr["property"] = propertyInfo.Name;
        dr["value"] = propertyInfo.GetValue(model, null);
        datatable.Rows.Add(dr);
    }
    dataGridView1.DataSource = datatable;
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GetCampaignNumbersStatusByIds

از طریق این متد می توانید با ارسال رشته ای از کد های شماره (جدا شده توسط کاما "," ) اطلاعات آنهارا در قالب یک لیست دریافت نمایید

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
campaignNumberIdsstringرشته ای از کد های شماره )جدا شده توسط کاما “,” ) .

خروجی ها


خروجی این متد لیست وضعیت شماره های ارسال شده داخل لیست ارسال مختلف در قالب یک رشته بصورت جداشده با کاما می باشد.
در صورتی که این متد مقدار null را بازگرداند به معنی این است که در قسمت اعتبارسنجی به مشکل خورده اید.
مقدار خروجیعنوان خروجی
-3ارسال شده
-2در انتظار
-1موفق
0عدم دسترسی
1,3عدم پاسخ
5,8مشغولی
nullاعتبارسنجی
-10تعداد بیشتر از 100
-20خطای ناشناخته

نمونه کد ها

GetCampaignNumberStatusById

var webservice = new voiceMessage.WebService3();
try
{
    var model = webservice.GetCampaignNumberStatusById(_Username, _Password, Convert.ToInt32(textBox1.Text));
    var datatable = new DataTable();
    datatable.Columns.Add("property");
    datatable.Columns.Add("value");
    foreach (PropertyInfo propertyInfo in model.GetType().GetProperties())
    {
        var dr = datatable.NewRow();
        dr["property"] = propertyInfo.Name;
        dr["value"] = propertyInfo.GetValue(model, null);
        datatable.Rows.Add(dr);
    }
    dataGridView1.DataSource = datatable;
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GenerateTTS

استفاده از سرویس تبدیل متن به صدا جهت تولید پیام صوتی

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
Speakerstringانتخاب گوینده - male برای گوینده اقا - female برای گوینده خانم
your Textstringمتن مورد نظر شما جهت تبدیل شدن به صوت
titlestringعنوان فایل صوتی
نکته: توجه نمایید به ازای هر درخواست به وب سرویس تبدیل متن به صدا،هزینه ای مشخص اعتبار از شما کسر می شود. (هزینه ی تولید صدا کاملا از هزینه ی ارسال مجزا می باشد)
به عنوان مثال اگر فایل شما 15 ثانیه شود، هزینه مازاد مشخص شده از حساب شما کسر خواهد شد و فرقی نمی کند که فایل تولیدی به یک نفر یا 10000 نفر ارسال شود
کسر این هزینه مازاد صرفا جهت جلوگیری از درخواست های نامربوط و خارج از سرویس می باشد.
این نکته را مدنظر داشته باشید که فقط استفاده از وب سرویس تبدیل متن به صدا این هزینه را دارد و در صورتی که شما از سرویس تبدیل متن به صدا درون پنل استفاده نمائید شامل هزینه نمی شود و رایگان است.
برای اطلاع از میزان هزینه مازاد به صفحه تعرفه ها مراجعه نمائید.

خروجی ها


مقدار خروجیعنوان خروجی
-1اعتبارسنجی
-2اشکال در آپلود
-3کمبود اعتبار
-4عدم اتصال به TTS
-5تعداد کاراکتر بیش از 1000 است
بزرگتر از صفرآی دی پیام آپلود شده

نمونه کد ها

GenerateTTS

var webservice = new voiceMessage.WebService3();
try
{
    textBox2.Text = webservice.GenerateTTS(_Username, _Password,_ChooseSpeaker,_YourText,true or false);
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

QuickSendWithTTS

استفاده از سرویس ویژه تبدیل متن به صدا

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
Texttextمتن مورد نظر شما جهت تبدیل شدن به صوت
numberstringشماره تماس
voteboolفعال سازی نظرسنجی بر روی ارسال
serverIdintکد سرور برای ارسال پیام
نکته: serverId پارامتر جدیدی است که برای انتخاب شماره ارسال کننده پیام(سرور) گذاشته شده است.
شما میتوانید برای ارسال پیام های خود یکی از گزینه های زیر را انتخاب کنید:
ارسال از مشهدعدد 1
ارسال از مازندرانعدد 15
تهران شمال20
تهران جنوب25
تهران شرق30
تهران غرب35
خراسان شمالی40

نکته: به ازای هر درخواست به وب سرویس تبدیل متن به صدا، معادل 10 ثانیه به هزینه ی فایل صوتی اضافه می گردد.
به عنوان مثال یک فایل 15 ثانیه ای، 15+10 یعنی 25 ثانیه محاسبه می گردد.
**** تفاوت متد QuickSendWithTTS با متد GenerateTTS در این است که این متد در هر بار درخواست محتوایی دیگر را درخواست داده لذا در هر درخواست هزینه ی مازاد (معادل یک ارسال 10 ثانیه ای) تعلق میگیرد.

خروجی ها


مقدار خروجیعنوان خروجی
-1اعتبارسنجی
-2اشکال در آپلود
-3کمبود اعتبار
-4عدم اتصال به TTS
-5تعداد کاراکتر بیشتر از 1000 است
-6خارج از محدوده زمانی ارسال است
بزرگتر از صفرآی دی پیام آپلود شده
نکته: serverId پارامتر جدیدی است که برای انتخاب شماره ارسال کننده پیام(سرور) گذاشته شده است.
شما میتوانید برای ارسال پیام های خود یکی از گزینه های زیر را انتخاب کنید:
ارسال از مشهدعدد 1
ارسال از مازندرانعدد 15
تهران شمال20
تهران جنوب25
تهران شرق30
تهران غرب35
خراسان شمالی40

نمونه کد ها

QuickSendWithTTS

var webservice = new voiceMessage.WebService3();
try
{
    textBox2.Text = webservice.QuickSendWithTTS(_Username, _Password,_Text, _number, _Vote,_serverId).ToString();
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

SendOTP

ارسال کد اعتبار سنجی

تذکر: تعداد کد ارسالی برای کاربر توسط OPT دارای محدودیت 4 تا 8 رقمی است . برای استفاده از حالات دیگر میتوانید همین سیستم را با استفاده از سرویس آوخوان پیاده سازی کنید.

نکته: این متد فقط جهت راحتی کار شما توسعه دهندگان ایجاد شده است و در واقع شما میتوانستید با استفاده از سرویس نواخوان به صورت دلخواه و بدون حد و مرز برای خود این سرویس را ایجاد نمائید.کافی است که شما عدد مورد نظر خود را رقم به رقم با کاما جدا کنید تا نواخوان عدد را به صورت کدی برای شما تبدیل به صوت کند.

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
Lengthintطول کد ( حداقل 4 و حداکثر 8)
numberstringشماره تماس
serverIdidکد سرور ارسال کننده پیام صوتی

خروجی ها


مقدار خروجیعنوان خروجی
-1مشکل در اعتبارسنجی
-2اشکال در آپلود
-3کمبود اعتبار
-4عدم اتصال به TTS
-5تعداد کاراکتر بیشتر از 1000 است
-6خارج از محدوده زمانی ارسال است
بزرگتر از صفریک کد با طول تعیین شده به صورت تصادفی
نکته: serverId پارامتر جدیدی است که برای انتخاب شماره ارسال کننده پیام(سرور) گذاشته شده است.
شما میتوانید برای ارسال پیام های خود یکی از گزینه های زیر را انتخاب کنید:
ارسال از مشهدعدد 1
ارسال از مازندرانعدد 15
تهران شمال20
تهران جنوب25
تهران شرق30
تهران غرب35
خراسان شمالی40

نمونه کد ها

SendOTP

var webservice = new navanak.WebService3();
try
{
    textBox2.Text = webservice.SendOTP(_Username, _Password,_lenght, _number,_serverId).ToString();
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

SendOCV

اعتبار سنجی با یک کلیک

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
numberstringشماره تماس
callbackUrlstringآدرس برگشت برای دریافت عدد وارد شده توسط کاربر
serverIdintکد سرور برای ارسال پیام

خروجی ها


مقدار خروجیعنوان خروجی
-1مشکل در اعتبارسنجی
-2اشکال در آپلود
-3کمبود اعتبار
-4عدم اتصال به TTS
-5تعداد کاراکتر بیشتر از 1000 است
-6خارج از محدوده زمانی ارسال است
بزرگتر از صفریک کد با طول تعیین شده به صورت تصادفی
نکته: serverId پارامتر جدیدی است که برای انتخاب شماره ارسال کننده پیام(سرور) گذاشته شده است.
شما میتوانید برای ارسال پیام های خود یکی از گزینه های زیر را انتخاب کنید:
ارسال از مشهدعدد 1
ارسال از مازندرانعدد 15
تهران شمال20
تهران جنوب25
تهران شرق30
تهران غرب35
خراسان شمالی40

نمونه کد ها

SendOCV

var webservice = new yourdomain.WebService3();
try
{
    textBox2.Text = webservice.SendOCV(_Username, _Password, _number,_callbackUrl,_serverId).ToString();
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

QuickSend

از طریق این متد می توانید برای یک شماره ارسال سریع انجام دهید.

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
messageIdidکد [id] لیست پیام آپلود شده
numberstringشماره تماس
voteboolفعال سازی نظرسنجی بر روی ارسال
serverIdintکد سرور برای ارسال پیام

خروجی ها


مقدار خروجیعنوان خروجی
-1اعتبارسنجی
-2شماره وارد نشده است
-3اعتبار کافی نیست
-6خارج از محدوده زمانی ارسال
نکته: serverId پارامتر جدیدی است که برای انتخاب شماره ارسال کننده پیام(سرور) گذاشته شده است.
شما میتوانید برای ارسال پیام های خود یکی از گزینه های زیر را انتخاب کنید:
ارسال از مشهدعدد 1
ارسال از مازندرانعدد 15
تهران شمال20
تهران جنوب25
تهران شرق30
تهران غرب35
خراسان شمالی40

نمونه کد ها

QuickSend

var webservice = new voiceMessage.WebService3();
try
{
    textBox2.Text = webservice.QuickSend(_Username, _Password, _messageId,_number, _Vote,_serverId).ToString();
}
catch (Exception ex)
{
    textBox2.Text = ex.Message;
}

GetQuickSend

از طریق این متد می توانید اطلاعات یک ارسال سریع را بر اساس کد [id] آن دریافت نمایید.

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
quickSendIdidکد [id] ارسال سریع
pricedecimal این پارامتر بصورت byref می باشد و پس از اجرای متد مقدار آن برابر با هزینه ارسال می باشد

خروجی ها


خروجی این متد از نوع CDRDetails میباشد وشامل کلیه اطلاعات ارسال سریع است.
در صورتی که مقدار بازگشتی null باشد یا اعتبارسنجی به مشکل خورده است و یا اینکه کد درخواستی شما موجود نمیباشد.

نمونه کد ها

GetQuickSend

var webservice = new voiceMessage.WebService3();
try
{
    decimal price = 0;
    var model = webservice.GetQuickSend(_Username, _Password, Convert.ToInt32(textBox1.Text),ref price);
    var datatable = new DataTable();
    datatable.Columns.Add("property");
    datatable.Columns.Add("value");
    foreach (PropertyInfo propertyInfo in model.GetType().GetProperties())
    {
        var dr = datatable.NewRow();
        dr["property"] = propertyInfo.Name;
        dr["value"] = propertyInfo.GetValue(model, null);
        datatable.Rows.Add(dr);
    }
    dataGridView1.DataSource = datatable;
    textBox2.Text = price.ToString();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GetTotalCostByDate

از طریق این متد می توانیدمجموع هزینه ارسال های خود را در یک بازه زمانی مشخص دریافت نمایید.

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی
fromDatestring2116-11- تاریخ شروع به میلادی. مانند: 11
toDatestring 2116-11- تاریخ پایان به میلادی. مانند: 11

خروجی ها


خروجی این متد از نوع عدد اعشاری برابر با مجموعه هزینه ارسال ها در بازه مشخص شده می باشد.
مقدار خروجیعنوان خروجی
-1اعتبارسنجی
بزرگتر از صفرکل مبلغ

نمونه کد ها

GetTotalCostByDate

var webservice = new voiceMessage.WebService3();
try
{
    textBox1.Text = webservice.GetTotalCostByDate(_Username, _Password, dateTimePicker1.Value.ToShortDateString(), dateTimePicker2.Value.ToShortDateString()).ToString();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

GetMessages

از طریق این متد می توانید لیست کلیه پیام های آپلود شده در سامانه را دریافت نمایید.

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی

خروجی ها


خروجی این متد لیست اطلاعات پیام های آپلود شده شامل کد و عنوان و... .
در صورت دریافت مقدار Null در هنگام بازگشت اعتبارسنجی مشکل داشته است.

نمونه کد ها

GetMessages

var webservice = new voiceMessage.WebService3();
dataGridView1.DataSource = webservice.GetMessages(_Username, _Password);

GetCredit

از طریق این متد می توانید اعتبارموجود پنل خود را دریافت نمایید

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی

خروجی ها


مقدار خروجیعنوان خروجی
-1اعتبارسنجی
بزرگتر از صفراعتبار موجود

نمونه کد ها

GetCredit

var webservice = new voiceMessage.WebService3();
try
{
    textBox1.Text = webservice.GetCredit(_Username, _Password).ToString();
}
catch (Exception ex)
{
    textBox1.Text = ex.Message;
}

GetExpirationDate

از طریق این متد می توانید تاریخ انقضا پنل را دریافت نمایید.

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی

خروجی ها


خروجی این متد از نوع رشته ای برابر با تاریخ شمسی انقضا پنل می باشد.
در صورت اینکه مقدار بازگشتی خالی باشد در اعتبارسنجی مشکل پیدا شده است.

نمونه کد ها

GetExpirationDate

var webservice = new voiceMessage.WebService3();
try
{
    textBox1.Text = webservice.GetExpirationDate(_Username, _Password).ToString();
}
catch (Exception ex)
{
    textBox1.Text = ex.Message;
}

GetPrices

از طریق این متد می توانید تعرفه های پنل خود را دریافت نمایید

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی

خروجی ها


خروجی این متد از نوع PriceViewModel برابر با تعرفه های پنل می باشد.
در صورت بازگشت مقدار Null اعتبارسنجی شما به مشکل خورده است.

نمونه کد ها

GetPrices

var webservice = new voiceMessage.WebService3();
try
{
    var model = webservice.GetPrices(_Username, _Password);
    var datatable = new DataTable();
    datatable.Columns.Add("property");
    datatable.Columns.Add("value");
    foreach (PropertyInfo propertyInfo in model.GetType().GetProperties())
    {
        var dr = datatable.NewRow();
        dr["property"] = propertyInfo.Name;
        dr["value"] = propertyInfo.GetValue(model, null);
        datatable.Rows.Add(dr);
    }
    dataGridView1.DataSource = datatable;
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

UserInfo

از طریق این متد می توانیداطلاعات حساب کاربری خود را دریافت نمایید.

ورودی ها


نامنوعتوضیحات
UserNameStringنام کاربری شما در سامانه پیام صوتی
PasswordStringرمز عبور شما در سامانه پیام صوتی

خروجی ها


خروجی این متد از نوع UserInfo برابر بااطلاعات حساب شما می باشد.
درصورت بازگشت مقدار Null نام کاربری یا رمز عبور شما مشکل داشته است ، به عبارت دیگر در اعتبار سنجی به مشکل خورده اید.

نمونه کد ها

UserInfo

                                            var webservice = new voiceMessage.WebService3();
try
{
    textBox1.Text = webservice.UserInfo(_Username, _Password).ToString();
}
catch (Exception ex)
{
    textBox1.Text = ex.Message;
}

Login Function

        function login() {
            var username = $('#username').val();
            var password = $('#password').val();
            $.ajax({
                url: 'http://<YourDomain>/account/ajaxlogin/',
                data: { username: username, password: password },
                type: 'POST',
                success: function (data) {
                    if (data.result) {
                        window.location = 'http://<YourDomain>/account/tokenlogin/?username=' + username + '&token=' + data.token;
                    }
                    else {
                        var error = '';
                        $.each(data.message, function (index, item) {
                            error += item + ',';
                        })
                        alert(error);
                    }
                }
            })
        }

SignUp Function

        function signup() {
            var fullname = $('#FullName').val();
            var lastname = $('#LastName').val();
            var mobile = $('#Mobile').val();
            var username = $('#UserName').val();
            var password = $('#Password').val();
            var refby = $('#refby').val();
            var confirmPassword = $('#ConfirmPassword').val();
            $.ajax({
                url: 'http://<YourDomain>/account/ajaxregister/',
                data: { fullname: fullname, mobile: mobile, username: username, password: password, confirmPassword: confirmPassword, refby: refby },
                type: 'POST',
                success: function (data) {
                    console.log()
                    if (data.result) {
                        window.location = 'http://<YourDomain>/account/tokenlogin/?username=' + username + '&token=' + data.token;
                    }
                    else {
                        var error = '';
                        $.each(data.message, function (index, item) {
                            error += item + ',';
                        })
                        alert(error);
                    }
                }
            })
        }

resetPassword Function

        function resetPassword() {
            var username = $('#forget_username').val();
            var mobile = $('#forget_mobile').val();
            $.ajax({
                url: 'http://<YourDomain>/account/AjaxResetPassword/',
                data: { username: username, mobile: mobile },
                type: 'POST',
                beforeSend: function () {
                    $('#btnResetPassword').html('لطفا کمی صبر نمایید...');
                    $('#btnResetPassword').attr('disabled', 'disabled');
                },
                success: function (data) {
                    if (data.result) {
                        showLogin();
                    }
                    var error = '';
                    $.each(data.message, function (index, item) {
                        error += item + ',';
                    })
                    alert(error);
                },
                complete: function () {
                    $('#btnResetPassword').html('بازیابی رمزعبور');
                    $('#btnResetPassword').removeAttr('disabled');
                }
            })
        }