انتقل للمحتوى

TOGETHER SMS · SMS API في مصر

من أول رمز تحقق لآخر تحديث طلب… رسائلك تخرج من نظامك باسم شركتك

اربط تطبيقك أو متجرك بخدمة SMS API في مصر، واجعل أحداث نظامك تتحول إلى رسائل واضحة لعملائك: رمز دخول، تأكيد طلب، تذكير موعد أو متابعة شحنة. ربط HTTPS من السيرفر، ورصيد واحد لخدمة API والرسائل الجماعية.

  • رموز OTP وتنبيهات
  • اسم مرسل معتمد
  • داخل مصر
نظامك ← بوابة الرسائل ← عميلك. رسم توضيحي، وليس إشعار تسليم فعلي.

الفكرة ببساطة

عميلك ينتظر الخطوة التالية. خلّي رسالتك توضّحها.

الرسائل الخدمية تجعل المعلومة المهمة في مكان يسهل الرجوع إليه. يحدد نظامك المستلم والنص والتوقيت؛ وتستدعي البوابة لإرسال الرسالة. تطبيقك يظل مسؤولًا عن إنشاء رمز OTP وصلاحيته وحدود المحاولات.

ابدأ من احتياج نشاطك

استخدامات واضحة. ورسالة لها هدف.

01

رمز تحقق عند الطلب

ساعد العميل يكمل إنشاء الحساب أو تأكيد الدخول برمز يطلبه من تطبيقك.

02

تأكيد الطلب والدفع

أبلغ العميل بتأكيد الطلب أو بحالة السداد المسجلة بالفعل في نظامك.

03

الشحن والتسليم

شارك تحديث الشحنة عندما يسجّل نظامك تغيير حالتها، مع الخطوة التالية.

04

المواعيد والتجديدات

أرسل تذكيرًا بموعد الزيارة أو انتهاء الاشتراك من جدول تطبيقك.

من الفكرة للرسالة

مثال: من تأكيد الطلب إلى طمأنة العميل

بعد تأكيد الطلب داخل المتجر، يستدعي السيرفر خدمة SMS لإرسال ملخص قصير. اذكر رقم الطلب والخطوة التالية، وتجنب إرسال كلمات مرور أو بيانات دفع في الرسالة.

TOGETHER SMS ● ● ●
تم تأكيد طلبك رقم 245. سنرسل لك تحديثًا عند تجهيز الشحنة. شكرًا لاختيارك شركتنا.
نص توضيحي فقط؛ يُراجع النص والطول قبل التنفيذ.

خطوات واضحة

من أول استفسار إلى بداية محسوبة.

1

تفعيل الحساب والاسم

نراجع المستندات ونستكمل اعتماد اسم المرسل قبل الإرسال باسمه.

2

الربط من السيرفر

يحفظ فريقك بيانات الدخول على السيرفر ويبدأ باستعلام الرصيد.

3

اختبار مضبوط

اختبر على رقم تملكه وراجع الرد والنقاط ووصول الرسالة.

4

الإرسال من أحداث نظامك

اربط الأحداث المناسبة بالرسائل وتابع النتائج دون إعادة تلقائية عند نتيجة مجهولة.

التكلفة قبل القرار

تكلفة بداية واضحة. وباقة تناسب حجم رسائلك.

تفعيل اسم المرسل مرة واحدة لخدمتي Bulk SMS وAPI، ثم اختيار باقة الرصيد. لا تخلط رسوم التفعيل مع تكلفة الرسائل المستهلكة.

أولًا: تفعيل اسم المرسل

اسم شركتك يظهر للعميل

2,150 جنيه

غير شامل 14% ضريبة؛ الإجمالي 2,451 جنيه.

  • المستندات: سجل تجاري وبطاقة ضريبية.
  • المدة المتوقعة: 7–10 أيام عمل، وفق الموافقات.
  • اسم المرسل حتى 11 حرفًا إنجليزيًا أو رقمًا أو مسافة، ويخضع للاعتماد.
فعّل اسم شركتك وليك 1000 رسالة هدية

الهدية بعد الاعتماد والتفعيل وفق العرض، للاستخدام عبر API أو Bulk SMS.

