نسخة رقم 3.4.0

الترحيب


مرحبا بكم من جديد في مزود خدمة الرسائل النصية TURKEY SMS هذا القسم يضم كافة التفاصيل المتعلقة بالربط المباشر لخدمة الرسائل النصية ضمن حسابكم لتتمكنوا من الإرسال مباشرة عبر تطبيقاتكم او أي نظام برمجي لديكم نوفر لكم كافة الحلول البرمجية لتتمكنوا من القيام بعملية الربط بشكل سهل وسريع
Turkey SMS api documentations

التعريف بالخدمة


الربط البرمجي من خلال الـ API خيار يمكنك من إنشاء عملية ربط برمجي بين حسابك في خدمة الرسائل مع أي تطبيق خارجي، مثل موقع إنترنت - تطبيق موبايل - برنامج محاسبة - برنامج إدارة العملاء .. الخ نظام الرسائل النصية يدعم جميع لغات البرمجة لإستكمال عملية الربط البرمجي متل PHP - JAVA - C++ - ASP يمكنك ربط حسابك ببساطة من خلال التوجه لحسابك بعد تسجيل الدخول لخيار الربط المباشر API، وسيقوم النظام بإرشادك لطريقة الربط بسهولة
- هل هناك تكلفة إضافية لطلب ربط مباشر ؟
بالطبع لن يكون هناك تكلفة إضتفية لعملية الربط البرمجي، كما ان فريق الدعم الفني سيكون متوفر لمساعدتكم في إعداد الربط المباشر وتجهيزه بشكل كامل لكم

المتطلبات والشروط


حتى تتمكنوا من إستخدام خدمة الربط المباشر يجب ان تتوفر لديكم بعض الشروط ضمن حسابكم ليكون الربط مع خدمة الرسائل صحيح وبدون أي مشكلة
وهذه الشروط هي

الحساب فعال بحيث يكون حسابكم فعال في خدمة الرسائل ولوحة التحكم الخاصة بكم مفعلة بشكل كامل
الرصيد يجب ان يتوفر في حسابكم رصيد رسائل حتى تتمكنوا من إستخدام الربط المباشر
عنوان الإرسال يجب ان يتوفر في حسابكم عنوان إرسال Sender ID مفعل بشكل كامل

بدء الإستخدام


من أجل البدء بإستخدام الربط المباشر لمزود خدمة الرسائل النصية تسجيل الدخول لحسابكم
والتوجه من القائمة الرئيسية لقسم حسابي - الربط المباشر api

Turkey SMS api documentations

ستشاهدون بيانات الحساب الخاصة بكم من أجل البدء بإستخدام الربط المباشر مع حسابكم

المصادقة


للاتصال بواجهة برمجة تطبيقات الرسائل النصية (SMS API)، استخدم عنوان URL التالي:

/api/v3/authenticate/login

المعلمات (Parameters)

								
$api_key  = '';
$report   = '';
$response_type = '';
								
							

وصف المعلمات

$api_key varchar مفتاح API الخاص بحسابك.
$report int خيار عرض تفاصيل عملية الإرسال (1 لتقرير، 0 للإلغاء).
$response_type int نوع الاستجابة (JSON أو Array).

أمثلة على الاستجابات (إذا كان خيار التقرير مفعلاً)

رموز الاستجابة
								
Array
(
	[result] => true
	[result_code] => TS-1046
	[result_message] => operation_success
	[user_id] => USERID
	[account_name] => ACCOUNTNAME
)
							

تفاصيل الاستجابة

result نتيجة العملية (true للنجاح، false للفشل).
result_code رمز الحالة (راجع رموز الاستجابة للحصول على قائمة الرموز).
result_message رسالة بخصوص نجاح أو فشل العملية.
user_id يتم عرض معرف الحساب الذي تمت عملية المصادقة من أجله عبر API.
account_name يتم عرض اسم الحساب الذي تمت عملية المصادقة من أجله عبر API.

إرسال رسالة من خلال الـ api


الخطوات التي يجب عليكم إتباعها حتى تتمكنوا من البدء بإستخدام خدمة الربط المباشر مع مزود خدمة الرسائل النصية

رابط خدمة SMS API من أجل عملية الربط المباشر هو

/api/v3/gonder/add-content

المتغيرات المرسلة من خلال الرابط هي

						
$title    = '';
$api_key  = '';
$text	  = '';
$sentto	  = '';
$report   = '';
$sms_lang = '';
$response_type = '';

شرح المتغيرات المرسلة من خلال الرابط

