by @skills-il
שליחת SMS דרך ספקים ישראליים עם תמיכה בעברית ומספרים מקומיים
npx skills-il add skills-il/communication --skill israeli-sms-gatewayלפני שליחה, יש לאמת את פורמט מספר הטלפון:
import re
def validate_israeli_phone(phone: str) -> tuple[bool, str]:
"""Validate and normalize Israeli phone number."""
# Remove spaces, dashes, parentheses
clean = re.sub(r'[\s\-\(\)]', '', phone)
# Handle +972 prefix
if clean.startswith('+972'):
clean = '0' + clean[4:]
elif clean.startswith('972'):
clean = '0' + clean[3:]
# Validate mobile: 05X-XXXXXXX (10 digits)
if re.match(r'^05[0-8]\d{7}$', clean):
return True, '+972' + clean[1:]
# Validate landline: 0X-XXXXXXX (9-10 digits)
if re.match(r'^0[2-9]\d{7,8}$', clean):
return True, '+972' + clean[1:]
return False, "Invalid Israeli phone number"| ספק | מתאים במיוחד ל | סוג API | תמחור |
|---|---|---|---|
| SMS4Free | סטארטאפים, מפתחים | REST | תשלום לפי הודעה |
| InforUMobile | קמפיינים שיווקיים | REST | חבילות |
| Twilio | גלובלי + ישראלי | REST | תשלום לפי הודעה |
| Vonage | ארגוני | REST | תמחור לפי נפח |
דוגמה עם SMS4Free:
import requests
def send_sms_sms4free(to: str, message: str, api_key: str, sender: str):
url = "https://www.sms4free.co.il/ApiSMS/SendSMS"
payload = {
"key": api_key,
"user": "username",
"pass": "password",
"sender": sender,
"recipient": to,
"msg": message
}
response = requests.get(url, params=payload)
return response.textלפני שליחת SMS מסחרי:
המשתמש אומר: "שלח קוד אימות למספר נייד ישראלי" תוצאה: יצירת קוד בן 6 ספרות, שליחה דרך API של ספק SMS, טיפול באישור מסירה.
המשתמש אומר: "המר את 054-1234567 לפורמט בינלאומי" תוצאה: +972541234567
scripts/send_sms.py — שולח הודעות SMS דרך ספקי שערים ישראליים (SMS4Free, Twilio, InforUMobile). תומך בבחירת ספק, שליחת הודעות ובדיקת סטטוס מסירה. מקבל פרטי התחברות דרך ארגומנטים בשורת הפקודה או משתני סביבה (SMS_API_KEY, TWILIO_ACCOUNT_SID וכו'). הרצה: python scripts/send_sms.py --helpscripts/validate_phone.py — מאמת ומנרמל מספרי טלפון ישראליים מכל פורמט נפוץ (מקומי 05X, בינלאומי 972+, עם/בלי מקפים) לפורמט בינלאומי סטנדרטי +972XXXXXXXXX. מבחין בין מספרי נייד לקווים נייחים. הרצה: python scripts/validate_phone.py --helpסיבה: מגוון -- מספר לא תקין, חסימת מפעיל, חריגה ממכסה פתרון: בדקו אימות מספר, ודאו פרטי התחברות ל-API, בדקו בלוח הבקרה של הספק את סטטוס המסירה.
סיבה: זיהוי שולח מותאם אישית דורש רישום מראש בישראל פתרון: רשמו את זיהוי השולח אצל ספק ה-SMS. זיהוי לא רשום יופיע כמספר גנרי של הספק.
סוכנים נתמכים
ציון אמון
ניתוח אוטומטי: זוהו 3 גורמי סיכון (הרצת סקריפטים, גישה לרשת, גישה למשתני סביבה). הרשאות: 75/100, טיפול בנתונים: 85/100.
נבדק על ידי: skills-il-sync-v1
by @skills-il
אוטומציה ומיטוב תהליכי עבודה ב-Monday.com לצוותים ישראליים
by @skills-il
חיפוש עבודה, מיטוב קורות חיים והשוואת שכר בשוק הישראלי
by @skills-il
ממשק WhatsApp Business API להודעות עסקיות בעברית