פרסום ממשקי ה-API

אתם קוראים את מאמרי העזרה של Apigee Edge.
אפשר לעבור אל מסמכי התיעוד של Apigee X.
מידע

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

סקירה כללית על פרסום API

תהליך פרסום ממשקי API בפורטל כולל שני שלבים:

  1. בוחרים את מוצר ה-API שרוצים לפרסם בפורטל.
  2. אפשר לעבד מאמרי עזרה של ה-API ממסמך OpenAPI או מסכמת GraphQL כדי שמפתחי אפליקציות יוכלו לקבל מידע על ממשקי ה-API שלכם. (מידע נוסף על תמונות מצב זמין במאמר מהי תמונת מצב?)

מה מתפרסם בפורטל?

כשמפרסמים API, מתבצעים בפורטל העדכונים הבאים באופן אוטומטי:

  • מאמרי העזרה של ה-API הממשק שמוצג תלוי בשיטה שבה אתם מפרסמים את ה-API: באמצעות מסמך OpenAPI או סכימת GraphQL. פרטים נוספים מופיעים במאמר:
  • נוסף קישור לדף הפניית ה-API לדף ממשקי ה-API

    בדף APIs (שכלול ב פורטל לדוגמה) מופיעה רשימה של כל ממשקי ה-API שפורסמו בפורטל, בסדר אלפביתי, עם קישורים למסמכי העזר של כל API לקבלת מידע נוסף. אפשר גם להתאים אישית את האפשרויות הבאות:

    • תמונה שמוצגת לכל כרטיס API
    • קטגוריות שמשמשות לתיוג ממשקי API כדי לאפשר למפתחים לגלות ממשקי API קשורים בדף APIs

    דף ממשקי API בפורטל פעיל שמוצגות בו שתי קטגוריות ושימוש בתמונות

SmartDocs (OpenAPI)

כשמפרסמים API באמצעות מסמך OpenAPI, התיעוד של הפניה ל-API של SmartDocs מתווסף לפורטל.

מפתחים יכולים לעיין במאמרי העזרה של SmartDocs API ולשלוח בקשת API באמצעות החלונית Try this API כדי לראות את הפלט. האפשרות Try this API פועלת עם נקודות קצה לא מאובטחות או עם נקודות קצה מאובטחות באמצעות אימות בסיסי, מפתח API או OAuth, בהתאם לשיטת האבטחה שמוגדרת במסמך OpenAPI. ב-OAuth, יש תמיכה בתהליכים הבאים: קוד הרשאה, סיסמה ופרטי כניסה של לקוח.

דף תיעוד עזר של ה-API עם הסברים על הרשאת הקריאה ל-API, ביטול העגינה של החלונית Try this API, הורדה של המפרט הרלוונטי והפעלת ה-API.

לוחצים על מסך מלא כדי להרחיב את החלונית Try this API. בחלונית המורחבת אפשר לראות את הקריאה ל-curl ודוגמאות קוד בפורמטים שונים, כמו HTTP,‏ Python,‏ Node.js ועוד, כמו שמוצג באיור הבא.

חלונית מורחבת של Try this API

GraphQL Explorer

כשמפרסמים API באמצעות סכמת GraphQL, ‏ GraphQL Explorer מתווסף לפורטל. ‫GraphQL Explorer הוא סביבת בדיקה אינטראקקטיבית להרצת שאילתות ב-API. הכלי מבוסס על GraphiQL, הטמעה לדוגמה של סביבת הפיתוח המשולבת (IDE) של GraphQL שפותחה על ידי GraphQL Foundation.

מפתחים יכולים להשתמש ב-GraphQL Explorer כדי לעיין במסמכים האינטראקטיביים שמבוססים על סכימה, ליצור ולהריץ שאילתות, לראות את תוצאות השאילתות ולהוריד את הסכימה. כדי לאבטח את הגישה ל-API, מפתחים יכולים להעביר כותרות הרשאה בחלונית Request Headers (כותרות בקשה).

מידע נוסף על GraphQL זמין באתר graphql.org.

‫GraphQL Explorer בפורטל

מהי תמונת מצב?

כל מסמך OpenAPI או GraphQL משמש כמקור האמת לאורך מחזור החיים של API. אותו מסמך משמש בכל שלב במחזור החיים של ה-API, החל מפיתוח ועד פרסום ומעקב. כשמשנים מסמך, צריך להיות מודעים להשפעה של השינויים על ה-API בשלבים אחרים במחזור החיים, כפי שמתואר במאמר מה קורה אם משנים מסמך?.

כשמפרסמים את ה-API, יוצרים תמונת מצב של מסמך OpenAPI או GraphQL כדי להציג מאמרי עזרה ל-API. תמונת המצב הזו מייצגת גרסה ספציפית של המסמך. אם משנים את המסמך, יכול להיות שתרצו לצלם עוד תמונה של המסמך כדי שהשינויים האחרונים יופיעו במסמכי העיון של ה-API.

מידע על כתובות URL לקריאה חוזרת (callback)

אם האפליקציות שלכם דורשות כתובת URL של קריאה חוזרת, למשל כשמשתמשים בסוג ההרשאה של קוד הרשאה OAuth 2.0 (שנקרא לעיתים קרובות OAuth תלת-רגלי), אתם יכולים לדרוש מהמפתחים לציין כתובת URL של קריאה חוזרת כשהם רושמים את האפליקציות שלהם. בדרך כלל, כתובת ה-URL של הקריאה החוזרת מציינת את כתובת ה-URL של אפליקציה שמוגדרת לקבל קוד הרשאה בשם אפליקציית הלקוח. מידע נוסף זמין במאמר בנושא הטמעה של סוג ההרשאה Authorization Code Grant.

כשמוסיפים API לפורטל, אפשר להגדיר אם נדרשת כתובת URL לקריאה חוזרת (callback) במהלך רישום האפליקציה. אפשר לשנות את ההגדרה הזו בכל שלב, כמו שמתואר במאמר בנושא ניהול כתובת ה-URL של הקריאה החוזרת עבור API.

כשרושמים אפליקציה, המפתחים צריכים להזין כתובת URL של קריאה חוזרת לכל ממשקי ה-API שנדרשת להם כתובת כזו, כמו שמתואר במאמר בנושא רישום אפליקציות.

הגדרת proxy ל-API לתמיכה באפשרות 'ניסיון של ה-API הזה'

לפני שמפרסמים ממשקי API באמצעות מסמך OpenAPI, צריך להגדיר את ה-proxy ל-API כך שיתמוך בשליחת בקשות בחלונית Try this API במאמרי העזרה של ה-API של SmartDocs, באופן הבא:

  • הוספת תמיכה ב-CORS לשרתי proxy של API כדי לאכוף בקשות חוצות מקור בצד הלקוח

    ‫CORS הוא מנגנון סטנדרטי שמאפשר לקריאות JavaScript XMLHttpRequest ‏ (XHR) שמופעלות בדף אינטרנט לקיים אינטראקציה עם משאבים מדומיינים שאינם מקור. CORS הוא פתרון נפוץ למדיניות המקור הזהה שנאכפת על ידי כל הדפדפנים.

  • אם אתם משתמשים באימות בסיסי או ב-OAuth2, אתם צריכים לעדכן את ההגדרה של ה-proxy ל-API.