title$ varchar يكتب هنا عنوان الإرسال الخاص بكم كما موجود في حسابكم مع مراعاة حالة الأحرف
api_key$ varchar مفتاح الإرسال الخاص بكم الموجود في حسابكم يوضع هنا
text$ text نص الرسالة المراد إرسال
sentto$ int الرقم المراد إرسال الرسالة له .. يجب ان لايتضمن احرف او رموز
report$ int خيار لعرض تفاصيل عملية الإرسال في حال كانت القيمة 1 يظهر التقرير او 0 للإلغاء
sms_lang$ int خيار لغة محتوى الرسالة المرسل حيث ان رقم 2 هو للغة العربية ورقم 0 للغة الإنكليزية
response_type$ int خيار عرض الرد من قبل سيرفر الإرسال بلغة برمجية معينة

بعد إجراء عملية الإرسال سيتم ارسال رد من السيرفر على العملية في حال كان خيار ظهور التقرير مفعل يمكنكم متابعة أكواد الإرسال من خلال شرح أكواد الإرسال

مثال على الرد المرسل من السيرفر بعد عملية الإرسال

	
Array
(
    [result] => true
    [sms_id] => 1000007721
    [number_of_sms] => 1
    [result_code] => TS-1024
    [result_message] => The message was sent successfully
    [sms_lang] => Arabic
    [country] => Turkey-TR
)

شرح المتغيرات المرسلة من السيرفر

result نتيجة العملية في حال النجاح يظهر true وفي حال فشل الإرسال يظهر false
sms_id رقم العملية المسجل ID الذي يمكن من خلاله متابعة حالة الرسالة
number_of_sms عدد الرسائل او الرصيد الذي سيخصم من حسابكم بعد إرسال الرسالة
result_code كود العملية .. يمكنكم متابعة قسم أكواد الإرسال لمشاهدة كامل التفاصيل
result_message رسالة العملية المرسلة .. تظهر لكم رسالة بالعملية في حال النجاح او الفشل
sms_lang يظهر محتوى الرسالة التي ارسالت بأي لغة كانت
country اسم الدولة التي تم ارسال الرسالة لها

إرسال رسالة واحدة لأكثر من رقم - نص واحد لمجموعة من الأرقام


يتيح لك هذا الخيار إرسال رسالة واحدة لمجموعة من الأرقام، مما يسمح بالتواصل الفعّال مع عدد كبير من المستخدمين في آن واحد. بغض النظر عن عدد الأرقام، يمكنكم إرسال الرسالة بسهولة وفاعلية، مما يوفر الوقت والجهد.

رابط الإرسال الجماعي من اجل الإرسال

/api/v3/gruba-gonder/post/tek-metin-gonderimi/

تتضمن المتغيرات المرسلة من خلال الرابط ما يلي:

	
$title = '';
$api_key = '';
$text = '';
$sentto = '';
$report = '';
$sms_lang = '';
$response_type = '';

شرح المتغيرات المرسلة من خلال الرابط:

title$ varchar يُحدد هنا عنوان الإرسال الخاص بكم كما هو موجود في حسابكم، مع مراعاة حالة الأحرف.
api_key$ varchar يُحدد مفتاح الإرسال الخاص بكم الموجود في حسابكم ويُضاف هنا.
text$ text يُحدد نص الرسالة التي تُريدون إرسالها.
sentto$ array ييتم إضافة الأرقام التي سيتم الإرسال لها على شكل ARRAY مثال: array('905000000001','905000000002')
report$ int يُحدد خيار عرض تقرير عملية الإرسال، حيث يُظهر التقرير عندما يكون القيمة 1 ويُلغى عندما تكون القيمة 0.
sms_lang$ int يُحدد لغة محتوى الرسالة المرسلة، حيث يكون الرقم 2 للغة العربية والرقم 0 للغة الإنجليزية.
response_type$ int يُحدد خيار عرض الرد من قبل سيرفر الإرسال بلغة برمجية محددة.

بعد إجراء عملية الإرسال، سيُرسل رد من السيرفر يوضح نتيجة العملية. في حال تم تفعيل خيار ظهور التقرير، يُمكنكم متابعة أكواد الإرسال من خلال شرح أكواد الإرسال.

مثال على الرد المرسل من السيرفر بعد عملية الإرسال:

		
Array
(
	[result] => true
	[rapor_id] => 123456
	[total_mobile_num] => 2
	[number_of_sms] => 1
	[result_code] => TS-1024
	[result_message] => The message was sent successfully
	[sms_lang] => Arabic
	[country] => Turkey-TR
)

شرح المتغيرات المرسلة من السيرفر:

