HyGear
Partner API v1 גרסה 3.0.4 English

API לרישום משתמשים

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

1סקירה

HyGear Partner API מאפשר לשותף מורשה (למשל, מערכת CRM או מערכת לניהול חברים) ליצור משתמשים בפלטפורמת HyGear ולצרף אותם לאחד הארגונים שהשותף מורשה לפעול בהם. השתמשו בו כשחבר נרשם במערכת שלכם, כדי שיוכל להיכנס מיד ל-HABEATS.

מה מקבלים מ-HyGear

מפתח API אישי (שמתחיל ב-hg_) ומזהה ארגון (accountId) לכל ארגון שאתם מורשים לרשום אליו משתמשים.

מה שולחים

בקשת POST אחת ב-HTTPS לכל חבר, עם גוף JSON: שם וכתובת אימייל, ולפי הצורך גם טלפון, מגדר, גיל או תאריך לידה, גובה ומשקל.

2התחלה מהירה

  1. קבלו את מפתח ה-API ואת מזהה הארגון מאיש הקשר שלכם ב-HyGear.
  2. שלחו בקשת POST לנקודת הקצה שבהמשך, עם המפתח בגוף הבקשה.
  3. ודאו שהתשובה כוללת "success": true ושמרו את ה-userId שהוחזר.
  4. החבר החדש מקבל מייל ברוכים הבאים עם פרטי הכניסה ויכול להיכנס לאפליקציית HABEATS.
cURL
curl -X POST 'https://api.hygearfit.com/api/v1/integrations/users' \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "hg_YOUR_API_KEY",
    "accountId": "YOUR_ORGANIZATION_ID",
    "fullName": "Dana Cohen",
    "email": "dana@example.com",
    "phone": "+972541234567",
    "gender": "female",
    "birthday": "1990-05-17",
    "height": 168,
    "weight": 62
  }'

3אימות

כל בקשה חייבת לכלול את מפתח ה-API שלכם. שלחו אותו בגוף ה-JSON בשדה key (מומלץ), או כפרמטר שאילתה ?key=. כותרות HTTP אינן משמשות להעברת המפתח.

מפתח בגוף הבקשה (מומלץ)
{ "key": "hg_YOUR_API_KEY", "accountId": "...", "fullName": "...", "email": "..." }
מפתח במחרוזת השאילתה
POST https://api.hygearfit.com/api/v1/integrations/users?key=hg_YOUR_API_KEY
שמרו על המפתח בסוד פנו ל-API רק מהשרת שלכם, לעולם לא מדפדפן או מאפליקציה לנייד. אם יש חשש שהמפתח דלף, פנו מיד ל-HyGear. ננפיק מפתח חדש, והמפתח הישן יפסיק לעבוד מיד.

4רישום משתמש

POST https://api.hygearfit.com/api/v1/integrations/users

גוף הבקשה: application/json. כל הבקשות חייבות להישלח ב-HTTPS. כל בקשה רושמת משתמש אחד.

סביבהכתובת בסיס
פרודקשןhttps://api.hygearfit.com/api/v1/integrations/users
בדיקות (QA)https://qa-api.hygearfit.com/api/v1/integrations/users
מפתחות נפרדים לכל סביבה סביבות הפרודקשן והבדיקות משתמשות במפתחות API ובמזהי ארגון שונים. מפתח של סביבת הבדיקות לא יעבוד בסביבת הפרודקשן, ומפתח של סביבת הפרודקשן לא יעבוד בסביבת הבדיקות.

5שדות הבקשה

שדהסוגתיאור
keyחובהstringמפתח ה-API שלכם (אפשר לשלוח אותו גם כ-?key=).
accountIdחובהstringמזהה הארגון שאליו יצורף המשתמש. המפתח שלכם חייב להיות מורשה לפעול בארגון הזה.
fullNameחובהstringהשם המלא של החבר. גם שם השדה name מתקבל.
emailחובהstringכתובת אימייל תקינה. הכתובת משמשת גם כשם המשתמש של החבר באפליקציה.
phoneלא חובהstring7–15 ספרות. אפשר להוסיף + בתחילת המספר. המערכת מתעלמת מרווחים, מקפים, נקודות וסוגריים.
genderלא חובהstringmale / female (גם m / f).
birthdayלא חובהstringתאריך לידה בפורמט YYYY-MM-DD. התאריך חייב להיות בעבר.
ageלא חובהnumberגיל בשנים, 1–120. משמש רק כשלא נשלח birthday.
heightלא חובהnumberגובה בסנטימטרים, 50–250.
weightלא חובהnumberמשקל בקילוגרמים, 20–300.
טיפ שלחו birthday בכל פעם שתאריך הלידה ידוע לכם. כששולחים רק age, המערכת קובעת תאריך לידה משוער.

6תשובות

הצלחה — 200 OK

JSON
{
  "success": true,
  "message": "",
  "data": {
    "userId": "6ac3a7613a9a66c800dd7b21",
    "accountId": "YOUR_ORGANIZATION_ID",
    "created": true   // false = the email already existed
  }
}

שגיאה

JSON
{
  "success": false,
  "message": "A valid email is required",
  "data": { "errorCode": "INTEGRATION_USER_EMAIL_INVALID" }
}

בססו את הלוגיקה שלכם על סטטוס ה-HTTP ועל data.errorCode. השדה message מיועד לקריאה אנושית, והנוסח שלו עשוי להשתנות.

7הטיפול במשתמשים

כתובת אימייל חדשה → משתמש חדש (created: true)