בטבלה הבאה מפורטות דרישות ההגדרה של proxy ל-API כדי לתמוך בחלונית Try this API במסמכי העזר של SmartDocs API, על סמך גישת האימות.

גישת אימות דרישות להגדרת המדיניות
ללא או מפתח API מוסיפים תמיכה ב-CORS ל-proxy ל-API. כדי להקל על התהליך, אפשר להשתמש ב פתרון לדוגמה ל-CORS שזמין ב-GitHub או לפעול לפי השלבים שמתוארים במאמר הוספת תמיכה ב-CORS ל-proxy ל-API.
אימות בסיסי מבצעים את השלבים הבאים:
  1. מוסיפים תמיכה ב-CORS ל-proxy ל-API. כדי להקל על התהליך, אפשר להשתמש ב פתרון לדוגמה ל-CORS שזמין ב-GitHub או לפעול לפי השלבים שמתוארים במאמר הוספת תמיכה ב-CORS ל-proxy ל-API.
  2. במדיניות Add CORS AssignMessage, מוודאים שהכותרת Access-Control-Allow-Headers כוללת את המאפיין authorization. לדוגמה:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
OAuth2
  1. מוסיפים תמיכה ב-CORS ל-proxy ל-API. כדי להקל על התהליך, אפשר להשתמש ב פתרון לדוגמה ל-CORS שזמין ב-GitHub או לפעול לפי השלבים שמתוארים במאמר הוספת תמיכה ב-CORS ל-proxy ל-API.
  2. במדיניות Add CORS AssignMessage, מוודאים שהכותרת Access-Control-Allow-Headers כוללת את המאפיין authorization. לדוגמה:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
  3. תיקון התנהגות שלא תואמת ל-RFC במדיניות OAuth2. כדי לחסוך זמן, אפשר להשתמש ב פתרון לדוגמה של OAuth2 שזמין ב-GitHub, או לבצע את השלבים הבאים:
    • מוודאים שהרכיב <GrantType> במדיניות OAuth2 מוגדר ל-request.formparam.grant_type (פרמטר טופס). מידע נוסף זמין במאמר בנושא <GrantType>.
    • מוודאים שההגדרה token_type במדיניות OAuth2 מוגדרת ל-Bearer ולא ל-BearerToken (ברירת המחדל).

ניהול ממשקי API

כדי לנהל את ממשקי ה-API, פועלים לפי ההוראות שבהמשך.

חיפוש ממשקי API

אפשר להשתמש בממשק המשתמש או בפקודה curl כדי לראות את ממשקי ה-API שמופיעים בפורטל.

ממשק משתמש

כדי לראות את קטלוג ה-API:

  1. בוחרים באפשרות פרסום > פורטלים ובוחרים את הפורטל הרצוי.
  2. לוחצים על API catalog בדף הבית של הפורטל. לחלופין, אפשר לבחור באפשרות קטלוג API בתפריט הנפתח של הפורטל בסרגל הניווט העליון.

בכרטיסייה APIs בקטלוג ה-API מוצגת רשימה של ממשקי ה-API שהוספתם לפורטל.

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

כפי שמודגש באיור הקודם, הכרטיסייה APIs מאפשרת לכם:

curl

כדי לרשום ממשקי API:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN"

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • ACCESS_TOKEN עם אסימון האימות שמשמש לגישה אל Apigee Edge API. מידע נוסף על אימות ואסימונים זמין במאמר אימות גישה ל-Edge API.

הוראות לשימוש בהחלפה בין דפים במטען הייעודי (payload) של התגובה מופיעות במאמר הערות לגבי החלפה בין דפים.

מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "one page of apidocs returned",
  "data": [
    {
      "id": 622759,
      "siteId": "my-org-myportal",
      "title": "Test",
      "description": "",
      "published": false,
      "visibility": false,
      "apiId": "apiproducttest18",
      "apiProductName": "apiproduct_test18",
      "edgeAPIProductName": "apiproduct_test18",
      "specId": null,
      "specContent": null,
      "specTitle": null,
      "snapshotExists": false,
      "snapshotModified": null,
      "modified": 1724144471000,
      "anonAllowed": false,
      "imageUrl": null,
      "snapshotState": null,
      "requireCallbackUrl": false,
      "categoryIds": [],
      "specFormat": null,
      "specModified": null,
      "snapshotOutdated": false,
      "snapshotSourceMissing": false,
      "graphqlSchema": null,
      "graphqlEndpointUrl": null,
      "graphqlSchemaDisplayName": null,
      "grpcFileName": null,
      "grpcZipContent": null
    }
  ],
  "code": null,
  "request_id": "1452867334",
  "error_code": null,
  "next_page_token": ""
}

כאשר:

  • modified: הזמן שבו בוצע השינוי האחרון בפריט הקטלוג באלפיות השנייה מאז ראשית הזמן. לדוגמה, 1698165480000.
  • id: המזהה של פריט הקטלוג. לדוגמה, 399668.

הערות לגבי חלוקה לדפים:

  • גודל הדף: משתמשים ב-pageSize כדי לציין את מספר הפריטים ברשימה שיוחזרו בדף אחד. ברירת המחדל היא 25 והערך המקסימלי הוא 100. אם יש דפים נוספים, הערך של nextPageToken הוא טוקן:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE" \
       -H "Authorization: Bearer ACCESS_TOKEN"
    

    מחליפים את:

    • PAGE_SIZE עם מספר הפריטים ברשימה שיוחזרו בדף אחד. לדוגמה, 10.

    מטען ייעודי (payload) של התגובה:

    {
      "status": "success",
      "message": "one page of apidocs returned",
      "data": [
        {
          "id": 638007,
          "siteId": "tsnow-mint-liztest",
          "title": "Testing",
          "description": "",
          "published": false,
          "visibility": false,
          "apiId": "testcatalog",
          "apiProductName": "testcatalog",
          "edgeAPIProductName": "testcatalog",
          "specId": "Petstore",
          "specContent": null,
          "specTitle": null,
          "snapshotExists": true,
          "snapshotModified": 1726508367000,
          "modified": 1728582504000,
          "anonAllowed": false,
          "imageUrl": null,
          "snapshotState": "OK_SUBMITTED",
          "requireCallbackUrl": false,
          "categoryIds": [],
          "specFormat": "YAML",
          "specModified": null,
          "snapshotOutdated": false,
          "snapshotSourceMissing": false,
          "graphqlSchema": null,
          "graphqlEndpointUrl": null,
          "graphqlSchemaDisplayName": null,
          "grpcFileName": null,
          "grpcZipContent": null
        }
      ],
      "code": null,
      "request_id": "1068810934",
      "error_code": null,
      "next_page_token": ""
    }
    

  • טוקן דף: משתמשים ב-pageToken כדי לאחזר דפים עוקבים אם יש יותר מדף אחד:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" \
          -H "Authorization: Bearer ACCESS_TOKEN"
    

    מחליפים את:

    • PAGE_SIZE עם מספר הפריטים ברשימה שיוחזרו בדף אחד. לדוגמה, 10.
    • PAGE_TOKEN עם הערך nextPageToken. לדוגמה, 7zcqrin9l6xhi4nbrb9.