result نتيجة العملية؛ يظهر true في حال نجاح الإرسال وfalse في حال فشله.
rapor_id رقم التقرير لعملية الإرسال.
total_mobile_num عدد الأرقام التي تم إرسال الرسالة إليها.
number_of_sms عدد الرسائل أو الرصيد المخصوم من حسابكم بعد إرسال الرسالة.
result_code كود العملية؛ يمكنكم متابعة قسم أكواد الإرسال لمعرفة التفاصيل الكاملة.
result_message رسالة توضح نتيجة العملية؛ تظهر رسالة بالعملية في حال نجاحها أو فشلها.
sms_lang يوضح لغة محتوى الرسالة المرسلة.
country اسم الدولة التي تم إرسال الرسالة إليها.

إرسال رسالة جماعية - مجموعة أرقام ونصوص مختلفة لكل رقم نص خاص به


يوفر لك هذا الخيار إمكانية إرسال رسائل مخصصة لعدد كبير من الأرقام، حيث يمكن لكل رقم أن يتلقى نصًا مختلفًا برسالة واحدة. هذا يتيح لك التواصل بفعالية وسرعة مع مجموعة كبيرة من المستخدمين في وقت واحد، مما يوفر الوقت والجهد.

رابط الإرسال الجماعي من أجل الإرسال - مجموعة أرقام ونصوص مختلفة

/api/v3/gruba-gonder/post/coklu-metin-gonderimi/

تتضمن المتغيرات المرسلة من خلال الرابط ما يلي:

							
$title = '';
$api_key = '';
$text = '';
$sentto = '';
$report = '';
$sms_lang = '';
$response_type = '';

شرح المتغيرات المرسلة من خلال الرابط:

title$ varchar يُحدد هنا عنوان الإرسال الخاص بكم كما هو موجود في حسابكم، مع مراعاة حالة الأحرف.
api_key$ varchar يُحدد مفتاح الإرسال الخاص بكم الموجود في حسابكم ويُضاف هنا.
text$ array يتم إضافة النصوص في مصفوفة (ARRAY)، على سبيل المثال: array('text_01', 'text_02'). يجب التأكد من تطابق ترتيب النصوص في المصفوفة مع ترتيب الأرقام في مصفوفة الأرقام.
sentto$ array يتم إضافة الأرقام التي سيتم الإرسال إليها في مصفوفة (ARRAY)، على سبيل المثال: array('905000000001', '905000000002').
report$ int يُحدد خيار عرض تقرير عملية الإرسال، حيث يُظهر التقرير عندما يكون القيمة 1 ويُلغى عندما تكون القيمة 0.
sms_lang$ int يُحدد لغة محتوى الرسالة المرسلة، حيث يكون الرقم 2 للغة العربية والرقم 0 للغة الإنجليزية.
response_type$ int يُحدد خيار عرض الرد من قبل سيرفر الإرسال بلغة برمجية محددة.

بعد إجراء عملية الإرسال، سيُرسل رد من السيرفر يوضح نتيجة العملية. في حال تم تفعيل خيار ظهور التقرير، يُمكنكم متابعة أكواد الإرسال من خلال شرح أكواد الإرسال.

مثال على الرد المرسل من السيرفر بعد عملية الإرسال:


Array
(
	[result] => true
	[rapor_id] => 123456
	[total_mobile_num] => 2
	[number_of_sms] => 1
	[result_code] => TS-1024
	[result_message] => The message was sent successfully
	[sms_lang] => Arabic
	[country] => Turkey-TR
)

شرح المتغيرات المرسلة من السيرفر:

result نتيجة العملية؛ يظهر true في حال نجاح الإرسال وfalse في حال فشله.
rapor_id رقم التقرير لعملية الإرسال.
total_mobile_num عدد الأرقام التي تم إرسال الرسالة إليها.
number_of_sms عدد الرسائل أو الرصيد المخصوم من حسابكم بعد إرسال الرسالة.
result_code كود العملية؛ يمكنكم متابعة قسم أكواد الإرسال لمعرفة التفاصيل الكاملة.
result_message رسالة توضح نتيجة العملية؛ تظهر رسالة بالعملية في حال نجاحها أو فشلها.
sms_lang يوضح لغة محتوى الرسالة المرسلة.
country اسم الدولة التي تم إرسال الرسالة إليها.

إرسال رسالة من خلال الـ api - GET


الخطوات التي يجب عليكم إتباعها حتى تتمكنوا من البدء بإستخدام خدمة الربط المباشر مع مزود خدمة الرسائل النصية

المتغيرات المرسلة من خلال الرابط هي - المتغيرات والخيارات كما ذكرت في الأعلى

							
api_key=API_KEY_HERE&mobile=MOBILE_HERE&title=TITLE_HERE&text=SMS_TEXT_HERE&report=1&lang=2&response_type=json
							
							

إرسال OTP SMS


