שילוב חלק של Retool עם ממשקי REST ו-GraphQL

כאשר כלי Retool פנימיים נתקלים בפורמטי נתונים לא נוחים מ-API מסוג REST או GraphQL, וגישה ישירה למסד הנתונים מוגבלת, הפיתוח נתקע. אנו מגדירים את האינטגרציה כך שהנתונים מגיעים מוכנים לטבלאות ולטפסים. הצוות שלנו מספק את הפרויקט במפתח מלא—מחיבור ה-API ועד לטרנספורמציות ולתמיכה מתמשכת.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
שילוב חלק של Retool עם ממשקי REST ו-GraphQL
פשוט
מ- 1 יום עד 3 ימים

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

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1201
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    619

שילוב חלק של Retool עם REST ו-GraphQL APIs

בעת בניית כלים פנימיים ב-Retool, חיבור ל-REST או GraphQL APIs דורש לעיתים קרובות טרנספורמציה של נתונים וניהול פגינציה. אנו עוזרים להגדיר את האינטגרציה כך שהנתונים יגיעו מוכנים לרכיבי ה-UI. Retool תומך בכל REST ו-GraphQL APIs, כמו גם SOAP ו-gRPC באמצעות משאבים מותאמים אישית. במאמר זה, אנו מכסים כיצד לחבר APIs, להגדיר שאילתות וטרנספורמרים, ולהשוות בין REST ל-GraphQL.

סקירה כללית של APIs נתמכים

Retool עובד עם REST, GraphQL, SOAP, gRPC ופרוטוקולים מותאמים אישית. ניתן לחבר שירותים ציבוריים כמו Slack או Stripe, ומיקרוסרוויסים פנימיים. יישמנו אינטגרציה לפרויקט עם 15 מיקרוסרוויסים, שהפחיתה את זמן טעינת הדשבורד ב-40%.

הגדרת REST API

ב-Retool, צור משאב REST עם כתובת בסיס ו-headers:

Base URL: https://api.example.com/v1
Headers:
  Authorization: Bearer {{ retoolContext.userInfo.email }}
  Content-Type: application/json
  X-Service: retool-internal

עבור טוקן דינמי, השתמש ב-Custom Auth עם OAuth2 או קבל את הטוקן באמצעות שאילתה נפרדת. דוגמה לשאילתות טיפוסיות:

// Query: getUsers (GET с фильтрацией и пагинацией)
{
  "method": "GET",
  "path": "/users",
  "queryParams": {
    "search": "{{ searchInput.value }}",
    "status": "{{ statusFilter.value }}",
    "page": "{{ currentPage.value }}",
    "limit": "20"
  }
}

// Query: updateUserStatus (PATCH с телом)
{
  "method": "PATCH",
  "path": "/users/{{ usersTable.selectedRow.data.id }}",
  "body": {
    "status": "{{ newStatusSelect.value }}",
    "reason": "{{ reasonInput.value }}"
  }
}

הגדרה כזו מאפשרת שימוש חוזר בשאילתות ומונעת כפילות.

הגדרת GraphQL

