פיתוח צ'אטבוט ל-Viber: רישום, Webhook, מדיה עשירה ופריסה

השקת צ'אטבוט ב-Viber מתחילה פעמים רבות בבחירה שגויה בין Public Account ל-Bot API, מה שמוביל לבזבוז זמן ומגבלות תפקודיות. אנחנו מפתחים בוטים ל-Viber עם ארכיטקטורה נכונה, כולל הגדרת webhook מאובטחת ושימוש ב-Rich Media. הצוות שלנו מספק את הפרויקט במפתח מלא—מהרישום ועד לפריסה—תוך הבטחת פעילות יציבה ותמיכה מתמשכת.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
פיתוח צ'אטבוט ל-Viber: רישום, Webhook, מדיה עשירה ופריסה
פשוט
מ- 4 שעות עד 2 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

פיתוח צ'אטבוט Viber: רישום, Webhook, מדיה עשירה ופריסה

צוותים רבים מתבלבלים בין חשבון ציבורי של Viber לבין Bot API כשהם מתחילים אוטומציה, ובוחרים בסוג חשבון שגוי. הם מבזבזים זמן על ביורוקרטיה או נתקלים במגבלות של Bot API למרות יכולות המדיה העשירה והמקלדת. בחירה נכונה מההתחלה חוסכת עד שבועיים של פיתוח.

בעיה נפוצה נוספת היא webhook ללא אימות חתימה. ללא בדיקת HMAC, תוקף יכול לשלוח הודעה מזויפת בשם משתמש. אנו תמיד מיישמים אימות X-Viber-Content-Signature כדי לחסל וקטור התקפה זה לחלוטין.

למה Viber Bot API עדיף לאוטומציה

Viber Bot API נרשם דרך developers.viber.com בחינם, ללא חוזה או מידרציה. אתה מקבל auth_token תוך דקות ויכול מיד להגדיר את ה-webhook. בניגוד לחשבון ציבורי, אין דרישות תוכן מחמירות — אתה מחליט אילו הודעות לשלוח.

הבדלים עיקריים:

קריטריון בוט Viber חשבון ציבורי של Viber
רישום שירות עצמי, בחינם דרך שותפים, בתשלום
Webhook כן כן
מדיה עשירה כן כן
שליחת הודעות המונית רק למנויים מנויים + פלחים
מידרציה לא כן, מחמירה
זמן השקה יום אחד 2–4 שבועות

איך להגדיר Webhook ולהבטיח אבטחה

יצירת בוט נעשית דרך לוח הניהול של Viber. לאחר היצירה, מונפק auth_token — המשמש בכל בקשה ל-API בכותרת X-Viber-Auth-Token. ה-webhook מוגדר באמצעות בקשת POST אחת:

import requests

def set_webhook(url: str, auth_token: str):
    response = requests.post(
        "https://chatapi.viber.com/pa/set_webhook",
        headers={"X-Viber-Auth-Token": auth_token},
        json={
            "url": url,
            "event_types": [
                "delivered",
                "seen",
                "failed",
                "subscribed",
                "unsubscribed",
                "conversation_started",
                "message"
            ],
            "send_name": True,
            "send_photo": True
        }
    )
    return response.json()
# {"status": 0, "status_message": "ok"}

Viber מאשר את ה-webhook מיד בתגובה ל-set_webhook — ללא אתגר אימות נפרד כמו ב-WhatsApp/Meta. זה מפשט את האינטגרציה.

אבטחת Webhook

אבטחת webhook מושגת על ידי אימות החתימה של כל בקשה נכנסת. Viber שולח את הכותרת X-Viber-Content-Signature, המכילה HMAC-SHA256 של גוף הבקשה עם ה-auth_token כמפתח.

import hmac, hashlib

def verify_viber_signature(body: bytes, signature: str, auth_token: str) -> bool:
    expected = hmac.new(
        auth_token.encode(),
        body,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)

ללא בדיקה זו, ה-webhook שלך יכול לקבל הודעות מזויפות מצדדים שלישיים. אנו מיישמים אימות חתימה ברמת ה-middleware בכל הפרויקטים.