خدمة ال OTP هي اختصار لكلمة ( One Time Passcode )
تكون عبارة عن كود ينشئ بشكل عشوائي ويستخدم لمرة واحدة فقط. يتم إرسال هذا الكود بواسطة خدمة الرسائل النصية SMS ويستخدم في عمليات التحقق وتسجيل الدخول وتأكيد الحساب, كما يتم استخدام هذه الخدمة مع كلمات المرور بما يعرف بالمصادقة الثنائية والتي تزيد من طبقة الأمان لعمليات تسجيل الدخول الخاصة بكم. من أهم ميزات خدمة ال OTP هي أن كلمة المرور تستخدم لمرة واحدة فقط وهذا يمنع محاولات الاختراق وتخمين كلمة المرور لأنها تتبدل بشكل دائم وعشوائي.

رابط خدمة SMS OTP من أجل عملية الربط المباشر هو [GET]

/api/v3/otp/otp_get.php

رابط خدمة SMS OTP من أجل عملية الربط المباشر هو [POST]

/api/v3/otp_post/sent-otp

المتغيرات المرسلة من خلال الرابط هي

		
$api_key  = '';
$mobile	  = '';
$digits	  = '';
$report   = '';
$lang 	  = '';
$response_type = '';

شرح المتغيرات المرسلة من خلال الرابط

api_key$ varchar مفتاح الإرسال الخاص بكم الموجود في حسابكم يوضع هنا
mobile$ int الرقم المراد إرسال الرسالة له .. يجب ان لايتضمن احرف او رموز
digits$ int عدد خانات الكود المرسل للتحقق
report$ int خيار لعرض تفاصيل عملية الإرسال في حال كانت القيمة 1 يظهر التقرير او 0 للإلغاء
lang$ int خيار لغة محتوى الرسالة المرسل حيث ان رقم 2 هو للغة العربية ورقم 0 للغة الإنكليزية
response_type$ int خيار عرض الرد من قبل سيرفر الإرسال بلغة برمجية معينة

بعد إجراء عملية الإرسال سيتم ارسال رد من السيرفر على العملية

مثال على الرد المرسل من السيرفر بعد عملية الإرسال

		
Array
(
    [result] => true
    [otp_code] => 123456
    [sms_id] => 1000007721
    [number_of_sms] => 1
    [result_code] => TS-1024
    [result_message] => The message was sent successfully
    [sms_lang] => Arabic
    [country] => Turkey-TR
)

شرح المتغيرات المرسلة من السيرفر

result نتيجة العملية في حال النجاح يظهر true وفي حال فشل الإرسال يظهر false
otp_code هو كود التحقق الذي تم إرساله في الرسالة الى الرقم
sms_id رقم العملية المسجل ID الذي يمكن من خلاله متابعة حالة الرسالة
number_of_sms عدد الرسائل او الرصيد الذي سيخصم من حسابكم بعد إرسال الرسالة
result_code كود العملية .. يمكنكم متابعة قسم أكواد الإرسال لمشاهدة كامل التفاصيل
result_message رسالة العملية المرسلة .. تظهر لكم رسالة بالعملية في حال النجاح او الفشل
sms_lang يظهر محتوى الرسالة التي ارسالت بأي لغة كانت
country اسم الدولة التي تم ارسال الرسالة لها

خيارات OTP SMS

digits$ هو يحدد عدد خانات الكود الذي سيتم إرساله الى الرقم
في حال كانت القيمة 4 سيكون الكود مؤلف من 4 خانات [0000]

في حال كانت القيمة 5 سيكون الكود مؤلف من 5 خانات [00000]

في حال كانت القيمة 6 سيكون الكود مؤلف من 6 خانات [000000]

خيارات لغة محتوى الرسالة

sms_lang$ في حال كانت القيمة لهذا المتغير 0 سيكون محتوى الرسالة باللغة الإنكليزية

وفي حال كانت قيمة هذا المتغير 1 سيكون محتوى الرسالة باللغة التركية يدعم الأحرف التركية

وفي حال كانت قيمة هذا المتغير 2 سيكون محتوى الرسالة يدعم اللغة العربية

خيار الرد

response_type$ في حال كانت قيمة المتغير json سيكون الرد بصيغة json

وفي حال كانت قيمة المتغير php سيكون الرد بصيغة php

إرسال OTP SMS متقدم


خدمة ال OTP هي اختصار لكلمة ( One Time Passcode )
الخيار المتقدم يحتوي على خيارات إضافة بعملية إرسال الرسائل
مثل التحكم بالنص المرسل مع خيار تحديد مكان الكود عند كتابة النص

رابط خدمة SMS OTP من أجل عملية الربط المباشر هو [POST] الخيار المتقدم

/api/v3/otp_post_detailed/sent-otp

المتغيرات المرسلة من خلال الرابط هي

		
$api_key  = '';
$mobile	  = '';
$text	  = '';
$digits	  = '';
$report   = '';
$lang 	  = '';
$title 	  = '';
$response_type = '';