ثانيًا: رصيد الرسائل

رصيد واحد. طريقتان للإرسال.

استخدم نفس رصيد الحساب من نظامك عبر API أو من لوحة الرسائل الجماعية. الحد الأدنى لشراء الرصيد 1000 وحدة.

الوحداتالسعر بالجنيهللوحدة
1,0002700.270
5,0001,3500.270
10,0002,6500.265
20,0005,2000.260
50,00012,7500.255
100,00025,0000.250
150,00036,7500.245

الأسعار غير شاملة 14% ضريبة. الجزء الواحد لكل مستلم يستهلك وحدة؛ الرسائل الطويلة والترميز قد يغيران عدد الوحدات.

قبل ما تبدأ

إجابات تساعدك تختار بوضوح.

هل يلزم مطوّر للربط؟

نعم، الربط يتم من السيرفر باستخدام مكتبة HTTP في لغة فريقك. نوفر دليلًا وأمثلة cURL وPHP وNode.js وPython وC#، ويمكن إرسال الحملات من لوحة Bulk SMS دون برمجة.

هل الهدية ورصيد API منفصلان عن Bulk SMS؟

الرصيد واحد على الحساب، وهدية 1000 رسالة تضاف بعد اعتماد اسم المرسل وتفعيل الخدمة وفق العرض.

كيف أحسب عدد الرسائل المطلوبة؟

كل جزء من الرسالة لكل مستلم يستهلك وحدة. راجع اللغة والطول قبل الإرسال؛ النص العربي حتى 70 حرفًا والإنجليزي GSM-7 حتى 160 حرفًا في الجزء الواحد، وقد تغيّر الرموز والترميز عدد الأجزاء.

TOGETHER SMS

عندك نظام جاهز؟ خلّينا نجهز له بداية واضحة.

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

START WITH A BALANCE CHECK

ابدأ بخطوات واضحة، قبل أول رسالة.

١. فعّل حسابك واسم المرسل

تواصل معنا لاستكمال بيانات الشركة والمستندات، والحصول على بيانات الربط واسم مرسل معتمد.

٢. اربط من السيرفر

احفظ بيانات الدخول في إعدادات آمنة على سيرفرك، ثم جرّب الاستعلام عن الرصيد.

٣. اختبر رسالة واحدة

استخدم رقم اختبار تملكه واسم المرسل المعتمد، ثم راجع القبول والتكلفة ووصول الرسالة.

نقطة الاتصال للربط الجديد

https://togethersms.com/sendsms.php

للاستعلام عن الرصيد: أرسل user وpassword وaction=get. الرد الصحيح قيمة رقمية نصية، وقد تتضمن كسورًا.

cURL / BALANCE
# Run on your server; load secrets from your environment.
curl --get 'https://togethersms.com/sendsms.php' \
  --connect-timeout 10 --max-time 20 \
  --data-urlencode "user=${TOGETHER_SMS_USER}" \
  --data-urlencode "password=${TOGETHER_SMS_PASSWORD}" \
  --data-urlencode 'action=get'

# Sending is a separate request. Use an approved test recipient.
# Add numbers, sender, message and lang; omit action=get.
الربط يتم من السيرفر فقط. لا تضع كلمة المرور داخل المتصفح أو تطبيق الموبايل، ولا تسجّل رابط الطلب الذي يحتوي عليها.

HTTP API REFERENCE

المعاملات والردود، بدون تخمين.

إرسال الرسائل يستخدم طلب HTTPS GET بمعاملات في الرابط. الجدول التالي خاص بطلب الإرسال؛ action=get مخصص لاستعلام الرصيد.

المعاملالقيمة المطلوبة
userاسم مستخدم حساب الـAPI.
passwordكلمة مرور حساب الـAPI؛ تحفظ على السيرفر.
numbersرقم دولي أو أرقام مفصولة بفواصل، بدون + أو مسافات.
senderاسم المرسل المعتمد والمفعّل لحسابك.
messageنص الرسالة UTF-8، مع ترميز كل قيمة مرة واحدة.
langen للإنجليزية، وar للعربية أو Unicode.
SEND REQUEST / PLACEHOLDERS
GET /sendsms.php?user=YOUR_USERNAME&password=YOUR_PASSWORD
    &numbers=YOUR_AUTHORIZED_TEST_NUMBER
    &sender=YOUR_APPROVED_SENDER
    &message=Your%20order%20is%20ready&lang=en