הוספת API

משתמשים בממשק המשתמש או בפקודה curl כדי להוסיף ממשקי API לפורטל:

ממשק משתמש

כדי להוסיף API לפורטל:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על + הוספה.

    מוצגת תיבת הדו-שיח Add an API product to the catalog (הוספת מוצר API לקטלוג).

  4. בוחרים את מוצר ה-API שרוצים להוסיף לפורטל.

  5. לוחצים על הבא. יוצג הדף API details.

  6. הגדרת התוכן של מאמרי העזרה של ה-API והגדרת החשיפה שלהם בפורטל:

    שדה תיאור
    פורסם בוחרים באפשרות Published (פורסם) כדי לפרסם את ה-API בפורטל. אם אתם לא מוכנים לפרסם את ה-API, מבטלים את הסימון בתיבת הסימון. אפשר לשנות את ההגדרה הזו מאוחר יותר, כמו שמתואר במאמר בנושא פרסום או ביטול פרסום של API בפורטל.
    כותרת לתצוגה מעדכנים את השם של ה-API שמוצג בקטלוג. כברירת מחדל, המערכת משתמשת בשם מוצר ה-API. אפשר לשנות את השם המוצג מאוחר יותר, כמו שמתואר במאמר עריכת השם המוצג והתיאור.
    תיאור התצוגה מעדכנים את התיאור של ה-API שמוצג בקטלוג. כברירת מחדל, המערכת משתמשת בתיאור של מוצר ה-API. אפשר לשנות את התיאור המוצג מאוחר יותר, כמו שמתואר במאמר עריכת השם והתיאור המוצגים.
    דרישה ממפתחים לציין כתובת URL לקריאה חוזרת (callback) מפעילים את האפשרות הזו אם רוצים לדרוש ממפתחי אפליקציות לציין כתובת URL של קריאה חוזרת (callback). אפשר להוסיף או לעדכן את כתובת ה-URL לקריאה חוזרת (callback) בשלב מאוחר יותר, כמו שמתואר במאמר ניהול כתובת ה-URL לקריאה חוזרת (callback) עבור API.
    תיעוד ממשק API

    כדי להשתמש במסמך OpenAPI:

    1. בוחרים באפשרות מסמך OpenAPI.
    2. לוחצים על בחירת מסמך.
    3. מבצעים אחת מהפעולות הבאות:
      • לוחצים על הכרטיסייה המאפיינים שלי ובוחרים מאפיין מחנות המאפיינים.
      • לוחצים על הכרטיסייה העלאת קובץ ומעלים קובץ.
      • לוחצים על הכרטיסייה ייבוא מכתובת URL ומייבאים מפרט מכתובת URL.
    4. לוחצים על בחירה.

    כדי להשתמש בסכימת GraphQL:

    1. בוחרים באפשרות GraphQL Schema.
    2. לוחצים על בחירת מסמך.
    3. עוברים אל סכימת GraphQL ובוחרים בה.
    4. לוחצים על בחירה.

    לחלופין, אפשר לבחור באפשרות No documentation ולהוסיף מסמך מאוחר יותר אחרי הוספת ה-API, כמו שמתואר במאמר ניהול תמונת המצב של המסמך.

    הרשאות גישה ל-API

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

    • משתמשים אנונימיים כדי לאפשר לכל המשתמשים לצפות ב-API.
    • משתמשים רשומים כדי לאפשר רק למשתמשים רשומים לצפות ב-API.

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

    • גלוי לכולם כדי לאפשר לכל המשתמשים לצפות ב-API.
    • משתמשים מאומתים כדי לאפשר רק למשתמשים רשומים לצפות ב-API.
    • קהלים נבחרים כדי לבחור את הקהלים הספציפיים שרוצים שיוכלו לראות את ה-API.

    אפשר לשנות את הרשאות הגישה לקהל מאוחר יותר, כמו שמתואר במאמר בנושא ניהול הרשאות הגישה ל-API בפורטל.

    תמונה לתצוגה כדי להציג תמונה בכרטיס ה-API בדף APIs, לוחצים על Select image (בחירת תמונה). בתיבת הדו-שיח בחירת תמונה, בוחרים תמונה קיימת, מעלים תמונה חדשה או מציינים את כתובת ה-URL של תמונה חיצונית, ולוחצים על בחירה. בודקים את התמונה הממוזערת של ה-API ולוחצים על בחירה. אפשר להוסיף תמונה מאוחר יותר, כמו שמתואר במאמר ניהול התמונה בכרטיס API. כשמציינים תמונה עם כתובת URL חיצונית, התמונה לא מועלית לנכסים שלכם. בנוסף, טעינת התמונה בפורטל המשולב תהיה תלויה בזמינות שלה, והיא עשויה להיחסם או להיות מוגבלת על ידי מדיניות אבטחת תוכן.
    קטגוריות

    מוסיפים את הקטגוריות שבהן ה-API יתויג כדי שמפתחי אפליקציות יוכלו למצוא ממשקי API קשורים בדף APIs. כדי לזהות קטגוריה:

    • בוחרים קטגוריה מהרשימה הנפתחת.
    • כדי להוסיף קטגוריה חדשה, מקלידים את השם שלה ומקישים על Enter. הקטגוריה החדשה תתווסף לדף Categories (קטגוריות) ותהיה זמינה כשמוסיפים או עורכים ממשקי API אחרים.

  7. לוחצים על שמירה.

curl

כדי להוסיף API לפורטל :

curl -X POST "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
       "title": "TITLE",
       "description": "DESCRIPTION",
       "anonAllowed": ANON_TRUE_OR_FALSE,
       "imageUrl": "IMAGE_URL",
       "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
       "categoryIds": [
         "CATEGORY_ID1",
         "CATEGORY_ID2"
       ],
       "published": PUBLISHED_TRUE_OR_FALSE,
        "apiProductName": "API_PRODUCT"
    }'

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • ACCESS_TOKEN עם אסימון האימות שמשמש לגישה אל Apigee Edge API. מידע נוסף על אימות ואסימונים זמין במאמר אימות גישה ל-Edge API.
  • TITLE עם הכותרת המוצגת. לדוגמה, Hello World 2.
  • DESCRIPTION עם תיאור המסך. לדוגמה, Simple hello world example.
  • ANON_TRUE_OR_FALSE עם true או false (ברירת מחדל), כאשר true פירושו של-API הזה יש נראות ציבורית וניתן לצפות בו באופן אנונימי; אחרת, רק משתמשים רשומים יכולים לצפות בו.
  • IMAGE_URL עם כתובת ה-URL של תמונה חיצונית שמשמשת לפריט בקטלוג, או נתיב קובץ של קובצי תמונות שמאוחסנים בפורטל. לדוגמה: /files/book-tree.jpg. כשמציינים את כתובת ה-URL של תמונה חיצונית, התמונה לא מועלית לנכסים שלכם. בנוסף, טעינת התמונה בפורטל המשולב תהיה תלויה בזמינות שלה, והיא עשויה להיחסם או להיות מוגבלת על ידי מדיניות אבטחת תוכן.
  • CALLBACK_TRUE_OR_FALSE עם true או false (ברירת מחדל), כאשר true מחייב משתמש בפורטל להזין כתובת URL כשמנהלים את האפליקציה.
  • CATEGORY_ID במזהה הקטגוריה. לדוגמה: bf6505eb-2a0f-47af-a00a-ded40ac72960. כדי להזין כמה מזהי קטגוריות צריך להפריד ביניהם בפסיקים. מקבלים את מזהה הקטגוריה באמצעות הפקודה list API categories.
  • PUBLISHED_TRUE_OR_FALSE עם true או false (ברירת מחדל), כאשר true מציין שממשק ה-API זמין לציבור. אחרי הפרסום, אפשר להעניק גישה לכל המשתמשים, למשתמשים מאומתים או למשתמשים ספציפיים.
  • API_PRODUCT עם שם מוצר ה-API. לדוגמה: Hello World 2.

מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "API created",
  "data": {
    "id": 662423,
    "siteId": "my-org-myportal",
    "title": "My Test Catalog 4",
    "description": "",
    "published": false,
    "visibility": false,
    "apiId": "uxb9wjua",
    "apiProductName": "uXB9wJUa",
    "edgeAPIProductName": "uXB9wJUa",
    "specId": null,
    "specContent": null,
    "specTitle": null,
    "snapshotExists": false,
    "snapshotModified": null,
    "modified": 1729635493000,
    "anonAllowed": false,
    "imageUrl": null,
    "snapshotState": null,
    "requireCallbackUrl": false,
    "categoryIds": [],
    "specFormat": null,
    "specModified": null,
    "snapshotOutdated": null,
    "snapshotSourceMissing": false,
    "graphqlSchema": null,
    "graphqlEndpointUrl": null,
    "graphqlSchemaDisplayName": null,
    "grpcFileName": null,
    "grpcZipContent": null
  },
  "code": null,
  "request_id": "893346193",
  "error_code": null
}

כאשר:

  • modified: הזמן שבו בוצע השינוי האחרון בפריט הקטלוג באלפיות השנייה מאז ראשית הזמן. לדוגמה, 1698165480000.
  • id: המזהה של פריט הקטלוג. לדוגמה, 399668.

עריכת API

אחרי הוספת API, אפשר להשתמש בממשק המשתמש או בקריאה ל-API כדי לבצע עריכות.

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

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

ממשק משתמש

כדי לערוך API:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. לוחצים על סמל עריכהעריכה.
  5. בקטע פרטי API, מבצעים את השינויים הרצויים. תיאורים של האפשרויות מופיעים במאמר הוספת API.
  6. לוחצים על שמירה.

curl

אחרי שמוסיפים API, משתמשים בקריאה update כדי לבצע עריכות.

בדוגמה הזו מוסבר איך לשנות את סטטוס הפרסום של ה-API בפורטל מ-true ל-false. במקרה הצורך, אפשר לשנות יותר מהגדרה אחת בקריאה אחת ל-API.

  1. כדי לאתר את id שנוצר ומזהה באופן ייחודי כל API, צריך לקבל רשימה של ממשקי ה-API בפורטל, כמו שמתואר במאמר עיון בממשקי API.
  2. החזרת הערכים הנוכחיים של API ספציפי:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
    -H "Authorization: Bearer ACCESS_TOKEN"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ORG_NAME עם שם הארגון. לדוגמה, my-org.
    • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
    • API_DOC עם id שנוצר של המסמך. לדוגמה, 399668. כדי למצוא את הערך הזה, משתמשים בפקודה list API docs.
    • ACCESS_TOKEN עם אסימון האימות שמשמש לגישה אל Apigee Edge API. מידע נוסף על אימות ואסימונים זמין במאמר אימות גישה ל-Edge API.

    מטען ייעודי (payload) של התגובה:

    {
      "status": "success",
      "message": "apidoc returned",
      "data": {
        "id": 662423,
        "siteId": "my-org-myportal",
        "title": "My Test Catalog 4",
        "description": "",
        "published": false,
        "visibility": false,
        "apiId": "uxb9wjua",
        "apiProductName": "uXB9wJUa",
        "edgeAPIProductName": "uXB9wJUa",
        "specId": null,
        "specContent": null,
        "specTitle": null,
        "snapshotExists": false,
        "snapshotModified": null,
        "modified": 1729635493000,
        "anonAllowed": false,
        "imageUrl": null,
        "snapshotState": null,
        "requireCallbackUrl": false,
        "categoryIds": [],
        "specFormat": null,
        "specModified": null,
        "snapshotOutdated": false,
        "snapshotSourceMissing": false,
        "graphqlSchema": null,
        "graphqlEndpointUrl": null,
        "graphqlSchemaDisplayName": null,
        "grpcFileName": null,
        "grpcZipContent": null
      },
      "code": null,
      "request_id": "601210268",
      "error_code": null
    }
    

  1. כוללים את הערכים הניתנים לשינוי שרוצים לשמור בקריאה ל-update, ומשנים את הערכים שרוצים לשנות. אם משמיטים שורה, המערכת משתמשת בהגדרת ברירת המחדל. בדוגמה הזו, משנים את הגדרת הפרסום מ-false ל-true:

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
     -H "Authorization: Bearer ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
        "title": "TITLE",
        "anonAllowed": true,
        "published": true
     }'
    

    מחליפים את מה שכתוב בשדות הבאים:

    • TITLE עם הכותרת המוצגת. לדוגמה, Hello World 2.

    מטען ייעודי (payload) של התגובה:

    {
      "status": "success",
      "message": "ApiDoc updated",
      "data": {
        "id": 662423,
        "siteId": "my-org-myportal",
        "title": "My Test Catalog 4",
        "description": "",
        "published": true,
        "visibility": true,
        "apiId": "uxb9wjua",
        "apiProductName": "uXB9wJUa",
        "edgeAPIProductName": "uXB9wJUa",
        "specId": null,
        "specContent": null,
        "specTitle": null,
        "snapshotExists": false,
        "snapshotModified": null,
        "modified": 1729989250000,
        "anonAllowed": true,
        "imageUrl": null,
        "snapshotState": null,
        "requireCallbackUrl": false,
        "categoryIds": [],
        "specFormat": null,
        "specModified": null,
        "snapshotOutdated": null,
        "snapshotSourceMissing": false,
        "graphqlSchema": null,
        "graphqlEndpointUrl": null,
        "graphqlSchemaDisplayName": null,
        "grpcFileName": null,
        "grpcZipContent": null
      },
      "code": null,
      "request_id": "738172002",
      "error_code": null
    }
    

ניהול תמונת המצב של המסמך

אחרי שמפרסמים את ה-API, אפשר בכל שלב לצלם תמונה חדשה של מסמך OpenAPI או GraphQL כדי לעדכן את מאמרי העזרה של ה-API שפורסמו בפורטל.

