API למפתחים

ה-API הציבורי של oToK מאפשר לחבר כל מערכת לסביבת העבודה: ניהול אנשי קשר, תגיות, קבוצות, קמפיינים ושליחת תבניות WhatsApp. בנוסף, Webhooks נכנסים מפעילים אוטומציות, ופיקסל המעקב מזרים פעילות מהאתר שלכם.

ערכות SDK, רפרנס מלא וקוד מקור

תיעוד המפתחים המלא מתארח בכתובת https://slikkdev.github.io/otok-api/ — כולל רפרנס Redoc מלא לכל נקודות הקצה בכתובת https://slikkdev.github.io/otok-api/reference/ — והקוד פתוח ב-GitHub: https://github.com/slikkdev/otok-api. מעדיפים ספרייה מוכנה? יש ערכות SDK רשמיות:

  • Node.js — מתקינים עם npm install @otok/node (דורש Node 18 ומעלה, כולל טיפוסי TypeScript, אפס תלויות).
  • Python — מתקינים עם pip install otok (דורש Python 3.9 ומעלה, עם טיפוסים מלאים, אפס תלויות).

אימות (Authentication)

יוצרים מפתח API בהגדרות ← מפתחים. המפתח מתחיל ב-otok_live_ ומוצג פעם אחת בלבד — שומרים אותו במקום בטוח. כל בקשה נשלחת עם כותרת Authorization:

בקשה מאומתת
curl https://app.otok.io/api/v1/contacts \
  -H "Authorization: Bearer otok_live_XXXXXXXXXXXX" \
  -H "Content-Type: application/json"

💡 כתובת הבסיס: https://app.otok.io/api — וכל המפתחות תחומים לסביבת העבודה שבה נוצרו. תיעוד אינטראקטיבי מלא (Swagger) זמין בכתובת /api/v1/docs.

כל נקודות הקצה

שיטהנתיבתיאור
GET/v1/contactsרשימת אנשי קשר (סינון, מיון, חיפוש, עימוד)
GET/v1/contacts/:idשליפת איש קשר
POST/v1/contactsיצירה או עדכון של איש קשר (Upsert לפי טלפון/אימייל)
PATCH/v1/contacts/:idעדכון איש קשר
GET/v1/tags · /v1/tags/:idרשימת תגיות / שליפת תגית
POST/v1/tagsיצירת תגית
PATCH/v1/tags/:idעדכון תגית
GET/v1/contact-groups · /v1/contact-groups/:idרשימת קבוצות / שליפת קבוצה
POST/v1/contact-groupsיצירת קבוצה
PATCH/v1/contact-groups/:idעדכון קבוצה
GET/v1/campaigns · /v1/campaigns/:idרשימת קמפיינים / שליפת קמפיין
POST/v1/campaignsיצירת קמפיין
PATCH/v1/campaigns/:idעדכון קמפיין
POST/v1/campaigns/:id/executeהפעלת קמפיין מתוזמן
GET/v1/templates · /v1/templates/:idרשימת תבניות / שליפת תבנית
POST/v1/templates/:id/sendשליחת תבנית למספר טלפון

רשימות: סינון, מיון ועימוד

כל נקודות הקצה מסוג רשימה תומכות באותם פרמטרים: filter (אובייקט JSON), sort (שם שדה, מקף בתחילתו ליורד), limit (ברירת מחדל 50), offset ו-search.

דוגמה
GET /api/v1/contacts?filter={"lifecycle_stage":"customer"}&sort=-created_date&limit=50&offset=0

יצירת איש קשר (Upsert)

POST /v1/contacts מבצע Upsert: אם קיים איש קשר עם אותו טלפון (מנורמל ל-E.164) — או אותו אימייל כשאין טלפון — הוא מתעדכן; אחרת נוצר חדש. תגיות וקבוצות נשלחות לפי שם, וחסרות נוצרות אוטומטית.

יצירת איש קשר
curl -X POST https://app.otok.io/api/v1/contacts \
  -H "Authorization: Bearer otok_live_XXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+972501234567",
    "name": "Dana Levi",
    "email": "[email protected]",
    "tags": ["vip"],
    "groups": ["Newsletter"]
  }'

שליחת תבנית WhatsApp

POST /v1/templates/:id/send שולח תבנית מאושרת למספר טלפון. איש הקשר והשיחה נוצרים אוטומטית אם אינם קיימים, וההודעה מתועדת בתיבת ההודעות.

שליחת תבנית
curl -X POST https://app.otok.io/api/v1/templates/TEMPLATE_ID/send \
  -H "Authorization: Bearer otok_live_XXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{ "to": "+972501234567", "body_variables": ["Dana"] }'

Webhooks נכנסים — הפעלת אוטומציות

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

  • הכתובת מוצגת בעורך האוטומציה על צומת הטריגר.
  • אפשר לשלוח בקשת בדיקה (Test) ולראות את התוצאה ביומן האוטומציות.

פיקסל מעקב לאתר

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

מוכנים לשדרג את התקשורת עם הלקוחות?

להתחיל לעבוד עם oToK — חיבור מספר WhatsApp לוקח דקות ספורות.

בלי כרטיס אשראי — אפשר להתחיל מיד