Host: togethersms.com

الأسطر السابقة للتوضيح؛ الطلب الفعلي رابط واحد. استخدم مكتبة HTTP لترميز القيم، واستبدل رقم الاختبار برقم تملكه.

اقرأ الرد كاملًا

الرد النصيالمعنى والخطوة التالية
1تم قبول الطلب؛ ليس تأكيد وصول للموبايل.
1:201001234567قبول مع قائمة أرقام؛ تحقق من صيغة الرد كاملة.
0رفض عام للطلب.
Invalid loginراجع بيانات الحساب بصورة آمنة.
Missing or Empty Fieldراجع المعاملات المطلوبة.
Insufficient Balanceراجع الرصيد والنقاط المطلوبة.
Invalid Senderراجع اسم المرسل المعتمد.
Sender name is not activatedاسم المرسل يحتاج استكمال التفعيل.
Invalid Message Languageراجع lang وترميز النص.
HTTP 200 وحده لا يعني نجاح الإرسال. الرد غير المعروف أو انتهاء المهلة نتيجة غير معروفة؛ راجع العملية قبل المحاولة مجددًا لتجنب التكرار.

BACKEND EXAMPLES

ابدأ باللغة التي يستخدمها فريقك.

أمثلة الاستعلام عن الرصيد تستخدم متغيرات بيئة لبيانات الدخول. لا تنفّذ الصفحة أي طلبات API نيابةً عنك.

cURL

cURL / BALANCE
# Run on your server; load secrets from your environment.
curl --get 'https://togethersms.com/sendsms.php' \
  --connect-timeout 10 --max-time 20 \
  --data-urlencode "user=${TOGETHER_SMS_USER}" \
  --data-urlencode "password=${TOGETHER_SMS_PASSWORD}" \
  --data-urlencode 'action=get'

# Sending is a separate request. Use an approved test recipient.
# Add numbers, sender, message and lang; omit action=get.

Node.js

Node.js / BALANCE
// Backend only. Never expose provider credentials in a browser.
const query = new URLSearchParams({
  user: process.env.TOGETHER_SMS_USER,
  password: process.env.TOGETHER_SMS_PASSWORD,
  action: 'get'
});
const response = await fetch(
  'https://togethersms.com/sendsms.php?' + query,
  { redirect: 'error', signal: AbortSignal.timeout(20000) }
);
const body = (await response.text()).trim();
if (!response.ok || !/^[0-9]+(?:\.[0-9]+)?$/.test(body)) {
  throw new Error('Balance request was not accepted');
}
// Keep decimal precision; do not log the request URL.

PHP

PHP / BALANCE
<?php
// Backend only. Secrets come from your deployment environment.
$query = http_build_query(array(
  'user' => getenv('TOGETHER_SMS_USER'),
  'password' => getenv('TOGETHER_SMS_PASSWORD'),
  'action' => 'get'
), '', '&', PHP_QUERY_RFC3986);
$ch = curl_init('https://togethersms.com/sendsms.php?' . $query);
curl_setopt_array($ch, array(
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_FOLLOWLOCATION => false,
  CURLOPT_CONNECTTIMEOUT => 10,
  CURLOPT_TIMEOUT => 20
));
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($body === false || $status < 200 || $status >= 300 ||
    !preg_match('/\A[0-9]+(?:\.[0-9]+)?\z/', trim($body))) {
  throw new RuntimeException('Balance request was not accepted');
}

Python

Python / BALANCE
# Backend only. Requires the requests package.
import os
import re
import requests

response = requests.get(
    'https://togethersms.com/sendsms.php',
    params={
        'user': os.environ['TOGETHER_SMS_USER'],
        'password': os.environ['TOGETHER_SMS_PASSWORD'],
        'action': 'get'
    },
    timeout=(10, 20),
    allow_redirects=False
)
body = response.text.strip()
if not (200 <= response.status_code < 300 and
        re.fullmatch(r'[0-9]+(?:\.[0-9]+)?', body)):
    raise RuntimeError('Balance request was not accepted')