شرح المتغيرات المرسلة من خلال الرابط

api_key$ varchar مفتاح الإرسال الخاص بكم الموجود في حسابكم يوضع هنا
mobile$ int الرقم المراد إرسال الرسالة له .. يجب ان لايتضمن احرف او رموز
text$ varchar النص المراد إرساله ضمن الرسالة النصية
digits$ int عدد خانات الكود المرسل للتحقق
report$ int خيار لعرض تفاصيل عملية الإرسال في حال كانت القيمة 1 يظهر التقرير او 0 للإلغاء
lang$ int خيار لغة محتوى الرسالة المرسل حيث ان رقم 2 هو للغة العربية ورقم 0 للغة الإنكليزية
title$ varchar يكتب هنا عنوان الإرسال الخاص بكم كما موجود في حسابكم مع مراعاة حالة الأحرف
response_type$ int خيار عرض الرد من قبل سيرفر الإرسال بلغة برمجية معينة

بعد إجراء عملية الإرسال سيتم ارسال رد من السيرفر على العملية

مثال على الرد المرسل من السيرفر بعد عملية الإرسال

								
Array
(
    [result] => true
    [otp_code] => 123456
    [sms_id] => 1000007721
    [number_of_sms] => 1
    [result_code] => TS-1024
    [result_message] => the_SMS_has_been_sent_successfully
    [sms_lang] => Arabic
    [content_type] => High_quality
    [country] => Turkey-TR
)

شرح المتغيرات المرسلة من السيرفر

result نتيجة العملية في حال النجاح يظهر true وفي حال فشل الإرسال يظهر false
otp_code هو كود التحقق الذي تم إرساله في الرسالة الى الرقم
sms_id رقم العملية المسجل ID الذي يمكن من خلاله متابعة حالة الرسالة
number_of_sms عدد الرسائل او الرصيد الذي سيخصم من حسابكم بعد إرسال الرسالة
result_code كود العملية .. يمكنكم متابعة قسم أكواد الإرسال لمشاهدة كامل التفاصيل
result_message رسالة العملية المرسلة .. تظهر لكم رسالة بالعملية في حال النجاح او الفشل
sms_lang يظهر محتوى الرسالة التي ارسالت بأي لغة كانت
country اسم الدولة التي تم ارسال الرسالة لها

خيارات OTP SMS المتقدمة

text$ النص المراد إرساله ضمن الرسالة النصية يدمج مع الكود المرسل
طريقة الدمج تكون بكتابة الكلمة التالية بالمكان المراد اضافة الكود ضمن محتوى الرسالة
مثال: النص المراد إرساله هو مرحبا بك في خدمتنا كود التفعيل الخاص بك هو 0000
بدل الكود نضيف الكلمة التالية TS_CODE في المكان المراد طباعة الكود ضمن المحتوى
وسيقوم النظام بإستبدال هذه الكلمة بكود التحقق تلقائيا
مثال: مرحبا بك في خدمتنا كود التفعيل الخاص بك هو TS_CODE
كما يمكن إضافة سطر بين الكود والنص المراد عن طريق إضافة الأحرف التالية
TS-L سيتم إستبدالها بسطر ليكون النص المضاف بهذا الشكل
مرحبا بك في خدمتنا كود التفعيل الخاص بك هو TS_CODE TS-L
وستكون النتيجة
مرحبا بك في خدمتنا كود التفعيل الخاص بك هو
00000
digits$ هو يحدد عدد خانات الكود الذي سيتم إرساله الى الرقم
في حال كانت القيمة 4 سيكون الكود مؤلف من 4 خانات [0000]

في حال كانت القيمة 5 سيكون الكود مؤلف من 5 خانات [00000]

في حال كانت القيمة 6 سيكون الكود مؤلف من 6 خانات [000000]

خيارات لغة محتوى الرسالة

sms_lang$ في حال كانت القيمة لهذا المتغير 0 سيكون محتوى الرسالة باللغة الإنكليزية

وفي حال كانت قيمة هذا المتغير 1 سيكون محتوى الرسالة باللغة التركية يدعم الأحرف التركية

وفي حال كانت قيمة هذا المتغير 2 سيكون محتوى الرسالة يدعم اللغة العربية

خيار الرد

response_type$ في حال كانت قيمة المتغير json سيكون الرد بصيغة json

وفي حال كانت قيمة المتغير php سيكون الرد بصيغة php

شرح أكواد الرد


عند القيام بعملية الإرسال من خلال الربط المباشر api سيرسل لكم السيرفر رد بالعملية عبارة عن كود
هذه الاكواد تشرح لكم نتيجة العملية التي قمتم بها هل تم الإرسال بنجاح ام لم يتم وفي حال لم يتم ماهو السبب

