GH GambleHub

תיעוד API: OpenAPI, Swagger, Postman

TL; DR

OpenAPI - מקור האמת: contract # SDK # moki + tess ac.portal.
סוואגר UI/Redoc - תצוגה קריאה; דוור - תסריטים ניתנים להפעלה.
אנחנו תופרים ספינים, שוברים-צ 'קים, דוגמאות ותוכניות שגיאות, יוצרים שרתי SDKs ו-Mock, מפרסמים פורטל dev ממולכד ו-Sunset.

1) מטרות ועקרונות

חוזה אחד (OpenAPI). כל השאר נוצר.
התיעוד ניתן להפעלה: בקשות מדגם נבחנות בדוור/CLI.
ביטחון ברירת מחדל: תרשימי שגיאה, גבולות, אימות.
וסת ומחזור חיים: 'v1 '/' v2', פיזור/שקיעה, צ 'אנג' לוג.

2) מבנה OpenAPI (שלד מינימלי)

yaml openapi: 3. 0. 3 info:
title: Payments API version: 1. 2. 0 description: >
Payment transactions: auth/capture/refund/payout. All responses contain trace_id.
servers:
- url: https://api. example. com/v1 tags:
- name: Payments
- name: Payouts components:
securitySchemes:
oauth2:
type: oauth2 flows:
clientCredentials:
tokenUrl: https://idp. example. com/oauth/token scopes:
payments: read: read payments: write: write payments schemas:
Error:
type: object required: [error, error_description, trace_id]
properties:
error: { type: string }
error_description: { type: string }
trace_id: { type: string, format: uuid }
security:
- oauth2: [payments:read]
paths:
/payments/{id}:
get:
summary: Receive payment tags: [Payments]
parameters:
- in: path name: id required: true schema: { type: string, format: uuid }
responses:
'200':
description: Content succeeded:
application/json:
schema: { $ref: '#/components/schemas/Payment' }
'404': { $ref: '#/components/responses/NotFound' }
components:
responses:
NotFound:
description: Content not found:
application/json:
schema: { $ref: '#/components/schemas/Error' }

טיפים

פירוק סכימות כמו/תגובות/פרמטרים/ גופים לתוך 'components'.
תאר הסכמות ( ) ותיישם ברמת ”נתיבים ”/” גלובליים”.

3) שגיאה סטנדרטית ו ־ metadata

אובייקט שגיאה יחיד (עבור REST ו-Webhooks):
yaml components:
schemas:
ApiError:
type: object required: [error, error_description, trace_id]
properties:
error: { enum: [invalid_request, not_found, rate_limited, internal] }
error_description: { type: string }
trace_id: { type: string, format: uuid }

תמיד לתעד 429 (הגבלת קצב), 401/403, ואת הכותרות 'X-EoutLimit-', 'Retry-After'.

4) דוגמאות: בקשה/תגובה, סלסול ו ־ SDK

לכל נקודת סיום: דוגמה מינימלית ומורחבת.
יצירת תלתלים וקצרי קוד (JS/Python/Go) מ ־ OpenAPI; אל תכתוב עם הידיים.
יישום ערכים אמיתיים: UUID, ISO-date, סכומים ב ”מינור” (סנט).

דוגמה לתגובה מורחבת:
yaml examples:
ok:
value:
id: "pay_123"
amount_minor: 1099 currency: "EUR"
status: "captured"
created_at: "2025-11-03T12:34:56Z"

5) Swagger UI/Redoc - כיצד לפרסם

מארח שתי חנויות:

1. Swagger UI (אינטראקטיבי, לנסות את זה),

2. Redoc (דפים ארוכים ניתנים לקריאה).

כלל: ערכת נושא אפלה, חיפוש, בחירת גרסה (”v1”, ”v2”), כרזת Deprection.

הסתר ”נסה את זה” לתחום הייצור, לאפשר על ארגז החול.

6) אוספי דוור: תסריטים חיים

הגדרה אוטומטית של האוסף מ ־ OpenAPI ותמיכה במשתנים סביבתיים (”@ esheouurl”, ”@ escoToken”).
הוספת יומרות (השגת אסימון) ולאחר בדיקות (assert status/schemas).
לפרוץ לתיקיות: Auth, תשלומים, Payouts, Webhooks.
צגי ייצוא (מתוכנן) לנתיבים קריטיים.

תבנית בדיקה:
js pm. test("status is 200", () => pm. response. code === 200);
pm. test("schema valid", () => tv4. validate(pm. response. json(), pm. collectionVariables. get("schema_payment")));

7) מוקי וארגז החול

צור שרת מדומה מ ־ OpenAPI (דוגמאות/” דוגמה ”/” דוגמאות ”).
הצג את המגבלות של המוקים: אידמפוטנטיות, עיכובים, שגיאות אקראיות (UAT).
תיבת חול של מסמך נגד הבדלי פרוד (גבולות, נתונים, עיכובים).

8) אוטוגנרציה SDK

מתוך OpenAPI, צור SDKs רשמי (TypeScript, Python, Go).
מדיניות שחרור SDK = SemVer, מיפוי גרסאות API.
ב-README SDK: אימות, מגש מחדש, אידמפוטנטיות, עיבוד 429/Retry-After.