# Timeout values are connect/read timeouts, not a strict total deadline.

C# / .NET

C# / .NET / BALANCE
// Backend only. Use a supported .NET runtime.
using var handler = new HttpClientHandler { AllowAutoRedirect = false };
using var client = new HttpClient(handler) {
    Timeout = TimeSpan.FromSeconds(20)
};
string user = Environment.GetEnvironmentVariable("TOGETHER_SMS_USER")!;
string password = Environment.GetEnvironmentVariable("TOGETHER_SMS_PASSWORD")!;
string url = "https://togethersms.com/sendsms.php?user=" +
    Uri.EscapeDataString(user) + "&password=" +
    Uri.EscapeDataString(password) + "&action=get";
using var response = await client.GetAsync(url);
string body = (await response.Content.ReadAsStringAsync()).Trim();
if (!response.IsSuccessStatusCode ||
    !System.Text.RegularExpressions.Regex.IsMatch(
        body, @"\A[0-9]+(?:\.[0-9]+)?\z")) {
    throw new InvalidOperationException("Balance request was not accepted");
}
Flutter وتطبيقات الموبايل: التطبيق يتصل بسيرفرك، وسيرفرك يتصل بـTogether SMS. تفاصيل الحماية والتعامل مع النتائج موجودة في الدليل.

DEVELOPER DOCUMENTATION / ENGLISH

دليل يحتفظ به فريقك ويرجع له وقت الحاجة.

مرجع الطلبات والردود، وأمثلة الربط، والتعامل مع الأخطاء، وخطوات الانتقال إلى العنوان الجديد.

PDF · v1.2 · 06 Nov 2026
تحميل دليل API بالإنجليزية
للعملاء المستخدمين للرابط القديم
https://sms.masrbokra.com/sendsms.php
موعد الانتقال المستهدف: 30 يونيو 2027. احتفظ بباقي المعاملات كما هي، واختبر بيانات حسابك والردود قبل تحديث بيئة الإنتاج. تابع إشعاراتنا لتأكيد خطة الإيقاف.

أسئلة يهم فريقك يعرف إجاباتها.

هل أضع بيانات الـAPI داخل تطبيق الموبايل؟

لا. تطبيق Flutter أو الويب يتصل بسيرفرك، وسيرفرك فقط يحتفظ ببيانات حساب SMS ويتصل بالبوابة.

هل الرد 1 يعني أن العميل استلم الرسالة؟

يعني قبول الطلب من البوابة. هذا العقد لا يوفّر تأكيد وصول للموبايل أو نقطة اتصال موثقة لتقارير التسليم.

ماذا أفعل لو انتهت مهلة طلب الإرسال؟

اعتبر النتيجة غير معروفة، وراجعها قبل الإرسال مجددًا. ربما استلمت البوابة الطلب بالفعل؛ إعادة المحاولة تلقائيًا قد تكرر الرسائل.

هل يمكن جدولة الرسائل من هذا الـAPI؟

الدليل المرفق لا يوثّق معاملًا للجدولة. يمكن لتطبيقك إدارة التوقيت؛ خصائص لوحة الموقع لا تعني تلقائيًا توافرها بنفس الشكل في الـAPI.

كم رقمًا أرسل في الطلب الواحد؟

يدعم العقد قائمة أرقام مفصولة بفواصل، لكن حدود العدد وطول الرابط ومعدل الطلبات تحتاج تأكيدًا مع فريقنا قبل الحملات الكبيرة.

هل الرابط القديم سيتوقف فورًا؟

لا. موعد الانتقال المستهدف هو 30 يونيو 2027. اختبر الرابط الجديد، وتابع إشعارات فريقنا قبل تغيير بيئة الإنتاج.

LET'S CONNECT YOUR BUSINESS

عندك تطبيق جاهز؟ نساعدك تبدأ الربط.

احكي لنا عن استخدامك، ونراجع معك تفعيل اسم المرسل ومتطلبات البداية.