ملی پیامک یک وب سرویس کامل برای ارسال و دریافت پیامک و پیامک صوتی و مدیریت کامل خدمات دیگر است که براحتی میتوانید از آن استفاده کنید.
قبل از نصب نیاز به ثبت نام در سایت ملی پیامک دارید.
final String username = "username";
final String password = "password";
final String from = "5000...";
final String to = "09123456789";
final String text = "تست وب سرویس ملی پیامک";
final boolean isFlash = false;
SoapClient soapClient = new SoapClient(username, password);
soapClient.SendSimpleSMS2(to, from, text, isFlash);
//یا برای ارسال به مجموعه ای از مخاطبین
soapClient.SendSimpleSMS(new String[]{to}, from, text, isFlash);
از آنجا که وب سرویس ملی پیامک تنها محدود به ارسال پیامک نیست شما از طریق زیر میتوانید به وب سرویس ها دسترسی کامل داشته باشید:
// وب سرویس پیامک
RestClient restClient = new RestClient(username, password);
SoapClient soapClient = new SoapClient(username, password);
از آنجا که ملی پیامک وب سرویس کاملی رو در اختیار توسعه دهندگان میگزارد برای راحتی کار با وب سرویس پیامک علاوه بر وب سرویس اصلی soap وب سرویس rest رو هم در اختیار توسعه دهندگان گزاشته شده تا راحتتر بتوانند با وب سرویس کار کنند. تفاوت اصلی این دو در تعداد متد هاییست که میتوانید با آن کار کنید. برای کار های پایه میتوان از وب سرویس rest استفاده کرد برای دسترسی بیشتر و استفاده پیشرفته تر نیز باید از وب سرویس باید از وب سرویس soap استفاده کرد. جهت مطالعه بیشتر وب سرویس ها به قسمت وب سرویس پنل خود مراجعه کنید.
برای مطالعه بیشتر و دریافت راهنمای وب سرویس ها و آشنایی با پارامتر های ورودی و خروجی وب سرویس به صفحه معرفی وب سرویس ملی پیامک مراجعه نمایید .
برای استفاده از وب سرویس ملی پیامک، می توانید یک کنترلر آسنکرون ایجاد کنید و مطابق زیر از دستورات استفاده کنید
@Inject
public AsyncController(ActorSystem actorSystem, ExecutionContextExecutor exec, WSClient ws) {
this.actorSystem = actorSystem;
this.exec = exec;
// this.rest = new RestClient(ws);
this.soap = new SoapClient(ws);
}
public CompletionStage<Result> test() {
soap.initCred(username, password);
return soap.SendSimpleSMS2(to, from, text, isFlash).thenApplyAsync(response -> ok(response.getBody()), exec);
}
متدهای وب سرویس:
restClient.Send(to, from, text, isFlash);
soapClient.SendSimpleSMS(new String[] { to }, from, text, isFlash);
restClient.SendByBaseNumber(text, to, bodyId);
soapClient.SendByBaseNumber2(text, to, bodyId);
restClient.GetDelivery(recId);
soapClient.GetDelivery(recId);
soapClient.GetDeliveries(recIds[]);
restClient.GetMessages(location, index, count, from);
soapClient.getMessages(location, from, index, count);
// جهت دریافت به صورت رشته ای
soapClient.GetMessagesByDate(location, from, index, count, dateFrom, dateTo);
//جهت دریافت بر اساس تاریخ
soapClient.GetUsersMessagesByDate(location, from, index, count, dateFrom, dateTo);
// جهت دریافت پیام های کاربران بر اساس تاریخ
restClient.GetCredit();
soapClient.GetCredit();
restClient.GetBasePrice();
soapClient.GetSmsPrice(irancellCount, mtnCount, from, text);
soapClient.GetUserNumbers();
soapClient.GetInboxCount(isRead);
//پیش فرض خوانده نشده
soapClient.SendSms(to[], from, text, isflash, udh, recId[], status[]);
soapClient.GetMessagesReceptions(msgId, fromRows);
soapClient.RemoveMessages2(location, msgIds);
soapClient.AddSchedule(to, from, text, isflash, scheduleDateTime, period);
soapClient.AddMultipleSchedule(to[], from, text[], isflash, scheduleDateTime[], period);
soapClient.AddUsance(to, from, text, isflash, scheduleStartDateTime, repeatAfterDays, scheduleEndDateTime);
soapClient.GetScheduleStatus(schId);
soapClient.RemoveSchedule(schId);
soapClient.SendSMSWithSpeechText(smsBody, speechBody, from, to);
soapClient.SendSMSWithSpeechTextBySchduleDate(smsBody, speechBody, from, to, scheduleDate);
soapClient.GetSendSMSWithSpeechTextStatus(recId);
soapClient.SendBulkSpeechText(title, body, receivers, DateToSend, repeatCount);
soapClient.SendBulkVoiceSMS(title, fileId, receivers, DateToSend, repeatCount);
soapClient.UploadVoiceFile(title, file);
soapClient.GetBranchs(owner);
soapClient.AddBranch(branchName, owner);
soapClient.AddNumber(branchId, mobileNumbers[]);
soapClient.RemoveBranch(branchId);
soapClient.AddBulk(from, branch, bulkType, title, message, rangeFrom, rangeTo, DateToSend, requestCount, rowFrom);
soapClient.GetBulkCount(branch, rangeFrom, rangeTo);
soapClient.GetBulkReceptions(bulkId, fromRows);
soapClient.GetBulkStatus(bulkId, sent, failed, status);
soapClient.GetTodaySent();
soapClient.GetTotalSent();
soapClient.RemoveBulk(bulkId);
soapClient.SendMultipleSMS(to[], from, text[], isflash, udh, recId[], status);
soapClient.UpdateBulkDelivery(bulkId);
soapClient.AddTicket(title, content, aletWithSms);
soapClient.GetReceivedTickets(ticketOwner, ticketType, keyword);
soapClient.GetReceivedTicketsCount(ticketType);
soapClient.GetSentTickets(ticketOwner, ticketType, keyword);
soapClient.GetSentTicketsCount(ticketType);
soapClient.ResponseTicket(ticketId, type, content, alertWithSms);
soapClient.AddGroup(groupName, Descriptions, showToChilds);
soapClient.AddContact(options);
soapClient.CheckMobileExistInContact(mobileNumber);
soapClient.GetContacts(groupId, keyword, count);
soapClient.GetGroups();
soapClient.ChangeContact(options);
soapClient.RemoveContact(mobilenumber);
soapClient.GetContactEvents(contactId);
soapClient.AddPayment(options);
soapClient.AddUser(options);
soapClient.AddUserComplete(options);
soapClient.AddUserWithLocation(options);
soapClient.AuthenticateUser();
soapClient.ChangeUserCredit(amount, description, targetUsername, GetTax);
soapClient.ForgotPassword(mobileNumber, emailAddress, targetUsername);
soapClient.GetUserBasePrice(targetUsername);
soapClient.GetUserCredit(targetUsername);
soapClient.GetUserDetails(targetUsername);
soapClient.GetUserNumbers();
soapClient.GetUserTransactions(targetUsername, creditType, dateFrom, dateTo, keyword);
soapClient.GetUsers();
soapClient.HasFilter(text);
soapClient.RemoveUser(targetUsername);
soapClient.GetProvinces();
soapClient.GetCities(provinceId);
soapClient.GetExpireDate();