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

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

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

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

תהליך פרסום ממשקי API בפורטל הוא תהליך דו-שלבי:

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

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

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

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

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

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

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

SmartDocs‏ (OpenAPI)

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

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

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

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

חלונית מורחבת של 'התנסות עם ה-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 בפורטל

מהו snapshot?

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

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

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

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

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

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

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

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

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

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

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

בטבלה הבאה מפורטות בדומה את דרישות ההגדרה של שרת ה-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 catalog בתפריט הנפתח של הפורטל בסרגל הניווט העליון.

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

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

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

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.

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

מטען התגובה:

{
  "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.

    מטען התגובה:

    {
      "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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • בוחרים קטגוריה מהרשימה הנפתחת.
    • כדי להוסיף קטגוריה חדשה, מקלידים את השם שלה ומקישים על Enter. הקטגוריה החדשה תתווסף לדף 'קטגוריות' ותהיה זמינה כשמוסיפים או עורכים ממשקי 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.

מטען התגובה:

{
  "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.

    מטען התגובה:

    {
      "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.

    מטען התגובה:

    {
      "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
    }
    

ניהול קובץ ה-snapshot של המסמך

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

כדי לנהל את קובץ snapshot של המסמך:

  1. כניסה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API) אם היא לא מסומנת.
  3. לוחצים על השורה של ממשק ה-API שרוצים לערוך.
  4. בודקים את סטטוס קובץ ה-snapshot. אם הוא לא מעודכן, תוצג ההודעה הבאה: סמל והודעה שמציינים שצילום המסך לא עדכני
  5. לוחצים על סמל עריכה.
  6. מבצעים אחת מהמשימות הבאות:
    • כדי לרענן קובץ snapshot של מסמך OpenAPI לא עדכני, לוחצים על Refresh Snapshot.
    • כדי לשנות את המסמך שמשמש ליצירת המסמכים של ה-API, בקטע 'מסמכי התיעוד של ה-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 מופיעה דוגמה מפורטת של השלבים, המשתנים ועומס העבודה המוחזר.

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

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

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

ממשק משתמש

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

  1. כניסה לקטלוג ה-API
  2. לוחצים על הכרטיסייה APIs (ממשקי API) אם היא לא מסומנת.
  3. לוחצים על השורה של ממשק ה-API שרוצים לערוך.
  4. לוחצים על סמל העריכה עריכה.
  5. בקטע פרטי ה-API, מסמנים או מבטלים את הסימון של התיבה Require developers to specify a callback 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 מופיעה דוגמה מפורטת של השלבים, המשתנים ועומס העבודה המוחזר.

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

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

משתמשים בממשק המשתמש או בפקודה 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 מופיעה דוגמה מפורטת של השלבים, המשתנים ועומס העבודה המוחזר.

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

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

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

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

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

ממשק משתמש

כדי לתייג ממשק API לקטגוריות בזמן העריכה שלו:

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

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

משתמשים בממשק המשתמש או בפקודה 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 מופיעה דוגמה מפורטת של השלבים, המשתנים ועומס העבודה המוחזר.

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

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

ממשק משתמש

כדי להסיר ממשק 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.

מטען התגובה:

{
  "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. בודקים את סטטוס קובץ ה-snapshot. אם הוא לא מעודכן, תוצג ההודעה הבאה: סמל והודעה שמציינים שצילום המסך לא עדכני
  5. לוחצים על עריכה.
  6. מבצעים אחת מהמשימות הבאות:
    • כדי לרענן קובץ snapshot של מסמך OpenAPI לא עדכני, לוחצים על Refresh Snapshot.
    • כדי לשנות את המסמך שמשמש ליצירת התיעוד של ה-API, בקטע API documentation לוחצים על Select Document ובוחרים את המסמך החדש.
  7. בחלונית מאמרי העזרה של ה-API, בוחרים באחת מהאפשרויות הבאות:
    • מסמך OpenAPI
    • סכימת GraphQL
  8. לוחצים על בחירת מסמך ובוחרים את הגרסה העדכנית ביותר של המסמך.
  9. ב-GraphQL, מציינים את כתובת ה-URL של נקודת הקצה.
  10. לוחצים על שמירה.

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

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

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, או שיש הרבה כלים להמרה באינטרנט.

מטען התגובה:

{
 "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, או שיש הרבה כלים להמרה באינטרנט.

מטען התגובה:

{
"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.

    מטען התגובה:

{
  "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 documentation, בוחרים באפשרות 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.

מטען התגובה:

{
  "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.

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

הכרטיסייה &#39;קטגוריות&#39; שבה מוצגים שם הקטגוריה, השמות והמספר הכולל של ממשקי ה-API שהוקצו

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

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.

מטען התגובה:

{
  "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. נכנסים לדף Categories.
  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.

מטען התגובה:

{
  "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. נכנסים לדף Categories.
  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.

מטען התגובה:

{
  "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. נכנסים לדף Categories.
  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.

מטען התגובה:

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

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

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

שגיאה: Failed to fetch error returned when using Try this API

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

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

    schemes:
       - https
       - http
    
  • אם מוצגות שגיאות של הגבלות על שיתוף משאבים בין מקורות (CORS), צריך לוודא שיש תמיכה ב-CORS בשרתי ה-proxy של ה-API. 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 במדיניות CORS AssignMessage, כפי שמתואר בקטע הצמדת מדיניות Add CORS לשרת proxy חדש של API.

שגיאה: Access denied when calling an API proxy using OAuth2

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

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