ارسال پیامک با روبی
پیام رسان بلاگ برنامه نویسان راهنمای کامل ارسال پیامک در Ruby( کد تایید ، پیامک تکی و … )

راهنمای کامل ارسال پیامک در Ruby( کد تایید ، پیامک تکی و … )

نوشته ای از پیام رسان
انتشار در تاریخ 21 آبان 1403
دسته بندی: برنامه نویسان

زبان روبی Ruby  ، جواهر برنامه نویسان است که توسط یوکیهیرو ماتسوموتور طراحی شده است . شما از زبان ruby می توانید در توسعه وب ، توسعه ابزارهای devops  ، پردازش داده و یا حتی ساخت بازی های ساده و متوسط استفاده نمایید.

اگر می خواهید بدانید که چگونه با زبان روبی ruby  ، پیامک ارسال کنید ، ادامه مطلب را بخوانید.

مراحل ارسال پیامک با زبان ruby

اگر میخواهید با زبان ruby ، برای شماره موبایل های مورد نظرتان پیامک ارسال کنید؛ نیاز به یک API دارید تا دستورات شما را به پنل پیامکی ارسال کنید. برای این کار باید 3 گام را طی کنید تا برنامه ruby  خود را به وب سرویس پیامکی پیام رسان متصل کنید.

مرحله اول : با ثبت نام در سامانه پیامکی پیام رسان ، شما به یک وب سرویس پیامکی با معماری Restful Api  دسترسی دارید خواهید داشت.  این وب سرویس برای ارسال پیامک با زبان ruby  بهترین گزینه است.

مرحله دوم : با فعالسازی وب سرویس پیامکی (بدون هزینه ) ، می توانید یک APIKEY اختصاصی خود را دریافت کنید و سپس از متد های آن استفاده نمایید.

دریافت api key

مرحله سوم : نمونه کد های آماده که به زبان ruby   را برایتان در ادامه قرار داده ایم که می توانید با استفاده از آن، پیامک های دلخواه خود را از طریق برنامه خود ارسال نمایید.

جهت ثبت نام در سامانه پیامکی پیام رسان ،از طریق فرم زیر اقدام نمایید.

کسب و کار داری و میخوای تبلیغات پیامکی انبوه داشته باشی؟!

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

جهت ثبت نام در سامانه پیامکی پیام رسان، شماره موبایل خود را وارد کنید.

وب سرویس پیامکی برای زبان swift

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

  • ارسال پیامک بر اساس پترن جهت استفاده از خط خدماتی شرکتی
  • نمونه کد آماده و مستندات برنامه نویسی
  • بروزرسانی دائمی و آپ تایم بالا
  • سرعت و دقت بالا
  • پشتیبانی فنی

برای شروع کار شما به تعریف یک سری مقادیر ثابت از جمله سرشماره، کلید api و … دارید که نمونه آن را در زیر قرار دادیم.

متد ارسال یک متن به یک یا چند شماره با متد Get (Send )

با این متد و نمونه کد زبان برنامه نویسی جاوااسکریپت ، می توانید در یک بار فراخوانی به حداکثر 99 شماره پیام ارسال نمایید. به این معنی که نیازی نیست به ازای هر شماره یک بار متد را فراخوانی نمایید.

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

require 'net/http'
require 'uri'

url = URI.parse("https://api.sms-webservice.com/api/V3/Send?ApiKey=YourApiKey&Text=YourSMSText&Sender=5000&Recipients=09123456789")

# ایجاد درخواست GET
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url.request_uri)

# ارسال درخواست و دریافت پاسخ
response = http.request(request)

# بررسی وضعیت پاسخ
if response.code.to_i == 200
  puts response.body # موفقیت: نمایش پاسخ
else
  puts "Error: #{response.code}" # خطا: نمایش وضعیت خطا
end

متد ارسال یک متن به یک یا چند شماره با متد post (SendBulk )

کاربرد این متد مشابه متد قبلی است. تنها تفاوت آن در نوع درخواست است که برای ارسال پیامک با Ruby ارسال می‌کنید. در متد اول، درخواست از نوع GET است، در حالی که در متد دوم از نوع POST است. تفاوت اصلی POST این است که امنیت بالاتری دارد و امکان ارسال حجم بیشتری از داده‌ها را فراهم می‌کند.