شرح ومعاني أكواد الإرسال

TS-1024 تم إرسال الرسالة بنجاح
TS-1025 رقم الموبايل لم يتم كتابته .. رقم الموبايل فارغ
TS-1026 نص الرسالة فارغ .. لم تتم كتابة نص للرسالة
TS-1027 لايوجد في حسابكم رصيد كافي من أجل عملية الإرسال
TS-1028 عنوان الإرسال Sender ID غير فعال في حسابكم
TS-1029 عنوان الإرسال غير موجود .. يرجى التأكد من كتابة العنوان بشكل صحيح
TS-1030 حسابكم غير فعال في مزود خدمة الرسائل النصية
TS-1031 مفتاح الإتصال api-key غير صحيح
TS-1032 الرقم المرسل له الرسالة دولي خارج تركيا وحسابكم غير مفعل للإرسال الدولي
TS-1033 البيانات المرسلة من خلال الرابط غير صحيحة
TS-1034 رقم الموبايل المرسل له الرسالة غير صحيح
TS-1060 لقد تجاوزت عدد الرسائل المرسلة في آخر دقيقة
TS-1061 مفتاح API غير مفعل للإرسال (POST)
TS-1062 مفتاح API غير مفعل للإرسال (GET)
TS-1050 مفتاح API فارغ وغير مكتوب
TS-1051 عنوان الإرسال فارغ وغير مكتوب
TS-1052 عنوان الإرسال SenderID غير مكتوب
TS-1063 التحقق من حالة الرسالة لم يتم تفعيله لمفتاح API
TS-1064 التحقق من حالة الرسالة ناجح
TS-1065 التحقق من الرصيد لم يتم تفعيله لمفتاح API الخاص بحسابك
TS-1022 الرقم لم يتلق الرسالة
TS-1023 الرقم خارج نطاق التغطية ولم يتلق الرسالة بعد
TS-1070 الإرسال المجدول - لم يتم كتابة التاريخ. يرجى تحديد التاريخ أو كتابته بشكل صحيح.
TS-1071 الإرسال المجدول - لم يتم كتابة الوقت. يرجى تحديد التوقيت أو كتابته بشكل صحيح.
TS-1072 لا يمكن إرسال رسالة مجدولة بتاريخ أو توقيت من الماضي. يرجى التحقق من التاريخ والتوقيت مجدداً.

الإستعلام عن حالة الرسالة المرسلة SMS Status GET


يمكن الاستعلام عن حالة الرسالة المرسلة من خلال الرابط المباشر ومعرفة تفاصيل الرسالة والرصيد وتأكيد الوصول

							
/api/v3/sms-durumu/sms_durumu.php					
							
							

المتغيرات المرسلة من خلال الرابط هي

							
$api_key  = '';
$sms_id	  = '';
$response_type = '';
							
							

شرح المتغيرات المرسلة من خلال الرابط

api_key$ varchar مفتاح الإرسال الخاص بكم الموجود في حسابكم يوضع هنا
sms_id$ int المعرف الخاص بالرسالة
response_type$ int خيار عرض الرد من قبل سيرفر الإرسال بلغة برمجية معينة

بعد إجراء عملية الإرسال سيتم ارسال رد من السيرفر على العملية

مثال على الرد المرسل من السيرفر


Array
(
    [result] => true
    [sender_id] => SenderID
    [date_of_sending] => 2021-01-01
    [time_of_sending] => 13:10:00
    [sms_status] => Number received the message
    [sms_status_code] => TS-1024
    [sms_balance] => 1 SMS
    [operator] => Turkcell
)
							

شرح المتغيرات المرسلة من السيرفر

result نتيجة العملية في حال النجاح يظهر true وفي حال فشل الإرسال يظهر false
sender_id معرف الارسال او عنوان الارسال الذي تم ارسال الرسالة من خلاله
date_of_sending تاريخ إرسال الرسالة
time_of_sending وقت إرسال الرسالة
sms_status رسالة بحالة الرسالة - تم التسليم - لم يتم التسليم - الرقم خارج التغطية
sms_status_code كود عملية الحالة
sms_balance الرصيد المخصوم من الحساب نتيجة عملية الارسال
operator اسم شركة الإتصال التابع لها الرقم

الاستعلام عن حالة التقرير


تتيح لك خدمة الاستعلام عن حالة التقرير من خلال واجهة API إمكانية متابعة حالة الرسائل النصية التي تم إرسالها. يوجد طريقتان للاستعلام: الطريقة الأساسية والطريقة التفصيلية. يمكن استخدام هذه الخدمة بسهولة عن طريق إرسال طلب POST إلى واجهة API مع مجموعة من المتغيرات.

الخيار الأول: الاستعلام عن التقرير (بسيط)

