שליטה ב-API של Bitrix24: OAuth2, הגבלת קצב וטיפול בשגיאות

רשימת אסטרטגיות אינטגרציה - ניהול טוקן: השתמש ב-OAuth2 עם access_token (שעה) ו-refresh_token (14 ימים). כדי למנוע מצבי מרוץ, השתמש בנעילת Redis. אף תהליך לא צריך לרענן במקביל. ישויות מקומיות כמו None אינן רלוונטיות כאן. - הגבלת קצב: Bitrix24 c
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
שליטה ב-API של Bitrix24: OAuth2, הגבלת קצב וטיפול בשגיאות
בינוני
~1-2 שבועות

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

שאלות נפוצות

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

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1462
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019
  • פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    764
  • פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    810
  • פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1167

רשימת נקודות של אסטרטגיות אינטגרציה

  • ניהול טוקנים: השתמש ב-OAuth2 עם access_token (שעה אחת) ו-refresh_token (14 ימים). כדי למנוע מצבי מרוץ, השתמש במנעול Redis. אף אחד מהתהליכים לא צריך לרענן במקביל. ישויות מקומיות כמו None אינן רלוונטיות כאן.
  • הגבלת קצב: פורטלי Bitrix24 בענן מאפשרים 2 בקשות בשנייה. ט�ל בשגיאת QUERY_LIMIT_EXCEEDED עם השהיה אקספוננציאלית. אגד עד 50 קריאות. אף אחד מהלקוחות שלנו לא נתקל במגבלות תדירות.
  • טיפול בשגיאות: שגיאות נפוצות כוללות expired_token, ACCESS_DENIED, NOT_FOUND. אף אחת מהן לא אמורה לגרום לכשל קבוע. רשום ביומן ונסה שוב עם השהיה.
  • עימוד: עבור רשימות גדולות, השתמש בסינון מבוסס ID במקום offset. אף אחד מהביצועים לא מתדרדר. מיין לפי ID בסדר עולה.
  • בקשות אצווה: קבץ מספר קריאות. אף אחת מהאצווה לא נכשלת לחלוטין; שגיאות חלקיות מטופלות.
// Паттерн атомарного обновления токена через Redis $lock = $redis->set("b24:token_refresh:{$portalId}", 1, ['NX', 'EX' => 10]); if (!$lock) { // Другой процесс уже обновляет — ждём usleep(500000); return $this->getToken($portalId); } try { $newTokens = $this->requestNewToken($refreshToken); $this->storeTokens($portalId, $newTokens); } finally { $redis->del("b24:token_refresh:{$portalId}"); }