כדי לנהל את תמונת המצב של המסמך:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. בודקים את סטטוס התמונה. אם היא לא מעודכנת, מוצגת ההודעה הבאה: סמל והודעה שמציינים שהתמונה העדכנית לא עדכנית
  5. לוחצים על סמל עריכה.
  6. מבצעים אחת מהמשימות הבאות:
    • כדי לרענן תמונת מצב של מסמך OpenAPI שהוא לא עדכני, לוחצים על רענון תמונת המצב.
    • כדי לשנות את המסמך שמשמש ליצירת מאמרי העזרה של ה-API, בקטע API documentation (מאמרי העזרה של ה-API) לוחצים על Select Document (בחירת מסמך) ובוחרים את המסמך החדש.
  7. לוחצים על שמירה.

פרסום או ביטול פרסום של API בפורטל

פרסום הוא התהליך שבו אתם מאפשרים למפתחי אפליקציות להשתמש בממשקי ה-API שלכם.

משתמשים בממשק המשתמש או בפקודה curl כדי לפרסם API בפורטל או לבטל את הפרסום שלו.

ממשק משתמש

כדי לפרסם או לבטל את הפרסום של API בפורטל:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. לוחצים על סמל העריכה עריכה.
  5. בקטע פרטי ה-API, מסמנים את התיבה פורסם (מופיע בקטלוג) או מבטלים את הסימון שלה כדי לפרסם את ה-API בפורטל או לבטל את הפרסום שלו, בהתאמה.
  6. לוחצים על שמירה.

curl

צריך לכלול את אחת מהאפשרויות הבאות בקריאת העדכון:

"published": true,    # API is published to your portal
"published": false,   # API is not published in your portal

כדי לערוך את ה-API:

  1. החזרת הערכים הנוכחיים:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN"
  2. משתמשים בקריאה update כדי לערוך את ה-API. כוללים את הערכים שניתנים לשינוי שרוצים לשמור ומשנים את הערכים שרוצים לשנות. אם משמיטים הגדרה שניתנת לשינוי, היא מוחלפת בערך ברירת המחדל.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/  ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
     -H "Authorization: Bearer ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
        "title": "TITLE",
        "description": "DESCRIPTION",
        "anonAllowed": ANON_TRUE_OR_FALSE,
        "imageUrl": IMAGE_URL,
        "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
        "categoryIds": [
          "CATEGORY_ID1",
         "CATEGORY_ID2"
        ],
        "published": PUBLISHED_TRUE_OR_FALSE
    }

במאמר ניהול הגרסה של המסמך יש דוגמה מפורטת של השלבים, המשתנים והמטען הייעודי (payload) שמוחזרים.

ניהול הגדרות הפרטיות של API בפורטל

אפשר לנהל את החשיפה של API בפורטל על ידי מתן גישה ל:

  • גלוי לכולם (כל אחד יכול לראות את זה)
  • משתמשים מאומתים
  • קהלים נבחרים (אם נרשמתם לגרסת הבטא של התכונה לניהול קהלים)

משתמשים בממשק המשתמש או בפקודה curl כדי לנהל את החשיפה של API בפורטל:

ממשק משתמש

כדי לשנות את רמת החשיפה של API בפורטל:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. לוחצים על סמל העריכה עריכה.
  5. בוחרים את הגדרת החשיפה. אם נרשמתם לגרסת הבטא של תכונת הקהלים, אתם יכולים לבחור באחת מהאפשרויות הבאות:

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

  6. לוחצים על שליחה.

curl

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

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

צריך לכלול את אחת מהאפשרויות הבאות בקריאה ל-update:

  # When not enrolled in the beta release of the audience management feature:

  "anonAllowed": true,      # Anonymous users can see the API
  "anonAllowed": false,     # Only registered users can see the API

כדי לערוך את ה-API:

  1. החזרת הערכים הנוכחיים:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. משתמשים בקריאה update כדי לערוך את ה-API. כוללים את הערכים שניתנים לשינוי שרוצים לשמור, ומשנים את הערכים שרוצים לשנות. אם משמיטים הגדרה שניתנת לשינוי, המערכת משתמשת בערך ברירת המחדל.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

במאמר עריכת API מופיעה דוגמה מפורטת של השלבים, המשתנים והמטען הייעודי (payload) שמוחזרים.

ניהול כתובת URL לקריאה חוזרת (callback) עבור API

ניהול כתובת ה-URL לקריאה חוזרת (callback) של API. מידע נוסף על כתובות URL לקריאה חוזרת (callback)

כדי לנהל את כתובת ה-URL של הקריאה החוזרת עבור API, משתמשים בממשק המשתמש או בפקודה curl:

ממשק משתמש

כדי לנהל את כתובת ה-URL לקריאה חוזרת (callback) של API:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. לוחצים על סמל העריכה עריכה.
  5. בקטע פרטי API, מסמנים או מבטלים את הסימון בתיבת הסימון דרישה ממפתחים לציין כתובת URL של קריאה חוזרת.
  6. לוחצים על שמירה.

curl

צריך לכלול את אחת מהאפשרויות הבאות בקריאה ל-update:

  "requireCallbackUrl": true,    # Portal user is required to input a URL
  "requireCallbackUrl": false,   # Portal user is not required to input a URL

כדי לערוך את ה-API:

  1. החזרת הערכים הנוכחיים:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. משתמשים בקריאה update כדי לערוך את ה-API. כוללים את הערכים שניתנים לשינוי שרוצים לשמור, ומשנים את הערכים שרוצים לשנות. אם משמיטים הגדרה שניתנת לשינוי, המערכת משתמשת בערך ברירת המחדל.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

במאמר עריכת API מופיעה דוגמה מפורטת של השלבים, המשתנים והמטען הייעודי (payload) שמוחזרים.

ניהול התמונה של כרטיס API

כדי לנהל את התמונה שמופיעה עם כרטיס API בדף APIs, מוסיפים או משנים את התמונה הנוכחית.

משתמשים בממשק המשתמש או בפקודה curl כדי לנהל את התמונה של כרטיס API:

ממשק משתמש

כדי לנהל את התמונה של כרטיס API:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. לוחצים על סמל העריכה עריכה.
  5. בקטע פרטי ה-API:

    • אם לא נבחרה תמונה, לוחצים על בחירת תמונה כדי לציין או להעלות תמונה.
    • לוחצים על שינוי התמונה כדי לציין או להעלות תמונה אחרת.
    • לוחצים על x בתמונה כדי להסיר אותה.

    כשמציינים תמונה, צריך לציין תמונה עם כתובת URL חיצונית שמשמשת לפריט הקטלוג, או נתיב לקבצי תמונות שמאוחסנים בפורטל, לדוגמה, /files/book-tree.jpg. כשמציינים כתובת URL של תמונה חיצונית, התמונה לא מועלית לנכסים. בנוסף, טעינת התמונה בפורטל המשולב תהיה תלויה בזמינות שלה, שעשויה להיחסם או להיות מוגבלת על ידי מדיניות אבטחת תוכן.

  6. לוחצים על שמירה.

