OpenAgentAGI

API

API блок нь HTTP хүсэлт ашиглан API endpoint-уудаар дамжуулж таны workflow-г гадаад үйлчилгээ, системүүдтэй холбох боломжийг олгоно. Энэ нь GET, POST, PUT, DELETE, PATCH зэрэг олон төрлийн HTTP аргуудыг дэмждэг тул бараг бүх төрлийн API endpoint-тэй харилцах боломжтой.

API Block

Тойм

API блок нь дараах боломжуудыг олгоно:

Гадаад үйлчилгээтэй холбогдох: REST API болон вэб үйлчилгээнд HTTP хүсэлт илгээх

Өгөгдөл илгээх ба хүлээн авах: Хариу өгөгдлийг боловсруулах, гадаад эх сурвалжаас ирсэн өгөгдлийг хувиргах

Гуравдагч талын платформуудтай интеграц хийх: Stripe, Slack эсвэл өөрийн custom API зэрэг үйлчилгээтэй холбогдох

Нэвтрэлт, баталгаажуулалт: Bearer token, API key зэрэг олон төрлийн auth аргуудыг дэмжих

Ажиллах зарчим

API блок нь HTTP хүсэлтийг дараах бүтэцтэй дарааллаар боловсруулна:

  1. Хүсэлтийг тохируулах – URL, method, headers, body параметрүүдийг тохируулах
  2. Хүсэлтийг гүйцэтгэх – Заасан endpoint руу HTTP хүсэлт илгээх
  3. Хариуг боловсруулах – Response өгөгдөл, статус код, header-уудыг боловсруулах
  4. Алдааны менежмент – Timeout, retry болон алдааны нөхцөлүүдийг удирдах

Тохиргооны сонголтууд

URL

API хүсэлтийн endpoint URL. Энэ нь дараах хэлбэртэй байж болно:

  • Блок дотор шууд оруулсан статик URL
  • Өөр блокийн output-оос холбогдсон динамик URL
  • Path parameter агуулсан URL

Method

Хүсэлтэд ашиглах HTTP аргыг сонгоно:

  • GET: Серверээс өгөгдөл авах
  • POST: Сервер рүү өгөгдөл илгээж шинэ resource үүсгэх
  • PUT: Сервер дээрх existing resource-ийг шинэчлэх
  • DELETE: Сервер дээрх resource-ийг устгах
  • PATCH: Existing resource-ийн тодорхой хэсгийг шинэчлэх

Query Parameters

URL-д query parameter хэлбэрээр нэмэгдэх key-value хосуудыг тодорхойлно. Жишээ нь:

Key: apiKey Value: your_api_key_here

Key: limit Value: 10

Эдгээр нь URL-д дараах байдлаар нэмэгдэнэ:
?apiKey=your_api_key_here&limit=10

Headers

HTTP header-уудыг тохируулна. Түгээмэл хэрэглэгддэг header-ууд:

Key: Content-Type
Value: application/json

Key: Authorization
Value: Bearer your_token_here

Request Body

Request body дэмждэг аргуудад (POST, PUT, PATCH) илгээх өгөгдлийг тодорхойлно. Body нь:

  • Блок дотор шууд оруулсан JSON өгөгдөл
  • Өөр блокийн output-оос холбогдсон өгөгдөл
  • Workflow гүйцэтгэлийн явцад динамикаар үүсгэсэн өгөгдөл

Үр дүнд хандах

API хүсэлт амжилттай дууссаны дараа дараах output-уудад хандах боломжтой:

  • <api.data>: API-ийн response body өгөгдөл
  • <api.status>: HTTP статус код (200, 404, 500 гэх мэт)
  • <api.headers>: Серверээс ирсэн response header-ууд
  • <api.error>: Хүсэлт амжилтгүй болсон тохиолдлын алдааны мэдээлэл

Дэвшилтэт боломжууд

Динамик URL үүсгэх

Өмнөх блокуудаас ирсэн хувьсагчийг ашиглан URL-ийг динамикаар бүтээж болно:

// API-ээс өмнөх Function блок дотор
const userId = <start.userId>;
const apiUrl = `https://api.example.com/users/${userId}/profile`;

Хүсэлтийн Retry механизм

API блок нь автоматаар дараах тохиолдлуудыг удирдана:

Сүлжээний timeout — exponential backoff ашиглан дахин оролдох

Rate limit (429 статус код) — зохих retry логик

Серверийн алдаа (5xx статус код) — дахин оролдох механизм

Холболтын алдаа — дахин холбогдох оролдлого

Response баталгаажуулалт

API-ийн хариуг цааш боловсруулахын өмнө шалгах боломжтой:

// API-ээс дараах Function блок дотор
if (<api.status> === 200) {
  const data = <api.data>;
  // Амжилттай response боловсруулах
} else {
  // Алдаатай response боловсруулах
  console.error(`API Error: ${<api.status>}`);
}

Оролт ба гаралт

  • URL: Хүсэлт илгээх endpoint
  • Method: HTTP арга (GET, POST, PUT, DELETE, PATCH)
  • Query Parameters: URL параметрүүдийн key-value хосууд
  • Headers: Authentication болон content type-д зориулсан HTTP header-ууд
  • Body: POST/PUT/PATCH аргуудад ашиглах request payload
  • api.data: API дуудлагын response body өгөгдөл
  • api.status: Серверээс буцсан HTTP статус код
  • api.headers: Серверээс ирсэн response header-ууд
  • api.error: Хүсэлт амжилтгүй болсон тохиолдлын алдааны мэдээлэл
  • Response Data: API-ийн үндсэн response контент
  • Status Information: HTTP статус болон алдааны дэлгэрэнгүй
  • Access: API дуудлагын дараах блокуудаас хандах боломжтой

Жишээ хэрэглээ

Хэрэглэгчийн профайл өгөгдөл авах

Сценари: Гадаад үйлчилгээнээс хэрэглэгчийн мэдээлэл татах

  1. Function блок нь input-оос user ID үүсгэнэ
  2. API блок нь GET /users/{id} endpoint-ыг дуудна
  3. Function блок нь хэрэглэгчийн өгөгдлийг боловсруулж форматлана
  4. Response блок нь форматлагдсан профайлыг буцаана
Төлбөрийн процессинг

Сценари: Stripe API ашиглан төлбөр боловсруулах

  1. Function блок нь төлбөрийн өгөгдлийг шалгана
  2. API блок нь Stripe-ээр дамжуулан payment intent үүсгэнэ
  3. Condition блок нь төлбөр амжилттай/амжилтгүй эсэхийг боловсруулна
  4. Supabase блок нь өгөгдлийн санд захиалгын төлөвийг шинэчилнэ

Шилдэг практик

Мэдрэмтгий өгөгдөлд environment variable ашиглах: API key, нэвтрэх мэдээллийг кодонд хатуу бичихээс зайлсхий

Алдааг зохистойгоор боловсруулах: Амжилтгүй хүсэлтүүдэд зориулсан error handling логик холбох

Response-ийг шалгах: Өгөгдөл боловсруулахын өмнө статус код болон формат шалгах

Rate limit-ийг хүндэтгэх: API-ийн rate limit-ийг анхаарч, зохих throttling хэрэгжүүлэх

API