require 'net/http'
require 'uri'
require 'cgi'

url = URI.parse("https://api.sms-webservice.com/api/V3/SendBulk")
payload = "ApiKey=YourApiKey&Text=YourSMSText&Sender=5000&Recipients=09123456789"

# ایجاد درخواست POST
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.request_uri)
request['Content-Type'] = 'application/x-www-form-urlencoded'
request.body = payload

# ارسال درخواست و دریافت پاسخ
response = http.request(request)

# بررسی وضعیت پاسخ
if response.code.to_i == 200
  puts response.body # موفقیت: نمایش پاسخ
else
  puts "Error: #{response.code}" # خطا: نمایش وضعیت خطا
end

متد ارسال چند متن به چند گیرنده (SendMultiple)

اگر می‌خواهید با زبان Ruby برای هر گیرنده پیام متفاوتی ارسال کنید، این متد و کد نمونه برای شما مناسب است. با استفاده از این روش، نیازی به ارسال درخواست جداگانه برای هر گیرنده نخواهید داشت و می‌توانید پیام‌های خود را در گروه‌های 100 تایی به وب‌سرویس پیامکی ارسال کنید.

require 'net/http'
require 'uri'
require 'json'

url = URI.parse("https://api.sms-webservice.com/api/V3/SendMultiple")

# بدنه JSON برای ارسال
payload = {
  "ApiKey" => "YourApiKey",
  "Recipients" => [
    {
      "Sender" => 5000,
      "Text" => "YourSMSText",
      "Destination" => "09123456789",
      "UserTraceId" => 0000
    }
  ]
}.to_json

# ایجاد درخواست POST
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.request_uri)
request['Content-Type'] = 'application/json'
request.body = payload

# ارسال درخواست و دریافت پاسخ
response = http.request(request)

# بررسی وضعیت پاسخ
if response.code.to_i == 200
  puts response.body # موفقیت: نمایش پاسخ
else
  puts "Error: #{response.code}" # خطا: نمایش وضعیت خطا
end

متد ارسال به یک شماره با استفاده از الگوی تعریف شده (SendTokenSingle)

اگر برنامه‌نویس حرفه‌ای باشید، احتمالاً با مفهوم ارسال پیامک از طریق پترن آشنا هستید. این قابلیت به شما امکان می‌دهد پیامک‌ها را از سریع‌ترین خط خدماتی ارسال کنید. این ویژگی برای پیامک‌هایی که باید با سرعت بالا به تمامی شماره‌ها، حتی شماره‌های موجود در بلک‌لیست مخابراتی، ارسال شوند، مناسب است. به عنوان مثال، برای ارسال پیامک‌های کد تایید و احراز هویت کاربران. در این شرایط، با استفاده از کد Ruby می‌توانید از قابلیت پترن پیام‌رسان بهره‌برداری کنید. اگر ویدئوی ابتدایی مقاله را مشاهده کرده باشید، بیشتر با مفهوم پترن و قالب آن آشنا خواهید شد.

require 'net/http'
require 'uri'

url = URI.parse("https://api.sms-webservice.com/api/V3/SendTokenSingle")

# ایجاد درخواست GET
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url.request_uri)

# تنظیم هدرهای سفارشی
request['ApiKey'] = 'YourApiKey'
request['TemplateKey'] = 'YourPattern'
request['Destination'] = '09123456789'
request['P1'] = 'Param1'
request['P2'] = 'Param2'
request['P3'] = 'Param3'

# ارسال درخواست و دریافت پاسخ
response = http.request(request)

# بررسی وضعیت پاسخ
if response.code.to_i == 200
  puts response.body # موفقیت: نمایش پاسخ
else
  puts "Error: #{response.code}" # خطا: نمایش وضعیت خطا
end

متد ارسال یک الگو با متن های مختلف به چند شماره (SendTokenMulti)

اگر در حال توسعه برنامه یا سایت خود با زبان Ruby هستید و می‌خواهید از قابلیت پترن برای ارسال پیامک‌های مختلف استفاده کنید، این متد برای شما مناسب است. با یک درخواست می‌توانید پیامک‌ها را برای چندین شماره با استفاده از یک قالب ارسال کنید.

require 'net/http'
require 'uri'
require 'cgi'

