מערכת פידבוט מאפשרת שליחה דרך API באמצעות Webhooks פשוטים.
חברתנו מציגה פתרון API מלא, המאפשר לכם לחבר את מערכת ה-CRM שלכם (לדוגמה), ולייצר טריגרים פשוטים שיגיעו ללקוחיתכם באופן ישיר ואישי בואטספ.
אופן ההתממשקות הוא קל ופשוט.
נתחיל. ראשית, יש לשלוח בקשת POST לכתבות הבאה:
https://us-central1-XXXXX.cloudfunctions.net/addNewMessages?
ה- Headers צריכים להכיל את הערכים הבאים:
Key: Content-Type
VALUE: application/json
אפשר להתרשם מהצילום מסך מ- Postman :
לאחר מכן, יש להעתיק את המבנה מטה ל-Body.
יש לשנות בשדה הטוקן את (איפה שכתוב XXXX) למזהה הייחודי שלכם.
בדוגמה הבאה, הבקשה תבצע שליחה למספר הבא: 972586666644 עם המלל " Hello world".
יש לשים לב, שהמספר חייב לכלול את קידומת המדינה (בישראל הקידמות היא 972).
{ "data":{ "token":"XXXXX", "messages":[{ "message":"Hello world", "phone":"972586666644", "time":"YYYYY",
"invalidationTime":"1685662968767",
"imagePath":"https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885_1280.jpg",
"groupName":"קבוצת תמיכה" }] } }
הערות ומושגים:
- Token הוא המזהה הייחודי שמתקבל ביחד עם התקנת התוכנה.
- Messages הוא מערך של אובייקטים שמכיל את ההודעות אותן נרצה שהתוכנה תמשוך. מבנה כל אובייקט במערך יכיל:
- message – טקסט ההודעה.
- phone – מספר הטלפון שאליו תשלח ההודעה.
- date (אופציונלי) – תאריך ההודעה.
- invalidationTime (אופציונלי) – אפשרות להגדיר תוקף לשליחת ההודעה, במידה והתוקף עבר ההודעה לא תשלח. (אמור להיות אובייקט מסוג TimeStamp).
- imagePath (אופציונלי) – אפשרות לצרף תמונה להודעה, הערך שצריך לשלוח הינו קישור לתמונה.
- groupName (אופציונלי) – אפשרות לשלוח הודעה לקבוצה, צריך לשלוח את שם הקבוצה כמחרוזת.
- בתוכנה יש לבחור את הצ'ק בוקס שרשום עליו "אינטגרציה עם השרת", ההודעות הקיימות בשרת ימשכו לתוכנה ובאופן אוטומטי תתחיל שליחת ההודעות.
הודעות שגיאה אפשריות וטיפול בהן:
Incorrect Token
טוקן לא תקין או לא קיים, וודאו שהזנתם את הטוקן שניתן לכם עם התקנת התוכנה.
Missing messages field
חסר את השדה "messages" ב-body.
Missing Token
חסר את השדה "token" ב-body
אופן ההטמעה בשפות שונות:
Node JS:
var axios = require('axios'); var data = JSON.stringify({ "data": { "token": "XXXX", "messages": [ { "message": "Hello world", "phone": "972586666644", "Date": "YYYYY" } ] } }); var config = { method: 'post', url: 'https://us-central1-XXXXXX.cloudfunctions.net/addNewMessages?', headers: { 'Content-Type': 'application/json' }, data : data }; axios(config) .then(function (response) { console.log(JSON.stringify(response.data)); }) .catch(function (error) { console.log(error); });
Java Script:
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); var raw = JSON.stringify({ "data": { "token": "XXXX", "messages": [ { "message": "Hello world", "phone": "972586666644", "Date": "YYYYY" } ] } }); var requestOptions = { method: 'POST', headers: myHeaders, body: raw, redirect: 'follow' }; fetch("https://us-central1-XXXXXX.cloudfunctions.net/addNewMessages?", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
C#:
var client = new RestClient("https://us-central1-XXXXXX.cloudfunctions.net/addNewMessages?");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@" ""data"":{
" + "\n" +
@" ""token"":""XXXXXX"",
" + "\n" +
@" ""messages"":[{
" + "\n" +
@" ""message"":""Hello world"",
" + "\n" +
@" ""phone"":""972586666644"",
" + "\n" +
@" ""Date"":""YYYYY""
" + "\n" +
@"
" + "\n" +
@" }]
" + "\n" +
@" }
" + "\n" +
@"}
" + "\n" +
@"";
request.AddParameter("application/json", body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
PHP:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://us-central1-XXXXXX.cloudfunctions.net/addNewMessages?',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"data":{
"token":"XXXXXX",
"messages":[{
"message":"Hello world",
"phone":"972586666644",
"Date":"YYYYY"
}]
}
}
',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
JAVA:
HttpResponse<String> response = Unirest.post("https://XXXXXXX/addNewMessages?") .header("Content-Type", "application/json") .body("{" + "data:" + "{" + "token:xxxxx," + "messages:[" + "{message:Hello world2,phone:972XXXXX},{message:Hello world,phone:972XXXXX}" + "]}}") .asString();