curl

כוללים את הפרטים הבאים בקריאה של update:

  # Omit line for no image file

  "imageUrl": "IMAGE_URL"    # URL of the external image or name of the image file

כדי לערוך את ה-API:

  1. החזרת הערכים הנוכחיים:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. משתמשים בקריאה update כדי לערוך את ה-API. כוללים את הערכים שניתנים לשינוי שרוצים לשמור, ומשנים את הערכים שרוצים לשנות. אם משמיטים הגדרה שניתנת לשינוי, המערכת משתמשת בערך ברירת המחדל.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

במאמר עריכת API מופיעה דוגמה מפורטת של השלבים, המשתנים והמטען הייעודי (payload) שמוחזרים.

תיוג API באמצעות קטגוריות

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

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

  • אפשר לנהל את הקטגוריות שבהן מתויג API כשעורכים את ה-API, כמו שמתואר בהמשך.
  • אפשר לנהל את ממשקי ה-API שתויגו לקטגוריה כשעורכים את הקטגוריה.

משתמשים בממשק המשתמש או בפקודה curl כדי לתייג API באמצעות קטגוריות:

ממשק משתמש

כדי לתייג API לקטגוריות כשעורכים את ה-API:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. לוחצים על סמל העריכה עריכה.
  5. לוחצים בשדה Categories (קטגוריות) ומבצעים אחת מהפעולות הבאות:
    • בוחרים קטגוריה מהרשימה הנפתחת.
    • כדי להוסיף קטגוריה חדשה, מקלידים את השם שלה ומקישים על Enter. הקטגוריה החדשה תתווסף לדף Categories (קטגוריות) ותהיה זמינה כשמוסיפים או עורכים ממשקי API אחרים.
  6. חוזרים על הפעולה כדי לתייג את ה-API בעוד קטגוריות.
  7. לוחצים על שמירה.

curl

כוללים את הפרטים הבאים בקריאה של update:

  # Omit line for no categories

  "categoryIds": [
      "CATEGORY_ID1",      # A category ID number
      "CATEGORY_ID2"       # A category ID number
    ],

משתמשים בפקודה list categories כדי לקבל את מספרי מזהי הקטגוריות.

כדי לערוך את ה-API:

  1. החזרת הערכים הנוכחיים:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. משתמשים בקריאה update כדי לערוך את ה-API. כוללים את הערכים שניתנים לשינוי שרוצים לשמור, ומשנים את הערכים שרוצים לשנות. אם משמיטים הגדרה שניתנת לשינוי, המערכת משתמשת בערך ברירת המחדל.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

במאמר עריכת API מופיעה דוגמה מפורטת של השלבים, המשתנים והמטען הייעודי (payload) שמוחזרים.

עריכת השם המוצג והתיאור

משתמשים בממשק המשתמש או בפקודה curl כדי לערוך את השם והתיאור לתצוגה:

ממשק משתמש

כדי לערוך את השם והתיאור לתצוגה:

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. לוחצים על סמל העריכה עריכה.
  5. עורכים את השדות שם מוצג ותיאור מוצג לפי הצורך.
  6. לוחצים על שמירה.

curl

כוללים את הפרטים הבאים בקריאה של update:

  "title": "TITLE",    # Display title
  "description": "DESCRIPTION",  # Display description

כדי לערוך את ה-API:

  1. החזרת הערכים הנוכחיים:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. משתמשים בקריאה update כדי לערוך את ה-API. כוללים את הערכים שניתנים לשינוי שרוצים לשמור, ומשנים את הערכים שרוצים לשנות. אם משמיטים הגדרה שניתנת לשינוי, המערכת משתמשת בערך ברירת המחדל.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

במאמר עריכת API מופיעה דוגמה מפורטת של השלבים, המשתנים והמטען הייעודי (payload) שמוחזרים.

הסרת API מהפורטל

כדי להסיר API מהפורטל, משתמשים בממשק המשתמש או בפקודה curl:

ממשק משתמש

כדי להסיר API מהפורטל:

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

curl

כדי להסיר API מהפורטל:

curl -X DELETE "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
    -H "Authorization: Bearer ACCESS_TOKEN"

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • API_DOC עם id שנוצר של המסמך. לדוגמה, 399668. כדי למצוא את הערך הזה, משתמשים בפקודה list API docs.
  • ACCESS_TOKEN עם אסימון האימות שמשמש לגישה אל Apigee Edge API. מידע נוסף על אימות ואסימונים זמין במאמר אימות גישה ל-Edge API.

מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "Apidoc deleted",
  "data": {
  },
  "code": null,
  "request_id": "1790036484",
  "error_code": null
}

ניהול מאמרי העזרה של ה-API

בקטעים הבאים מוסבר איך לעדכן, להוריד או להסיר מסמכי API.

עדכון מאמרי העזרה של ה-API

כדי להעלות גרסה אחרת של מאמרי העזרה של ה-API:

ממשק משתמש

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. בודקים את סטטוס התמונה. אם היא לא מעודכנת, מוצגת ההודעה הבאה: סמל והודעה שמציינים שהתמונה העדכנית לא עדכנית
  5. לוחצים על עריכה.
  6. מבצעים אחת מהמשימות הבאות:
    • כדי לרענן תמונת מצב של מסמך OpenAPI שכבר לא עדכני, לוחצים על רענון תמונת המצב.
    • כדי לשנות את המסמך שמשמש ליצירת מאמרי העזרה של ה-API, בקטע מאמרי העזרה של ה-API לוחצים על Select Document (בחירת מסמך) ובוחרים את המסמך החדש.
  7. בחלונית מאמרי העזרה של ה-API, בוחרים באחת מהאפשרויות הבאות:
    • מסמך OpenAPI
    • סכימת GraphQL
  8. לוחצים על בחירת מסמך ובוחרים את הגרסה העדכנית ביותר של המסמך.
  9. ב-GraphQL, מציינים את כתובת ה-URL של נקודת הקצה.
  10. לוחצים על שמירה.

הפניית API מוצגת מהמסמך ונוספת לדף API Reference. סטטוס התמונה יתעדכן ל'נוכחי':

הסמל וההודעה מציינים שתמונת המצב עדכנית

curl

כדי לעדכן את התוכן של מסמכי OpenAPI או GraphQL:

OpenAPI

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"oasDocumentation": {
           "spec":{ "displayName":"DISPLAY_NAME",
                    "contents":"CONTENTS"}
            }
        }'

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • API_DOC עם id שנוצר של המסמך. לדוגמה, 399668. כדי למצוא את הערך הזה, משתמשים בפקודה list API docs.
  • DISPLAY_NAME בשם המוצג של מאמרי העזרה של ה-API. לדוגמה, Hello World 2.
  • CONTENTS במחרוזת בקידוד Base64 של תוכן תיעוד ה-API. רוב סביבות הפיתוח מכילות כלי להמרת base64, או שאפשר להשתמש באחד מכלי ההמרה הרבים באינטרנט.

מטען ייעודי (payload) של התגובה:

{
 "status":"success",
 "message":"Api documentation updated",
 "requestId":"645138278"
 "data": {
   "oasDocumentation": {
     "spec": {
        "displayName": "Hello World 2"
      },
     "Format": "YAML"
   }
 }
}

GraphQL

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"graphqlDocumentation": {
         "schema":{"displayName":"DISPLAY_NAME",
         "contents":"CONTENTS"},
         "endpointUri": "ENDPOINT_URI"
          }
      }'

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • API_DOC עם id שנוצר של המסמך. לדוגמה, 399668. כדי למצוא את הערך הזה, משתמשים בפקודה list API docs.
  • DISPLAY_NAME בשם המוצג של מאמרי העזרה של ה-API. לדוגמה, Hello World 2.
  • ENDPOINT_URI בשם הדומיין של ה-URI של נקודת הקצה. לדוגמה, https://demo.google.com/graphql.
  • CONTENTS במחרוזת בקידוד Base64 של תוכן תיעוד ה-API. רוב סביבות הפיתוח מכילות כלי להמרת base64, או שאפשר להשתמש באחד מכלי ההמרה הרבים באינטרנט.

מטען ייעודי (payload) של התגובה:

{
"status": "success",
"message": "ApiDocDocumentation updated",
"data": {
  "oasDocumentation": null,
  "graphqlDocumentation": {
    "schema": {
      "displayName": "schema.docs.graphql",
      "contents": ""
    },
    "endpointUri": "https://demo.google.com/graphql"
  }
},
"code": null,
"request_id": "640336173",
"error_code": null
}

מסמכי העזרה של ה-API נוצרים מהמסמך ומוספים לדף ה-APIs בפורטל הפעיל.

הורדה של מאמרי העזרה של ה-API

כדי להוריד את מאמרי העזרה של ה-API:

ממשק משתמש

curl

כדי להוריד מאמרי העזרה של ה-API באמצעות get documentation:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN"

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • API_DOC עם id שנוצר של המסמך. לדוגמה, 399668. כדי למצוא את הערך הזה, משתמשים בפקודה list API docs.

    מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "ApiDocDocumentation returned",
  "data": {
    "oasDocumentation": {
      "spec": {
        "displayName": "mock",
        "contents": "b3BlbmFwaTogMy4wLjAKaW5mbzoKICBkZXNjcmlw ..."
      },
      "format": "YAML"
    },
    "graphqlDocumentation": null
  },
  "code": null,
  "request_id": "269996898",
  "error_code": null
}

כאשר:

contents: מחרוזת בקידוד base64 של תוכן מאמרי העזרה של ה-API.

הסרת מאמרי העזרה של ה-API

כדי להסיר את מאמרי העזרה של ה-API:

ממשק משתמש

  1. גישה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API), אם היא לא מסומנת.
  3. לוחצים על השורה של ה-API שרוצים לערוך.
  4. לוחצים על עריכה.
  5. בחלונית מאמרי העזרה של ה-API, בוחרים באפשרות No documentation.
  6. לוחצים על שמירה.

curl

כדי לנקות תוכן קיים, משתמשים ב-update API:

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{}'

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • API_DOC עם id שנוצר של המסמך. לדוגמה, 399668. כדי למצוא את הערך הזה, משתמשים בפקודה list API docs.

מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "ApiDocDocumentation updated",
  "data": {
    "oasDocumentation": null,
    "graphqlDocumentation": null
  },
  "code": null,
  "request_id": "304329676",
  "error_code": null
}

ניהול הקטגוריות שמשמשות לגילוי ממשקי API קשורים

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

עוד קטגוריות

אפשר להשתמש בממשק המשתמש או בפקודה curl כדי לראות את ממשקי ה-API שמופיעים בפורטל.

ממשק משתמש

כדי להציג את הדף 'קטגוריות':

  1. בוחרים באפשרות פרסום > פורטלים ובוחרים את הפורטל הרצוי.
  2. לוחצים על API catalog בדף הבית של הפורטל.

    לחלופין, אפשר ללחוץ על API catalog בתפריט הנפתח של הפורטל בסרגל הניווט העליון.

  3. לוחצים על הכרטיסייה קטגוריות.

בכרטיסייה Categories בקטלוג ה-API מוצגת רשימת הקטגוריות שהוגדרו לפורטל.

בכרטיסייה Categories (קטגוריות) מוצגים שם הקטגוריה, השמות והמספר הכולל של ממשקי ה-API שהוקצו

כפי שמודגש באיור הקודם, הדף 'ממשקי API' מאפשר לכם:

curl

כדי לראות רשימה של קטגוריות:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \
    -H "Authorization: Bearer ACCESS_TOKEN"

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • ACCESS_TOKEN עם אסימון האימות שמשמש לגישה אל Apigee Edge API. מידע נוסף על אימות ואסימונים זמין במאמר אימות גישה ל-Edge API.

מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "all ApiCategory items returned",
  "data": [
    {
      "id": "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
      "siteId": "my-org-myportal",
      "name": "My Category"
    },
    {
      "id": "61c1014c-89c9-40e6-be3c-69cca3505620",
      "siteId": "my-org-myportal",
      "name": "test2"
    }
  ],
  "code": null,
  "request_id": "1263510680",
  "error_code": null
}

כאשר:

  • id: המזהה של פריט הקטגוריה. לדוגמה, 61c1014c-89c9-40e6-be3c-69cca3505620.

הוספת קטגוריה

מוסיפים קטגוריה באחת מהדרכים הבאות:

הקטגוריה החדשה תתווסף לדף Categories ותהיה זמינה כשמוסיפים או עורכים ממשקי API אחרים.

כדי להוסיף קטגוריה, משתמשים בממשק המשתמש או בפקודה curl:

ממשק משתמש

כדי להוסיף קטגוריה באופן ידני:

  1. איך ניגשים לדף 'קטגוריות'
  2. לוחצים על + הוספה.
  3. מזינים את השם של הקטגוריה החדשה.
  4. אפשר גם לבחור ממשקי API אחד או יותר לתיוג בקטגוריה.
  5. לוחצים על יצירה.

curl

כדי להוסיף קטגוריה:

curl -X POST "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"name": "CATEGORY_NAME" }'

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • ACCESS_TOKEN עם אסימון האימות שמשמש לגישה אל Apigee Edge API. מידע נוסף על אימות ואסימונים זמין במאמר אימות גישה ל-Edge API.
  • CATEGORY_NAME בשם הקטגוריה. לדוגמה, demo-backend.

מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "API category created",
  "data": {
    "id": "61de810e-b48b-4cc1-8f22-959038aadcce",
    "siteId": "my-org-myportal",
    "name": "demo-backend"
  },
  "code": null,
  "request_id": "363146927",
  "error_code": null
}

עריכת קטגוריה

משתמשים בממשק המשתמש או בפקודה curl כדי לערוך קטגוריה:

ממשק משתמש

כדי לערוך קטגוריה:

  1. איך ניגשים לדף 'קטגוריות'
  2. לוחצים על עריכה.
  3. עורכים את שם הקטגוריה.
  4. מוסיפים או מסירים תיוגים של ממשקי API.
  5. לוחצים על שמירה.