url = URI.parse("https://api.sms-webservice.com/api/V3/SendTokenMulti")

# داده‌های فرم URL-encoded
payload = "ApiKey=YourApiKey&TemplateKey=YourPattern&Destination=09123456789&P1=Param1&P2=Param2&P3=Param3"

# ایجاد درخواست POST
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.request_uri)
request['Content-Type'] = 'application/x-www-form-urlencoded'
request.body = payload

# ارسال درخواست و دریافت پاسخ
response = http.request(request)

# بررسی وضعیت پاسخ
if response.code.to_i == 200
  puts response.body # موفقیت: نمایش پاسخ
else
  puts "Error: #{response.code}" # خطا: نمایش وضعیت خطا
end

متد دریافت لیست الگوهای تعریف شده در پنل (TokenList)

اگر بخواهید لیست الگوهای تعریف‌شده در پنل را مشاهده کنید، می‌توانید از این متد استفاده کنید. برای دریافت وضعیت پیام‌های ارسال‌شده (StatusById)، زمانی که نیاز دارید وضعیت پیام‌های ارسال‌شده را بررسی کنید، باید از این متد بهره ببرید. در یک درخواست می‌توانید وضعیت چندین پیام را به طور همزمان استعلام کنید.

require 'net/http'
require 'uri'

url = URI.parse("https://api.sms-webservice.com/api/V3/TokenList")

# داده‌های فرم URL-encoded
payload = "ApiKey=YourApiKey"

# ایجاد درخواست POST
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.request_uri)
request['Content-Type'] = 'application/x-www-form-urlencoded'
request.body = payload

# ارسال درخواست و دریافت پاسخ
response = http.request(request)

# بررسی وضعیت پاسخ
if response.code.to_i == 200
  puts response.body # موفقیت: نمایش پاسخ
else
  puts "Error: #{response.code}" # خطا: نمایش وضعیت خطا
end

متد دریافت وضعیت پیام های ارسالی (StatusByTraceId)

زمانی که بخواهیم پس از ارسال پیام، وضعیت آن را بررسی کنیم ولی شناسه‌های پیامک‌های ارسال‌شده را نداشته باشیم، می‌توانیم از این متد استفاده کنیم. در یک درخواست می‌توان وضعیت چندین پیام را به طور همزمان استعلام کرد.

require 'net/http'
require 'uri'
require 'json'

url = URI.parse("https://api.sms-webservice.com/api/V3/StatusByUserTraceId")

# داده‌های JSON برای ارسال در درخواست
payload = {
  "ApiKey" => "YourApiKey",
  "UserTraceIds" => [0]
}.to_json

# ایجاد درخواست POST
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.request_uri)
request['Content-Type'] = 'application/json'
request.body = payload

# ارسال درخواست و دریافت پاسخ
response = http.request(request)

# بررسی وضعیت پاسخ
if response.code.to_i == 200
  puts response.body # موفقیت: نمایش پاسخ
else
  puts "Error: #{response.code}" # خطا: نمایش وضعیت خطا
end

متد دریافت مقدار اعتبار و لیست خطوط ارسال کننده فعال در پنل (AccountInfo)

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

require 'net/http'
require 'uri'

url = URI.parse("https://api.sms-webservice.com/api/V3/AccountInfo")

# ایجاد درخواست POST
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.request_uri)
request['ApiKey'] = 'YourApiKey'

# ارسال درخواست و دریافت پاسخ
response = http.request(request)

# بررسی وضعیت پاسخ
if response.code.to_i == 200
  puts response.body # موفقیت: نمایش پاسخ
else
  puts "Error: #{response.code}" # خطا: نمایش وضعیت خطا
end

این مقاله مفید بود ؟

به این مقاله امتیاز دهید

میانگین رتبه 5 / 5. تعداد رای : 9

هنوز کسی به این مطلب رای نداده ؛ شما اولین نفر باشید !

تحریریه از پیام رسان

پیام رسان

مشتری همیشگی ما خواهید شد . قول میدهیم ! در سامانه پیامکی پیام رسان می توانید به افراد مورد نظر خود پیامک متنی و پیام صوتی ارسال کنید. با ثبت نام پنل رایگان پیام رسان، انواع امکانات جهت ارسال پیامک در اختیار کاربران قرار می گیرد.

ارسال کامنت

ثبت نام ورود