טעויות נפוצות בהגדרת Webhook

  • שימוש ב-HTTP במקום HTTPS — Viber דוחה כתובות URL לא מאובטחות.
  • התעלמות מ-X-Viber-Content-Signature — הבוט הופך לפגיע.
  • auth_token שגוי — ודא שהטוקן מלוח הניהול, לא מחשבון ציבורי.
  • חוסר טיפול ב-conversation_started — הבוט לא יכול לברך משתמשים חדשים.
  • שליחת הודעות המונית ללא מנויים — Viber חוסם את החשבון.

אילו סוגי הודעות Viber תומך?

Viber תומך ב: טקסט, תמונה, וידאו, קובץ, מדבקה, איש קשר, כתובת URL, מיקום ו-rich_media. מדיה עשירה היא פורמט קרוסלה מותאם אישית עם כפתורים, תמונות וכותרים. מדיה עשירה היא ייחודית ל-Viber — אין אנלוג ישיר בטלגרם. אידיאלית לקטלוגי מוצרים, חדשות וכרטיסי שירות.

דוגמה לשליחת מדיה עשירה:

def send_rich_media(receiver: str, auth_token: str, items: list):
    rich_media = {
        "Type": "rich_media",
        "ButtonsGroupColumns": 6,
        "ButtonsGroupRows": 7,
        "BgColor": "#FFFFFF",
        "Buttons": []
    }
    for item in items:
        rich_media["Buttons"].extend([
            {
                "Columns": 6,
                "Rows": 3,
                "ActionType": "open-url",
                "ActionBody": item["url"],
                "Image": item["image_url"]
            },
            {
                "Columns": 6,
                "Rows": 1,
                "Text": f"<b>{item['title']}</b>",
                "ActionType": "none"
            },
            {
                "Columns": 3,
                "Rows": 1,
                "Text": "Подробнее",
                "ActionType": "open-url",
                "ActionBody": item["url"],
                "BgColor": "#2db5f5"
            }
        ])
    requests.post(
        "https://chatapi.viber.com/pa/send_message",
        headers={"X-Viber-Auth-Token": auth_token},
        json={"receiver": receiver, "type": "rich_media", "rich_media": rich_media}
    )

מקלדת וכפתורים חד-פעמיים

מקלדת Viber היא מקלדת מותאמת אישית בתחתית המסך. import requests def set_webhook(url: str, auth_token: str): response = requests.post( "https://chatapi.viber.com/pa/set_webhook", headers={"X-Viber-Auth-Token": auth_token}, json={ "url": url, "event_types": [ "delivered", "seen", "failed", "subscribed", "unsubscribed", "conversation_started", "message" ], "send_name": True, "send_photo": True } ) return response.json() # {"status": 0, "status_message": "ok"} לכפתורים בסיסיים:

keyboard = {
    "Type": "keyboard",
    "DefaultHeight": True,
    "BgColor": "#FFFFFF",
    "Buttons": [
        {
            "Columns": 3,
            "Rows": 1,
            "Text": "Каталог",
            "ActionType": "reply",
            "ActionBody": "catalog",
            "BgColor": "#f5f5f5"
        },
        {
            "Columns": 3,
            "Rows": 1,
            "Text": "Поддержка",
            "ActionType": "reply",
            "ActionBody": "support",
            "BgColor": "#f5f5f5"
        }
    ]
}

המקלדת נשלחת עם כל הודעה — היא לא "נדבקת" כמו בטלגרם. דפוס סטנדרטי: צרף מקלדת לכל תגובה של הבוט.

אירוע conversation_started

import hmac, hashlib def verify_viber_signature(body: bytes, signature: str, auth_token: str) -> bool: expected = hmac.new( auth_token.encode(), body, hashlib.sha256 ).hexdigest() return hmac.compare_digest(expected, signature) — המשתמש פותח את הצ'אט עם הבוט בפעם הראשונה או דרך קישור עמוק. זה הרגע היחיד שבו ניתן לשלוח הודעת welcome למשתמש לא רשום. לאחר מכן, המשתמש חייב לכתוב (להירשם) לפני שהבוט יכול לשלוח הודעות.

