אחרי שתירשמו כשותפי RBM, תהיה לכם גישה לחשבון שותפים. כדי לגשת להגדרות של חשבון השותף, פותחים את Business Communications Developer Console ולוחצים על Partner account settings. מכאן תוכלו:
- עדכון פרטי חשבון השותף
- הוספה, עריכה והסרה של המותגים שמקושרים לחשבון
- ניהול המשתמשים בחשבון
- יצירה של חשבון שירות ומפתח לאימות קריאות ל-API
עדכון פרטי חשבון השותף
בדף הגדרות אפשר לראות את מזהה השותף ולעדכן את הפרטים הבאים:
שדה | תיאור |
---|---|
שם השותף | השם של חשבון השותף |
השם המוצג | השם יופיע ב
דוחות החיוב של RBM שמקבלים הספקים (כשדה owner_name ). הספקים ישתמשו במידע הזה כדי לזהות אתכם כשותפים מהימנים, וכדי לוודא שהם יוצרים את פרטי החשבונית הנכונים לגבי השימוש שלכם ב-RBM כדי להגיע למנויים שלהם. השם שצריך לציין כאן צריך להיות זהה לשם שמופיע בחוזים שלכם עם הספק לשליחת הודעות. |
איש קשר לנושאים טכניים | זה מי ש-Google תפנה אליו אם יהיו בעיות טכניות הקשורות לנציגים שלך. אפשר לעדכן את
|
Webhook | זוהי כתובת ה-URL של נקודת הקצה של ה-webhook. לוחצים על Configure (הגדרה) כדי לעדכן אותה. כש מגדירים את ה-webhook של השותף, הוא חל על כל הנציגים. אם רוצים להשתמש ב-webhook אחר לסוכן מסוים, אפשר להגדיר webhook לסוכן שיחול רק עליו. |
ניהול מותגים
שותפי RBM יכולים ליצור נציגים בשם מותגים.
בדף מותגים בקטע הגדרות החשבון תוכלו להוסיף, לערוך ולהסיר את המותגים שמשויכים לחשבון השותף.
הוספת מותג
כדי להוסיף מותג, מזינים את השם שלו בשדה הקלט ולוחצים על הוספה.
עריכת מותג
כדי לערוך מותג:
- לוחצים על תיבת הסימון שלצד שם המותג.
- לוחצים על הלחצן ואז על עריכת השם.
- מבצעים את השינויים הרצויים ולוחצים על סיום.
הסרת מותג
אי אפשר להסיר מותג אם הוא משויך לנציג, גם אם הנציג לא הושקה.
כדי להסיר מותג, מסמנים את התיבה לצד שם המותג ולוחצים על Delete.
ניהול משתמשים
בדף משתמשים בקטע הגדרות החשבון אפשר לנהל את המשתמשים בחשבון השותף. למשתמש שיצר את חשבון השותף יש את התפקיד 'בעלים'. למשתמשים חדשים יכול להיות התפקיד 'מנהל' או 'קורא'.
- מנהלים יכולים לגשת לכל היכולות של מסוף הפיתוח כדי לנהל את כל הסוכנים ששייכים לחשבון השותף.
- לקוראים יש גישה ל-Developer Console לצורך קריאה בלבד, כדי לראות את כל הסוכנים ששייכים לחשבון השותף.
הוספת משתמש
כדי להוסיף משתמש, מזינים את כתובת האימייל שלו בשדה הקלט ובוחרים את התפקיד שלו.
כשאתם מוסיפים משתמש חדש, הוא מקבל אימייל עם הודעה על כך שיש לו גישה לחשבון השותף.
להסיר משתמשים
כדי להסיר משתמש:
- מאתרים את המשתמש שרוצים להסיר ולוחצים על הלחצן בשורה שלו בטבלה.
- בוחרים באפשרות הסרת משתמש.
- מאשרים את ההסרה.
המשתמש שהוסר יקבל אימייל עם הודעה על כך שאין לו יותר גישה לחשבון השותף.
לא ניתן להסיר משתמש עם תפקיד 'בעלים'. כדי לשנות או להסיר את הבעלים, צריך לפנות אל התמיכה.
שינוי תפקיד של משתמש
כדי לעדכן את התפקיד של משתמש:
- מאתרים את המשתמש שרוצים לעדכן ולוחצים על הלחצן בשורה שלו בטבלה.
- בוחרים באפשרות Edit role.
- בוחרים תפקיד חדש מהתפריט הנפתח.
- לוחצים על שמירה.
הגדרת חשבון שירות לאימות קריאות ל-API
כשאתם מבצעים קריאות ל-RBM API, אתם מאמתים את הקריאות באמצעות מפתח של חשבון שירות. המפתח הזה מאפשר ליצור ולנהל מותגים ונציגים, ולשלוח הודעות ובקשות בתור נציג. בחשבון שירות יכולים להיות עד 10 מפתחות.
כדי לאמת באופן מאובטח קריאות ל-API, צריך גם את הכלי של שורת הפקודה oauth2l.
כדי ליצור מפתח לחשבון שירות:
- בדף Account settings, עוברים לדף Service account.
- לוחצים על Create key ואז על Create. הדפדפן מוריד את המפתח של חשבון השירות.
שומרים את המפתח של חשבון השירות במקום מאובטח ופרטי. אל תשתפו את המפתח באופן ציבורי. תצטרכו את המפתח הזה בהמשך כדי לגשת לממשקי ה-RBM API.
הגדרת ה-webhook של השותף
webhook הוא קריאה חוזרת (callback) מסוג HTTPS שנוצרת על ידי שותף, ומציינת איך הנציג צריך להגיב להודעות ולאירועים. אחרי שתגדירו את ה-webhook, תוכלו להתחיל לקבל הודעות ואירועים.
אם אתם רוצים להשתמש ב-webhook אחר לאחד מהנציגים שלכם, תוכלו להגדיר webhook ברמת הנציג שיחליף את ה-webhook של השותף. למידע נוסף, ראו הגדרת webhook של סוכן.
כדי להגדיר את ה-webhook של השותף:
פותחים את Business Communications Developer Console ונכנסים באמצעות חשבון Google שלכם כשותף RBM.
פותחים את הגדרות החשבון.
בשדה כתובת ה-URL של ה-webhook ל-RCS Business Messaging, לוחצים על הגדרה.
בשדה Webhook URL של נקודת הקצה, מזינים את כתובת ה-webhook שמתחילה ב-'https://'.
שימו לב לערך של
clientToken
. הוא נדרש כדי לוודא שההודעות שאתם מקבלים מגיעות מ-Google.מגדירים את ה-webhook כך שיקבל בקשת
POST
עם הפרמטרclientToken
שצוין, ושולח תגובה מסוג200 OK
עם הערך של הפרמטרsecret
כטקסט פשוט כתוכן התשובה.לדוגמה, אם ה-webhook מקבל בקשת
POST
עם תוכן הגוף הבא:{ "clientToken":"SJENCPGJESMGUFPY", "secret":"1234567890" }
ה-webhook צריך לאשר את הערך של
clientToken
, ואם הערך שלclientToken
תקין, להחזיר תגובה מסוג200 OK
עם1234567890
כגוף התגובה:// clientToken from Configure const myClientToken = "SJENCPGJESMGUFPY"; // Example endpoint app.post("/rbm-webhook", (req, res) => { const msg = req.body; if (msg.clientToken === myClientToken) { res.status(200).send(msg.secret); return; } res.send(400); });
במסוף הפיתוח, לוחצים על אימות. כש-RBM מאמת את ה-webhook, תיבת הדו-שיח נסגרת.
במאמר טיפול בהודעות מוסבר איך לטפל בכשלים בשליחת webhook ולהבטיח עיבוד אמין של הודעות.
אימות הודעות נכנסות
מאחר ש-webhooks יכולים לקבל הודעות מכל שולחים, עליכם לוודא ש-Google שלחה את ההודעות הנכנסות לפני עיבוד תוכן ההודעות.
כדי לוודא ש-Google שלחה הודעה שקיבלת, יש לבצע את השלבים הבאים:
- חילוץ הכותרת
X-Goog-Signature
של ההודעה. זהו עותק של המטען הייעודי (payload) של גוף ההודעה, שהועבר דרך גיבוב (hash) וקידוד base64. - פענוח של מטען ה-RBM ברכיב
message.body
בבקשה באמצעות Base-64. - משתמשים בטוקן הלקוח של ה-webhook (שציינתם כשהגדרתם את ה-webhook) כמפתח, יוצרים HMAC של SHA512 מהבייטים של עומס העבודה של ההודעה שפוענחה ב-base64 ומקודדים את התוצאה ב-base64.
- משווים את הגיבוב של
X-Goog-Signature
לגיבוב שיצרתם.- אם הגיבובים תואמים, סימן ש-Google שלחה את ההודעה.
אם הגרסאות של הגיבוב לא תואמות, צריך לבדוק את תהליך הגיבוב בהודעה ידועה ותקינה.
אם תהליך הגיבוב פועל כראוי ותקבלו הודעה שלדעתכם נשלחה אליך באופן שמקורו בתרמית, פנו אלינו.
Node.js
if ((requestBody.hasOwnProperty('message')) && (requestBody.message.hasOwnProperty('data'))) { // Validate the received hash to ensure the message came from Google RBM let userEventString = Buffer.from(requestBody.message.data, 'base64'); let hmac = crypto.createHmac('sha512', CLIENT_TOKEN); let data = hmac.update(userEventString); let genHash = data.digest('base64'); let headerHash = req.header('X-Goog-Signature'); if (headerHash === genHash) { let userEvent = JSON.parse(userEventString); console.log('userEventString: ' + userEventString); handleMessage(userEvent); } else { console.log('hash mismatch - ignoring message'); } } res.sendStatus(200);
השלבים הבאים
עכשיו, אחרי שהגדרתם את חשבון השותף, הגיע הזמן ליצור את הסוכן הראשון.