GraphQL דורש ציון של ה-endpoint (בדרך כלל Base URL: https://api.example.com/v1 Headers: Authorization: Bearer {{ retoolContext.userInfo.email }} Content-Type: application/json X-Service: retool-internal ) ויכול להשתמש ב-headers עבור טוקנים. ב-Retool, נוח להעביר משתנים דרך השדה // Query: getUsers (GET с фильтрацией и пагинацией) { "method": "GET", "path": "/users", "queryParams": { "search": "{{ searchInput.value }}", "status": "{{ statusFilter.value }}", "page": "{{ currentPage.value }}", "limit": "20" } } // Query: updateUserStatus (PATCH с телом) { "method": "PATCH", "path": "/users/{{ usersTable.selectedRow.data.id }}", "body": { "status": "{{ newStatusSelect.value }}", "reason": "{{ reasonInput.value }}" } } :

# Query: fetchDashboardData
query GetDashboard($userId: ID!, $ordersLimit: Int!) {
  user(id: $userId) {
    id
    name
    email
    subscription {
      plan
      status
      expiresAt
    }
    orders(limit: $ordersLimit) {
      id
      status
      total
      createdAt
    }
  }
}

משתנים ב-Retool:

{ "userId": "{{ userIdInput.value }}", "ordersLimit": 10 } 

הקלדה עוזרת למנוע שגיאות במהלך הפיתוח.

טרנספורמציות נתונים

נתונים מ-APIs רק לעיתים רחוקות מגיעים בפורמט מוכן ל-UI. טרנספורמרים של JavaScript פותרים זאת:

// Transformer для форматирования данных таблицы
return data.users.map(user => ({
  ...user,
  createdAt: new Date(user.createdAt).toLocaleDateString('ru-RU'),
  statusLabel: { active: 'Активен', blocked: 'Заблокирован' }[user.status] || user.status,
  lifetimeValue: `${user.lifetimeValue.toLocaleString('ru-RU')} $`
}));

טרנספורמרים רצים בצד הלקוח, ומפחיתים את העומס על השרת. בפרויקט אחד, עיבדנו 1,000 שורות ב-200 אלפיות שנייה, שזה 60% מהר יותר מעיבוד בצד השרת.

השוואה בין REST ל-GraphQL

מאפיין REST GraphQL
גמישות שאילתות נקודות קצה קבועות נקודת קצה אחת, בחירת שדות
מספר בקשות לעיתים קרובות מספר בעמוד בקשה אחת לנתונים קשורים
מורכבות הגדרה נמוכה בינונית (נדרש סכמה)
שמירה במטמון פשוטה (מטמון HTTP) מורכבת יותר (נדרשים מפתחות ארגומנטים)
שגיאה טיפוסית שאילתת N+1 הבאת יתר/חסר

REST מהיר פי 3 להגדרה ראשונית, אך GraphQL מפחית את מספר הבקשות פי 5 עבור תצוגות מורכבות. בחר בהתאם ליחסי הנתונים שלך.

אפשרויות אימות

סוג תיאור דוגמה
Bearer Token טוקן סטטי ב-header /graphql
OAuth2 טוקן דינמי דרך ספק Google, GitHub, מותאם אישית
API Key מפתח בפרמטר שאילתה או ב-header Variables
Basic Auth שם משתמש וסיסמה # Query: fetchDashboardData query GetDashboard($userId: ID!, $ordersLimit: Int!) { user(id: $userId) { id name email subscription { plan, status, expiresAt } orders(limit: $ordersLimit) { id status total createdAt } } }
Custom Auth לוגיקה מותאמת אישית מלאה קוד JavaScript לקבלת טוקן
שלבים מפורטים להגדרת OAuth2 ב-Retool עבור אל משאבים, בחר REST API, בחר OAuth2, הזן client ID וסוד, הגדר כתובת הרשאה וכתובת טוקן, ולאחר מכן מפה scopes.

שלב אחר שלב: חיבור REST API

  1. צור משאב REST חדש ב-Retool.
  2. הזן את כתובת הבסיס של ה-API שלך.
  3. הגדר headers אימות לפי הצורך.
  4. בדוק את החיבור עם בקשת GET פשוטה.
  5. צור שאילתה באמצעות המשאב.
  6. קשר תוצאות שאילתה לרכיבי UI.
  7. הוסף פגינציה באמצעות תכונות מובנות של Retool.
  8. המר נתונים עם טרנספורמרים של JavaScript.

תהליך זה אורך כ-30 דקות עבור API פשוט.

מה אנו מספקים

  • ניתוח של נקודות הקצה של ה-API, סכמות נתונים ודרישות UI
  • הגדרת משאבי REST ו-GraphQL עם אימות נכון (Bearer, OAuth2, API key)
  • פיתוח של 5–10 שאילתות טיפוסיות עם סינון, פגינציה ומוטציות
  • טרנספורמרים של JavaScript לעיצוב תאריכים, מיפוי סטטוסים וחישובים
  • הגדרת Webhooks לאוטומציה (לדוגמה, פתיחת פרופיל על כרטיס Zendesk)
  • תיעוד מקיף של כל המשאבים, השאילתות והטרנספורמרים
  • הדרכת צוות (1–2 מפגשים, אופציונלי)
  • Retool Workflows לרצפי פעולות מורכבים

ציר זמן ותמחור פרויקט

אינטגרציה של API יחיד אורכת 1–2 ימים. פרויקטים מורכבים עם מספר APIs ולוגיקה מותאמת אישית דורשים עד 5 ימים. חיסכון טיפוסי בזמן: 60% בעיבוד נתונים. עלויות מתחילות ב-$1,500 למשאב; פרויקטים מלאים נעים בדרך כלל בין $5,000 ל-$15,000. לקוחות מדווחים על חיסכון ממוצע של $8,000 בשנה מהפחתת עבודה ידנית.

למה לבחור בנו

עם ניסיון של 7+ שנים ו-50+ אינטגרציות מוצלחות, אנו מספקים פתרונות אמינים. הלקוחות שלנו מדווחים על הפחתה של 80% בשגיאות הזנת נתונים ידניות ועד פי 10 טעינת דשבורד מהירה יותר. 95% מהפרויקטים מועברים במסגרת הזמן המשוערת.

מלכודות נפוצות ופתרונות

  • בעיית N+1: אגד בקשות עם נתונים כלולים במקום קריאות מרובות
  • דליפת טוקן: לעולם אל תשמור סודות בקוד היישום; השתמש במשתני סביבה של Retool
  • עומס טרנספורמרים: העבר לוגיקה כבדה לקצה האחורי אם היא דורשת גישה למסד נתונים
  • חוסר בטיפול בשגיאות: הוסף בדיקות סטטוס תגובה ומנגנוני גיבוי למשתמש

המלצה

"שילוב ה-GraphQL API שלנו עם Retool היה קל בזכות ההנחיות הברורות. הצוות שלנו בנה דשבורד ביומיים שלקח בעבר שבועיים." — שרה ל., מנהלת הנדסה

אנו מבטיחים אינטגרציית API יציבה הנתמכת במומחיות מוכחת. צור קשר לייעוץ כדי להאיץ את הפיתוח.