يتيح لك هذا الخيار الاستعلام عن حالة التقرير دون التطرق إلى عرض الأرقام الفردية المرسلة. يمكن الحصول على ملخص التقرير عن طريق إرسال طلب إلى الرابط التالي:

								
turkeysms.com.tr/api/v3/rapor/temel
								
							

المتغيرات التي يجب إرسالها مع الطلب:

								
$api_key      = '';  // مفتاح API الخاص بحسابك
$raporid      = '';  // رقم تعريف التقرير
$response_type = '';  // نوع الاستجابة (JSON أو PHP)
								
							

وصف المتغيرات:

$api_key API Key الخاص بحسابك. هذا المفتاح يضمن أن الطلب يأتي من مصدر موثوق به.
$raporid معرف التقرير الذي تريد الاستعلام عنه.
$response_type تنسيق الاستجابة (JSON أو PHP) بناءً على حاجة التطبيق.

مثال على استجابة بسيطة:

								
Array
(
  "result" => true,
  "status_code" => "TS-1064",
  "report_id" => "123456",
  "sending_date" => "2024-09-19",
  "sending_time" => "19:35:38",
  "report_status" => "Report dispatched successfully.",
  "number_verification_status" => "Undergoing number verification.",
  "total_mobile_numbers" => "2492",
  "sms_sender_id" => "TURKEY SMS",
  "numbers_received" => "1968",
  "numbers_not_received" => "0",
  "invalid_numbers" => "0",
  "blocked_numbers" => "0",
  "turkcell_count" => "860",
  "turktelekom_count" => "566",
  "vodafone_count" => "320",
  "message_validity_duration" => "1440"
)
								
							
الخيار الثاني: الاستعلام عن التقرير (تفصيلي)

يتيح لك هذا الخيار الاستعلام عن التقرير بشكل تفصيلي، بما في ذلك عرض الأرقام الفردية التي تم إرسال الرسائل إليها. يمكن استخدام هذا الخيار عبر الرابط التالي:

								
turkeysms.com.tr/api/v3/rapor/detayli
								
							

المتغيرات المرسلة هي نفسها مثل الخيار الأول، لكن الرد سيكون أكثر تفصيلاً ويشمل قائمة الأرقام وحالة كل منها.

مثال على استجابة تفصيلية:

								
Array
(
  "result" => true,
  "status_code" => "TS-1064",
  "report_id" => "123456",
  "sending_date" => "2024-09-19",
  "sending_time" => "19:35:38",
  "report_status" => "Report dispatched successfully.",
  "number_verification_status" => "Undergoing number verification.",
  "total_mobile_numbers" => "2492",
  "sms_sender_id" => "TURKEY SMS",
  "numbers" => array(
	array(
	  "number_id" => 1,
	  "phone_number" => "5551234567",
	  "sent_at" => "2024-09-19 19:35:38",
	  "done_at" => "2024-09-19 19:36:01",
	  "sms_count" => 1,
	  "sms_status" => "Number received the message",
	  "operator" => "TURKCELL"
	),
	// يتم عرض باقي الأرقام بنفس التنسيق
  )
)
								
							

يمكنك استخدام هذه الخدمة لتتبع حالة الرسائل النصية الجماعية والتأكد من إيصالها إلى الأرقام المستهدفة. الخيار التفصيلي يعد الأمثل عند الحاجة إلى معلومات دقيقة عن حالة كل رقم على حدة.

الإستعلام عن الرصيد [POST]


يمكن الإستعلام عن الرصيد المتوفر في حسابكم - الرصيد المحلي والرصيد الدولي

							
turkeysms.com.tr/api/v3/bakiye_sorgulama/add-content						
							
							

المتغيرات المرسلة للإستعلام

							
$api_key  = '';
$response_type = '';
							
							

شرح المتغيرات المرسلة من خلال الرابط

api_key$ varchar مفتاح الإرسال الخاص بكم الموجود في حسابكم يوضع هنا
response_type$ int خيار عرض الرد من قبل سيرفر الإرسال بلغة برمجية معينة

بعد إجراء عملية الإرسال سيتم ارسال رد من السيرفر على العملية

مثال على الرد المرسل من السيرفر


Array
(
    [result] => true
    [result_code] => TS-1040
    [result_message] => operation_success
    [api_key] => api_key
    [local_balance_sms] => 1
    [international_balance_tl] => 1
)
							

شرح المتغيرات المرسلة من السيرفر

result نتيجة العملية في حال النجاح يظهر true وفي حال فشل الإرسال يظهر false
result_code كود العملية
result_message محتوى رسالة العملية
api_key هنا يظهر مفتاح الإتصال الخاص بالحساب
local_balance_sms الرصيد المحلي - داخل تركيا يظهر كعدد رسائل
international_balance_tl الرصيد الدولي - يظهر كقيمة مالية بالليرة