curl

כדי לערוך קטגוריה:

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID"  \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"name": "CATEGORY_NAME" }'

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • CATEGORY_ID במזהה הקטגוריה. לדוגמה: bf6505eb-2a0f-47af-a00a-ded40ac72960. כדי להזין כמה מזהי קטגוריות צריך להפריד ביניהם בפסיקים. מקבלים את מזהה הקטגוריה באמצעות הפקודה list API categories.
  • ACCESS_TOKEN עם אסימון האימות שמשמש לגישה אל Apigee Edge API. מידע נוסף על אימות ואסימונים זמין במאמר אימות גישה ל-Edge API.
  • CATEGORY_NAME בשם הקטגוריה. לדוגמה, demo-backend.

מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "ApiCategory updated",
  "data": {
    "id": "61de810e-b48b-4cc1-8f22-959038aadcce",
    "siteId": "my-org-myportal",
    "name": "demo-backend-test"
  },
  "code": null,
  "request_id": "1976875617",
  "error_code": null
}

מחיקת קטגוריה

כשמוחקים קטגוריה, נמחקים גם כל התגים של ה-API שמשויכים לקטגוריה הזו.

כדי למחוק קטגוריה, משתמשים בממשק המשתמש או בפקודה curl:

ממשק משתמש

כדי למחוק קטגוריה:

  1. איך ניגשים לדף 'קטגוריות'
  2. מציבים את הסמן מעל הקטגוריה שרוצים לערוך כדי להציג את תפריט הפעולות.
  3. לוחצים על מחיקה.
  4. לוחצים על מחיקה כדי לאשר.

curl

כדי למחוק קטגוריה:

curl -X DELETE "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json"

מחליפים את מה שכתוב בשדות הבאים:

  • ORG_NAME עם שם הארגון. לדוגמה, my-org.
  • SITE_ID עם שם הפורטל, בפורמט ORG_NAME-PORTAL_NAME, כאשר ORG_NAME הוא שם הארגון ו-PORTAL_NAME הוא שם הפורטל שהומר לאותיות קטנות בלבד, והוסרו ממנו רווחים ומקפים. לדוגמה, my-org-myportal.
  • CATEGORY_ID במזהה הקטגוריה. לדוגמה, bf6505eb-2a0f-47af-a00a-ded40ac72960. מריצים את הפקודה list API categories כדי לקבל את מזהה הקטגוריה.
  • ACCESS_TOKEN עם אסימון האימות שמשמש לגישה אל Apigee Edge API. מידע נוסף על אימות ואסימונים זמין במאמר אימות גישה ל-Edge API.

מטען ייעודי (payload) של התגובה:

{
  "status": "success",
  "message": "ApiCategory deleted",
  "data": {
  },
  "code": null,
  "request_id": "2032819627",
  "error_code": null
}

פתרון בעיות ב-API שפורסמו

בסעיפים הבאים מפורט מידע שיעזור לכם לפתור בעיות ספציפיות בממשקי ה-API שפרסמנו.

שגיאה: השגיאה 'השליפה נכשלה' מוחזרת כשמשתמשים באפשרות 'נסה את ממשק ה-API הזה'

כשמשתמשים ב-Try this API, אם מוחזרת השגיאה TypeError: Failed to fetch כדאי לבדוק את הסיבות האפשריות הבאות ואת הפתרונות שלהן:

  • במקרה של שגיאות תוכן מעורב, יכול להיות שהשגיאה נגרמת בגלל בעיה מוכרת ב-swagger-ui. פתרון עקיף אפשרי הוא לוודא שציינתם HTTPS לפני HTTP בהגדרה schemes במסמך OpenAPI. לדוגמה:

    schemes:
       - https
       - http
    
  • במקרה של שגיאות בהגבלות של שיתוף משאבים בין מקורות (CORS), צריך לוודא שיש תמיכה ב-CORS בשרתי ה-proxy של ה-API. ‫CORS הוא מנגנון סטנדרטי שמאפשר בקשות CORS בצד הלקוח. אפשר לעיין במאמר הגדרת proxy ל-API לתמיכה ב-Try this API.

שגיאה: הכותרת Access-Control-Allow-Origin מכילה כמה ערכים '*, *', אבל מותר רק ערך אחד

כשמשתמשים ב-Try this API, יכול להיות שתוצג הודעת השגיאה הבאה אם הכותרת Access-Control-Allow-Origin כבר קיימת:

The Access-Control-Allow-Origin header contains multiple values '*, *', but only one is allowed.

כדי לתקן את השגיאה הזו, צריך לשנות את מדיניות AssignMessage כך שתשתמש ב-<Set> כדי להגדיר את כותרות ה-CORS במקום ב-<Add>, כמו שמוצג בקטע הבא. למידע נוסף, ראו שגיאת CORS : הכותרת מכילה כמה ערכים '*, *', אבל מותר רק ערך אחד.

<AssignMessage async="false" continueOnError="false" enabled="true" name="add-cors">
    <DisplayName>Add CORS</DisplayName>
    <FaultRules/>
    <Properties/>
    <Set>
        <Headers>
            <Header name="Access-Control-Allow-Origin">{request.header.origin}</Header>
            <Header name="Access-Control-Allow-Headers">origin, x-requested-with, accept, content-type, authorization</Header>
            <Header name="Access-Control-Max-Age">3628800</Header>
            <Header name="Access-Control-Allow-Methods">GET, PUT, POST, DELETE</Header>
        </Headers>
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="response"/>
</AssignMessage>

שגיאה: שדה כותרת הבקשה לא מורשה

כשמשתמשים בTry this API, אם מקבלים שגיאה Request header field not allowed, בדומה לדוגמה שלמטה, יכול להיות שצריך לעדכן את הכותרות שנתמכות במדיניות ה-CORS. לדוגמה:

Access to XMLHttpRequest ... has been blocked by CORS policy: Request header field
content-type is not allowed by Access-Control-Allow-Headers in preflight response

בדוגמה הזו, צריך להוסיף את הכותרת content-type לקטע Access-Control-Allow-Headers במדיניות AssignMessage של CORS, כמו שמתואר במאמר צירוף מדיניות Add CORS ל-proxy ל-API חדש.

שגיאה: הגישה נדחתה כשקוראים ל-proxy ל-API באמצעות OAuth2

מדיניות OAuthV2 של Apigee מחזירה תגובת אסימון שמכילה מאפיינים מסוימים שלא תואמים ל-RFC. לדוגמה, המדיניות תחזיר טוקן עם הערך BearerToken, במקום הערך התואם ל-RFC‏ Bearer. התגובה הלא תקינה token_type יכולה לגרום לשגיאה Access denied כשמשתמשים ב-Try this API.

כדי לפתור את הבעיה, אפשר ליצור מדיניות JavaScript או AssignMessage כדי לשנות את הפלט של המדיניות לפורמט תואם. מידע נוסף מופיע במאמר בנושא התנהגות שלא תואמת ל-RFC.