9) לינטינג, בדיקת שבירה ומודיעה

לינטרס: ספקטרום (סגנונות/אנטי תבניות), openapi-diff (שבירת בדיקות).

מודיע:
  • אימות מעגל,
  • לינטר,
  • בדיקות חוזה מול שרת היוק,
  • הרכבה של Swagger/Redoc/Collection,
  • פרסום לפורטל (היערכות = פרוד),
  • התראת ירידה/שקיעה.

10) ורסינינג, דעיכה, שקיעה

גרסה ב ־ URI ('/v1 ') ובאינפורמציה. גרסה ".
דגלי פיטורים: 'Deprection: True', 'Sunset: <RFC1123 date>', 'Link: <changelog>' כותרות.
בפורטל - כרזה וטיימר לפני ניתוק; אוספי דוור עבור V1 קפואים (תיקוני באגים בלבד).

11) ביטחון ופרטיות ברציף

אין לפרסם סודות, כתובות פנימיות, פאן/פיל אמיתי.
לשדות רגישים - מיסוך ודוגמאות לספח.
סוואגר ”נסה את זה” = רק לארגז חול, עם מגבלות קצב.
תאר בבירור את OAuth2/OIDC, HMAC (עבור חוברות אינטרנט) ו-MTLS (במקרה הצורך).

12) חוזי מדריך סגנון

משאבים ברבים: '/תשלומים ', '/תשלום'.
מזהים: "שלם _', 'פו _', UUIDv4 או ksuid.
תאריכים - UTC ISO-8601; כסף - ”סכום _ מינור + מטבע”.
Pagination - מבוסס סמן ('? סמן = & גבול = "), מיון יציב.
אידמפוטנטיות - 'Idempotency-מפתח' עבור מוטציות.
אובייקט יציב 'meta' ו 'קישורים' לרשימות.

13) החלק "Webhooks' של המזח

חלק נפרד עם מעטפת אירוע, חתימות HMAC, חלון זמן, מגשים מחדש, קודי תגובה.
גופי אירוע לדוגמה ואוסף דוור לאימות חתימה מקומית.
הילוך חוזר/נקודות קצה DLQ ורשימת בדיקות UAT.

14) דב פורטל: תפקידים ופרסום

קטעים: סקירה, התחלה, אימות, נקודות קצה, דוגמאות, חוברות אינטרנט, SDK, הגבלות, Changelog.
תפקידים: Steward API (סטנדרטים), Domain בעלים (תוכן), Tech Writer (עריכה), DevRel (פורטל/קהילה).
תכונה: חיפוש בשדות סכימה, העתקה של דגימות, ”איסוף בקשה” * Postman.

15) רשימות בדיקה

לפני השחרור:
[ ] OpenAPI תקף; לינטר ללא טעויות.
[ דוגמאות ] מכסות 200/4xx/429/5xx.
[ אבטחה ]: תכניות אוטומטיות מתוארות, ללא סודות.
[ ] נוצר Swagger/Redoc and Postman (תיבת חול).
[ ] SDK יצר ופרסם.
[ ] Changelog מעודכן ובורר גרסאות.
עבור Deprection:
[ כלל ] כותרות Deprecation/Sunset.
[ ] באנר בפורטל, מכתבים לשותפים.
[ מדדי קריאת מורשת ] נופלים למטרה.

16) אנטי דפוסים

שכפול מקורות האמת (wiki everything OpenAPI).
דוגמאות של ”בעין” בלי לרוץ בדוור.
היעדר תבנית שגיאה אחת.
גרסה ”בפרמטר שאילתה” במקום URI/domain.
סוואגר עם גישה למזון וללא גבולות.
מזימות סגידה ואימות לא עקביות.

17) קטעים קטנים של אוטומציה

יצירת אוסף דוור מ ־ OpenAPI (פסאודו):
bash openapi2postmanv2 -s openapi. yaml -o postman. json -p
הוצאה לאור של פורטל (מדרגות CI, פסאודו-YAML):
yaml steps:
- run: spectral lint openapi. yaml
- run: openapi-diff --fail-on-breaking main. yaml openapi. yaml
- run: redoc-cli bundle openapi. yaml -o site/redoc. html
- run: swagger-cli bundle openapi. yaml -o site/swagger. json
- run: openapi2postmanv2 -s openapi. yaml -o site/postman. json -p
- run: npm run deploy:portal

18) לוקליזציה וזמינות

הפרט 'info. description_<lang>' או שתי אסיפות פורטל (EN/RU).
מונחי גלוסרי (KYC/AML, payout, idempotency).
ניגוד, ניווט מקלדת, נושא אפל.

תקציר

להרכיב צינור של תיעוד: חוזה OpenAPI אחד * linters ו-breaking-checks * Swagger/Redoc showcases ac Postman collections ו-SDK * portal ו-Sunset. דוגמאות רגילות, תבנית שגיאה אחת, ואימות חזק יהפכו את התיעוד מ-PDF על המדף לכלי אינטגרציה עובד,

Contact

צרו קשר

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

התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

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