الإرسال الدولي


يقصد بمصطلح ( الرسائل الدولية ) الرسائل التي يتم إرسالها خارج حدود الجمهورية التركية تشمل كل الأرقام التي ( لاتبدأ ) بالرمز الدولي ( 90+ - 0090 )
خدمة Turkey SMS تمكنك من إرسال رسالة نصية من خلال حسابك إلى أي دولة في العالم لكن يتوجب عليك أن تقوم بشحن رصيدك بحساب دولي حتى تتمكن من الإرسال لأي دولة في العالم تختلف سعر الرسالة بين دولة وآخرى كما يختلف زمن وصول الرسالة الدولية من دولة لآخرى أيضا. لتتمكن من الإرسال بشكل دولي يجب ان تقوم بالتواصل مع مركز الدعم الفني بخدمة الرسائل النصية Turkey SMS ليتم تفعيل حسابك للتتمكن من الإرسال الدولي.
كيف يتم حساب الرسائل الدولية؟
الرصيد الدولي فيتم استخدامه خارج الجمهورية التركية، ويكون طلبه من خلال شحن رصيد مالي _قيمة مالية_ وليس عدد رسائل، وذلك لأن القيمة المالية لإرسال الرسائل تحتلف من دولة لأخرى ويكون سعر الرسالة ثابت مهما بلغ العدد.

كيف أرسل رسالة دولية من خلال الـ api

نفس طريقة إرسال الرسالة المحلية داخل تركيا .. بنفس الرابط وكامل الخيارات
لكن يجب عليكم ان تقوموا بشحن حسابكم برصيد دولي
ويجب كتابة الرقم المرسل له الرسالة بالرمز الدولي

لغات البرمجة المدعومة


نظام الرسائل النصية يدعم جميع لغات البرمجة لإستكمال عملية الربط البرمجي متل

PHP Java JavaScript NodeJS Python CSharp C(LibCURL) Go ObjectiveC Ruby Swift

PHP

function sendRequest($site, $data)
{
    $json = json_encode($data);
    $ch = curl_init($site);
    $header = array('Content-Type: application/json');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
$api_key  = '';
$title    = '';
$text	  = '';
$sentto	  = '';

$body = array("api_key" => $api_key, "title"=>$title, "text"=>$text,"sentto"=>$sentto);
$result = sendRequest('api/v3/gonder/add-content', $body);
//http://www.lalit.org/lab/convert-xml-to-array-in-php-xml2array/

JAVA

Unirest.setTimeouts(0, 0);
HttpResponse response = Unirest.post("/api/v3/gonder/add-content")
.header("Content-Type", "application/json")
.body("{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}")
.asString();

JavaScript

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({"api_key":"API_KEY_HERE","title":"SMS_TITLE_HERE","text":"TEXT_SMS","sentto":"90500000000"});

var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};

fetch("/api/v3/gonder/add-content", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));

Python

import requests

url = "/api/v3/gonder/add-content"

payload = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data = payload)

print(response.text.encode('utf8'))

Ruby

require "uri"
require "net/http"

url = URI("/api/v3/gonder/add-content")

https = Net::HTTP.new(url.host, url.port);
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request.body = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"

response = https.request(request)
puts response.read_body

CSharp

var client = new RestClient("/api/v3/gonder/add-content");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}",  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

C(LibCURL)

CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
  curl_easy_setopt(curl, CURLOPT_URL, "/api/v3/gonder/add-content");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "Content-Type: application/json");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);


NodeJS

var unirest = require('unirest');
var req = unirest('POST', '/api/v3/gonder/add-content')
  .headers({
    'Content-Type': 'application/json'
  })
  .send(JSON.stringify({"api_key":"API_KEY_HERE","title":"SMS_TITLE_HERE","text":"TEXT_SMS","sentto":"90500000000"}))
  .end(function (res) { 
    if (res.error) throw new Error(res.error); 
    console.log(res.raw_body);
  });

ObjectiveC


#import  Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"/api/v3/gonder/add-content"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Content-Type": @"application/json"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);

Go


package main
import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)
func main() {
  url := ""/api/v3/gonder/add-content"
  method := "POST"
  payload := strings.NewReader("{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}")
  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
  }
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  defer res.Body.Close()
  body, err := ioutil.ReadAll(res.Body)

  fmt.Println(string(body))
}

Swift

import Foundation

var semaphore = DispatchSemaphore (value: 0)

let parameters = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "/api/v3/gonder/add-content")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
  semaphore.signal()
}

task.resume()
semaphore.wait()

أمثلة جاهزة للإستخدام


يمكنكم تحميل ملفات جاهزة بلغة البرمجة التي تريدونها لإستخدامها من قبلكم