מגבלה: Viber לא מאפשר שליחת הודעות המונית למשתמשים לא רשומים — רק לאלה שנרשמו (אירוע def send_rich_media(receiver: str, auth_token: str, items: list): rich_media = { "Type": "rich_media", "ButtonsGroupColumns": 6, "ButtonsGroupRows": 7, "BgColor": "#FFFFFF", "Buttons": [] } for item in items: rich_media["Buttons"].extend([ { "Columns": 6, "Rows": 3, "ActionType": "open-url", "ActionBody": item["url"], "Image": item["image_url"] }, { "Columns": 6, "Rows": 1, "Text": f"<b>{item['title']}</b>", "ActionType": "none" }, { "Columns": 3, "Rows": 1, "Text": "Подробнее", "ActionType": "open-url", "ActionBody": item["url"], "BgColor": "#2db5f5" } ]) requests.post( "https://chatapi.viber.com/pa/send_message", headers={"X-Viber-Auth-Token": auth_token}, json={"receiver": receiver, "type": "rich_media", "rich_media": rich_media} ) ).

טיפול בשגיאות וניסיונות חוזרים

בעת שליחת הודעות, Viber מחזיר סטטוס keyboard = { "Type": "keyboard", "DefaultHeight": True, "BgColor": "#FFFFFF", "Buttons": [ { "Columns": 3, "Rows": 1, "Text": "Каталог", "ActionType": "reply", "ActionBody": "catalog", "BgColor": "#f5f5f5" }, { "Columns": 3, "Rows": 1, "Text": "Поддержка", "ActionType": "reply", "ActionBody": "support", "BgColor": "#f5f5f5" } ] } ב-webhook. חשוב להגדיר לוגיקת ניסיון חוזר עם backoff אקספוננציאלי. אנו משתמשים ב-Redis לאחסון תור ההודעות ומנסים לשלוח שוב עד 3 פעמים עם השהיות של 5, 30 ו-120 שניות. זה משפר את יכולת המסירה ל-99.8%.

מה כלול בפיתוח בוט Viber

בהזמנת פיתוח בוט Viber מפתח, אתה מקבל:

  • רישום והגדרת בוט בלוח הניהול של Viber
  • התקנת webhook עם אימות חתימה
  • טיפול בכל האירועים (message, conversation_started, subscribed, unsubscribed)
  • יישום מדיה עשירה / מקלדת לפי העיצוב שלך
  • תרחישי דיאלוג עם ניהול מצב (Redis FSM)
  • אינטגרציה עם ה-CRM או מערכות הקצה שלך
  • תיעוד Bot API ופרטי גישה
  • תמיכה לאחר ההשקה (שבועיים בחינם)

אנו מפתחים פתרונות ניידים כבר למעלה מ-6 שנים — השלמנו יותר מ-30 פרויקטים ב-Viber, טלגרם ו-WhatsApp. המהנדסים שלנו מוסמכים ב-Swift ו-Kotlin, מה שמבטיח איכות קוד גבוהה. כל בוט עובר בדיקות עומס לפני השחרור. אנו מספקים אחריות ל-3 חודשים על פעולת הבוט לאחר ההשקה.

"ב-Viber, בנינו בוט קטלוג עם מדיה עשירה — ההמרה לרכישה עלתה ב-25% בשבוע הראשון" — משוב לקוח.

הערכות זמנים

סוג בוט זמן ביצוע
בוט מידע פשוט עם מקלדת וטקסט 1–2 שבועות
בוט עם מדיה עשירה ו-FSM בסיסי 2–4 שבועות
בוט מלא עם אינטגרציית CRM ואנליטיקה 4–7 שבועות

העלות מחושבת באופן אישי לפי מורכבות ואינטגרציות. צור קשר — נעריך את הפרויקט שלך תוך יום עסקים אחד. פנה אלינו לייעוץ על הפרויקט שלך.