נוצר משתמש והוא מצורף לארגון. החבר מקבל מייל בשפת הארגון, עם קישורים להורדת HABEATS (ל-iPhone ול-Android), שם המשתמש (כתובת האימייל שלו) וסיסמה ראשונית. אין צורך באימות כתובת האימייל.

כתובת אימייל קיימת → צירוף לארגון (created: false)

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

אפשר לשלוח שוב בבטחה שליחה חוזרת של אותה כתובת אימייל לא יוצרת משתמש כפול. בתשובה מוחזר אותו userId עם created: false.
סיסמה ראשונית הסיסמה הראשונית נקבעת לפי כלל שסוכם עם HyGear עבור האינטגרציה שלכם, ונשלחת לחבר בהודעת האימייל עם פרטי הכניסה. מומלץ לחברים לשנות אותה אחרי הכניסה הראשונה. אין צורך לשלוח או לשמור סיסמאות.

8שגיאות

HTTPerrorCodeמשמעות / מה לעשות
400INTEGRATION_USER_NAME_REQUIREDחובה להזין שם מלא.
400INTEGRATION_USER_EMAIL_INVALIDחובה להזין כתובת אימייל תקינה.
400INTEGRATION_USER_PHONE_INVALIDמספר הטלפון חייב להכיל 7–15 ספרות (אפשר להוסיף + בתחילתו).
400INTEGRATION_USER_BIRTHDAY_INVALIDתאריך הלידה חייב להיות תאריך תקין בעבר (YYYY-MM-DD).
400INTEGRATION_USER_AGE_INVALIDהגיל חייב להיות מספר בין 1 ל-120.
400INTEGRATION_USER_HEIGHT_INVALIDהגובה חייב להיות מספר בס"מ בין 50 ל-250.
400INTEGRATION_USER_WEIGHT_INVALIDהמשקל חייב להיות מספר בק"ג בין 20 ל-300.
401INTEGRATION_API_KEY_INVALIDהמפתח חסר, שגוי או כבר לא פעיל. בדקו את המפתח ואת הסביבה.
403INTEGRATION_ACCOUNT_NOT_ALLOWEDהמפתח שלכם אינו מורשה לפעול ב-accountId הזה, או שהמזהה חסר או שגוי.
409INTEGRATION_USER_PROTECTEDכתובת האימייל הזו שייכת לחשבון שלא ניתן לצרף דרך ה-API. פנו לתמיכה של HyGear.
429INTEGRATION_RATE_LIMITEDנשלחו יותר מדי בקשות. המתינו את מספר השניות שמופיע בכותרת Retry-After, ואז נסו שוב.
5xx—שגיאת שרת זמנית. נסו שוב מאוחר יותר, והגדילו את זמן ההמתנה באופן מעריכי בין הניסיונות.

9מגבלות קצב

כל מפתח API יכול לשלוח עד 60 בקשות בדקה. בחריגה מהמגבלה תתקבל תשובת 429 עם כותרת Retry-After שמציינת את זמן ההמתנה בשניות. בייבוא מרוכז, רווחו בין הבקשות (למשל, בקשה אחת בשנייה), או פנו אלינו לתיאום העברת נתונים חד-פעמית.

יומן בקשות HyGear מתעדת כל בקשה שנשלחת עם המפתח שלכם (בהצלחה או בכישלון, ללא המפתח עצמו), כדי שנוכל לעזור בבירור תקלה מסוימת. שמרו את מזהי ה-userId ושלחו לנו את מועד הבקשה.

10דוגמאות קוד

Node.js (18+)

JavaScript
const response = await fetch('https://api.hygearfit.com/api/v1/integrations/users', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    key: process.env.HYGEAR_API_KEY,
    accountId: process.env.HYGEAR_ACCOUNT_ID,
    fullName: 'Dana Cohen',
    email: 'dana@example.com',
    phone: '+972541234567',
    gender: 'female',
    age: 35,
  }),
})
const result = await response.json()
if (!result.success) {
  throw new Error(`HyGear ${response.status}: ${result.data?.errorCode}`)
}
console.log(result.data.userId, result.data.created)

Python

Python
import os, requests

response = requests.post(
    "https://api.hygearfit.com/api/v1/integrations/users",
    json={
        "key": os.environ["HYGEAR_API_KEY"],
        "accountId": os.environ["HYGEAR_ACCOUNT_ID"],
        "fullName": "Dana Cohen",
        "email": "dana@example.com",
        "birthday": "1990-05-17",
    },
    timeout=15,
)
result = response.json()
if not result.get("success"):
    raise RuntimeError(f"HyGear {response.status_code}: {result['data'].get('errorCode')}")
print(result["data"]["userId"], result["data"]["created"])

11רשימת בדיקה לאבטחה

  • שמרו את מפתח ה-API במערכת לניהול סודות או במשתנה סביבה, לעולם לא בקוד המקור.
  • פנו ל-API רק מצד השרת שלכם, ב-HTTPS.
  • אל תכתבו את המפתח ביומני המערכת, ואל תכללו אותו בפניות לתמיכה או בצילומי מסך.
  • שלחו רק נתונים שהחבר הסכים לשתף עם הארגון שלו.
  • אם יש חשש שהמפתח דלף, בקשו מ-HyGear להחליף אותו. המפתח הישן מפסיק לעבוד מיד.

12תמיכה

לשאלות טכניות, לקבלת מפתח חדש, להרשאה לפעול בארגון נוסף או לעזרה בבירור בקשה, פנו אל support@hygearfit.com. ציינו את מועד הבקשה, את ה-errorCode ואת כתובת האימייל של החבר (לעולם לא את מפתח ה-API).