BroadNet
Python·/python

استدعاء BroadNet من Python (REST).

لا توجد حزمة SDK للغة Python: استدعِ واجهة REST API مباشرة باستخدام requests. أرسل جسم JSON إلى /sms/sendSms مع رمز Bearer، أو ولّد عميلًا محدد الأنواع من مواصفة OpenAPI 3.1 باستخدام openapi-generator.

قراءة لمدة 5 دقائق·تم التحديث في سبتمبر 2026·القسم 14 من 15مركز المطورين

Overview

استدعِ BroadNet REST API من Python باستخدام مكتبة requests أو httpx. لا توجد حزمة BroadNet للغة Python: حزمة SDK الرسمية الوحيدة مخصّصة لـ TypeScript وNode.js فقط. إذا أردت عميل Python بأنواع محددة، فأنشئه من مواصفات OpenAPI باستخدام openapi-generator؛ وإلا فإن استدعاءات HTTP البسيطة أدناه تكفي.

معالجة الأخطاء

تُعيد الأخطاء رمز حالة HTTP وجسم JSON لاستجابة الاستثناء (status, error, message, errorCode, requestUri). تقوم الدالة resp.raise_for_status() بتحويلها إلى استثناءات. أعد المحاولة فقط عند أخطاء الشبكة واستجابات 5xx، مع تأخير تدريجي (backoff)؛ فبمجرد أن يُعيد الاستدعاء معرّف رسالة يكون الإرسال قد قُبل، لذا لا تُعِد إرساله دون تحقق.

متطلبات

أي إصدار مدعوم من Python 3. يستخدم المثال المتزامن requests، بينما يستخدم المثال غير المتزامن httpx؛ قم بتثبيت المكتبة التي تستخدمها.

أمثلة

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

terminalbash
pip install requests httpx
↳ مكتبات HTTP الأساسية. لا حاجة لحزمة BroadNet.
send.pypython
import os, requests

r = requests.post(
    "https://api.broadnet.me/sms/sendSms",
    headers={"Authorization": f"Bearer {os.environ['BROADNET_TOKEN']}"},
    json={
        "senderId": "BroadNet",
        "destinationNumber": "447700900123",
        "message": "Your verification code is 482913",
        "messageType": "TEXT",
    },
)

print(r.status_code, r.text)  # message ID
↳ 200 OK · نص الاستجابة هو معرف الرسالة.
async.pypython
import asyncio
import os

import httpx

URL = "https://api.broadnet.me/sms/sendSms"
HEADERS = {"Authorization": f"Bearer {os.environ['BROADNET_TOKEN']}"}


async def send(client: httpx.AsyncClient, number: str, text: str) -> str:
    resp = await client.post(
        URL,
        headers=HEADERS,
        json={
            "senderId": "BroadNet",
            "destinationNumber": number,
            "message": text,
            "messageType": "TEXT",
        },
    )
    resp.raise_for_status()
    return resp.text  # message ID


async def main() -> None:
    recipients = ["447700900123", "447700900124", "447700900125"]
    async with httpx.AsyncClient(timeout=10) as client:
        ids = await asyncio.gather(
            *(send(client, n, "Your code is 482913") for n in recipients)
        )
    print(ids)


if __name__ == "__main__":
    asyncio.run(main())
↳ بالنسبة للقوائم الكبيرة، استخدم POST /sms/sendbulk مع تحميل ملف بدلاً من عمليات الإرسال الفردية المتعددة.
terminalbash
# Optional: generate a typed Python client from the OpenAPI spec
curl -O https://www.broadnet.me/developers/openapi.yaml
npx @openapitools/openapi-generator-cli generate \
  -i openapi.yaml -g python -o broadnet-python
وصول تجريبي · نرد خلال يوم عمل واحد

اطلب وصولاً تجريبياً وابنِ بثقة.

سنرد عليك خلال يوم عمل واحد ببيانات اعتماد الاختبار. بعد ذلك، ثبّت TypeScript SDK أو استدعِ REST API من أي لغة، وأرسل رسالتك التجريبية الأولى إلى رقمك الخاص.

$npm install @broadnet/cpaas-sdk axiosready