API های خود را منتشر کنید

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

APIها را در پورتال خود منتشر کنید تا توسعه‌دهندگان برنامه بتوانند از آنها استفاده کنند، همانطور که در بخش‌های بعدی توضیح داده شده است.

مروری بر انتشار API

فرآیند انتشار APIها در پورتال شما یک فرآیند دو مرحله‌ای است:

  1. محصول API مورد نظر خود را برای انتشار در پورتال خود انتخاب کنید.
  2. مستندات مرجع API را از سند OpenAPI یا طرح GraphQL خود رندر کنید تا توسعه‌دهندگان برنامه بتوانند در مورد APIهای شما اطلاعات کسب کنند. (برای اطلاعات بیشتر در مورد snapshotها، به snapshot چیست؟ مراجعه کنید.)

چه چیزی در پورتال منتشر می‌شود؟

وقتی یک API منتشر می‌کنید، به‌روزرسانی‌های زیر به‌طور خودکار در پورتال شما اعمال می‌شوند:

  • مستندات مرجع API. رابط کاربری ارائه شده بستگی به این دارد که آیا API خود را با استفاده از سند OpenAPI یا طرح GraphQL منتشر می‌کنید. به موارد زیر مراجعه کنید:
  • پیوندی به صفحه مرجع API به صفحه APIها اضافه می‌شود

    صفحه APIها (که در پورتال نمونه موجود است) فهرستی از تمام APIهای منتشر شده در پورتال شما را به ترتیب حروف الفبا ارائه می‌دهد و برای اطلاعات بیشتر، پیوندهایی به مستندات مرجع API مربوطه دارد. به صورت اختیاری، می‌توانید موارد زیر را سفارشی کنید:

    • تصویر نمایش داده شده برای هر کارت API
    • دسته‌هایی که برای برچسب‌گذاری APIها استفاده می‌شوند تا توسعه‌دهندگان بتوانند APIهای مرتبط را در صفحه APIها کشف کنند.

    صفحه APIها در پورتال زنده که دو دسته و استفاده از تصاویر را نشان می‌دهد

اسمارت‌داکس (OpenAPI)

وقتی یک API را با استفاده از یک سند OpenAPI منتشر می‌کنید، مستندات مرجع API مربوط به SmartDocs به پورتال شما اضافه می‌شود.

توسعه‌دهندگان می‌توانند مستندات مرجع API مربوط به SmartDocs شما را بررسی کنند و از پنل Try this API برای ارسال درخواست API و مشاهده خروجی استفاده کنند. Try this API با نقاط پایانی ناامن یا نقاط پایانی امن با استفاده از Basic، API Key یا OAuth Authentication، بر اساس روش امنیتی تعریف شده در سند OpenAPI شما، کار می‌کند. برای OAuth، جریان‌های زیر پشتیبانی می‌شوند: کد مجوز، رمز عبور و اعتبارنامه‌های کلاینت.

صفحه مستندات مرجع API با توضیحاتی که نحوه تأیید فراخوانی API، جدا کردن پنل Try this API، دانلود مشخصات مربوطه و اجرای API را نشان می‌دهد.

کلیک برای باز کردن پنل «این API را امتحان کنید» به صورت تمام صفحه بروید . پنل باز شده به شما امکان می‌دهد فراخوانی curl و نمونه‌های کد را در قالب‌های مختلف مانند HTTP، Python، Node.js و موارد دیگر، همانطور که در شکل زیر نشان داده شده است، مشاهده کنید.

گسترش‌یافته این پنل API را امتحان کنید

کاوشگر GraphQL

وقتی یک API را با استفاده از طرح GraphQL منتشر می‌کنید، GraphQL Explorer به پورتال شما اضافه می‌شود. GraphQL Explorer یک محیط تعاملی برای اجرای کوئری‌ها در API شما است. این اکسپلورر بر اساس GraphiQL ، یک پیاده‌سازی مرجع از GraphQL IDE که توسط بنیاد GraphQL توسعه داده شده است، ساخته شده است.

توسعه‌دهندگان می‌توانند از GraphQL Explorer برای کاوش در مستندات تعاملی مبتنی بر طرحواره، ساخت و اجرای کوئری‌ها، مشاهده نتایج کوئری و دانلود طرحواره استفاده کنند. برای ایمن‌سازی دسترسی به API شما، توسعه‌دهندگان می‌توانند هدرهای مجوز را در پنل Request Headers ارسال کنند.

برای اطلاعات بیشتر در مورد GraphQL، به graphql.org مراجعه کنید.

کاوشگر GraphQL در پورتال

عکس فوری چیست؟

هر سند OpenAPI یا GraphQL به عنوان منبع حقیقت در طول چرخه حیات یک API عمل می‌کند. همان سند در هر مرحله از چرخه حیات API، از توسعه گرفته تا انتشار و نظارت، استفاده می‌شود. هنگامی که یک سند را تغییر می‌دهید، باید از تأثیر تغییرات بر API خود در سایر مراحل چرخه حیات آگاه باشید، همانطور که در بخش «اگر یک سند را تغییر دهم چه اتفاقی می‌افتد؟» توضیح داده شده است.

وقتی API خود را منتشر می‌کنید، برای رندر کردن مستندات مرجع API، از سند OpenAPI یا GraphQL یک snapshot می‌گیرید. آن snapshot نشان دهنده یک نسخه خاص از سند است. اگر سند را تغییر دهید، ممکن است تصمیم بگیرید snapshot دیگری از سند بگیرید تا آخرین تغییرات در مستندات مرجع API را منعکس کند.

درباره URL های فراخوانی مجدد

اگر برنامه‌های شما به یک URL برگشتی نیاز دارند، مانند زمانی که از نوع اعطای کد مجوز OAuth 2.0 (که اغلب به عنوان OAuth سه‌گانه شناخته می‌شود) استفاده می‌کنید، می‌توانید از توسعه‌دهندگان بخواهید که هنگام ثبت برنامه‌های خود، یک URL برگشتی مشخص کنند. URL برگشتی معمولاً URL برنامه‌ای را مشخص می‌کند که برای دریافت کد مجوز از طرف برنامه کلاینت تعیین شده است. برای اطلاعات بیشتر، به پیاده‌سازی نوع اعطای کد مجوز مراجعه کنید.

می‌توانید پیکربندی کنید که آیا هنگام افزودن API به پورتال خود، هنگام ثبت‌نام برنامه، به URL پاسخ به تماس نیاز باشد یا خیر. می‌توانید این تنظیم را در هر زمانی، همانطور که در مدیریت URL پاسخ به تماس برای API توضیح داده شده است، تغییر دهید.

هنگام ثبت یک برنامه، توسعه‌دهندگان باید برای تمام APIهایی که به آن نیاز دارند، یک URL بازگشتی (callback URL) وارد کنند، همانطور که در بخش ثبت برنامه‌ها توضیح داده شده است.

پروکسی API خود را طوری پیکربندی کنید که از «این API را امتحان کنید» پشتیبانی کند.

قبل از انتشار APIهای خود با استفاده از یک سند OpenAPI، باید پروکسی API خود را برای پشتیبانی از ارسال درخواست در پنل Try this API در مستندات مرجع API SmartDocs، به شرح زیر پیکربندی کنید:

  • پشتیبانی CORS را به پروکسی‌های API خود اضافه کنید تا درخواست‌های متقابل سمت کلاینت را اجرا کنید.

    CORS یک مکانیزم استاندارد است که به فراخوانی‌های جاوا اسکریپت XMLHttpRequest (XHR) که در یک صفحه وب اجرا می‌شوند، اجازه می‌دهد تا با منابع دامنه‌های غیر مبدا تعامل داشته باشند. CORS یک راه‌حل رایج برای سیاست مبدا یکسان است که توسط همه مرورگرها اجرا می‌شود.

  • اگر از احراز هویت پایه یا OAuth2 استفاده می‌کنید، پیکربندی پروکسی API خود را به‌روزرسانی کنید.

جدول زیر الزامات پیکربندی پروکسی API را برای پشتیبانی از پنل Try this API در مستندات مرجع API SmartDocs بر اساس دسترسی احراز هویت خلاصه می‌کند.

دسترسی به مجوز الزامات پیکربندی سیاست
هیچ‌کدام یا کلید API پشتیبانی CORS را به پروکسی API خود اضافه کنید. برای راحتی، از نمونه راهکار CORS ارائه شده در GitHub استفاده کنید یا مراحل شرح داده شده در افزودن پشتیبانی CORS به یک پروکسی API را دنبال کنید.
احراز هویت اولیه مراحل زیر را انجام دهید:
  1. پشتیبانی CORS را به پروکسی API خود اضافه کنید. برای راحتی، از نمونه راهکار CORS ارائه شده در GitHub استفاده کنید یا مراحل شرح داده شده در افزودن پشتیبانی CORS به یک پروکسی 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 را به پروکسی API خود اضافه کنید. برای راحتی، از نمونه راهکار CORS ارائه شده در GitHub استفاده کنید یا مراحل شرح داده شده در افزودن پشتیبانی CORS به یک پروکسی 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 (form param) تنظیم شده باشد. برای اطلاعات بیشتر، به <GrantType> مراجعه کنید.
    • مطمئن شوید که token_type در سیاست OAuth2 روی Bearer تنظیم شده باشد و نه BearerToken پیش‌فرض.

مدیریت APIها

API های خود را همانطور که در بخش های بعدی توضیح داده شده است، مدیریت کنید.

APIها را کاوش کنید

برای مشاهده API های موجود در پورتال خود، از دستور UI یا curl استفاده کنید.

رابط کاربری

برای مشاهده کاتالوگ API:

  1. انتشار > پورتال‌ها را انتخاب کنید و پورتال خود را انتخاب کنید.
  2. در صفحه اصلی پورتال، روی کاتالوگ API کلیک کنید. همچنین می‌توانید از منوی کشویی پورتال در نوار پیمایش بالا، کاتالوگ API را انتخاب کنید.

تب APIها در کاتالوگ API، فهرستی از APIهایی که به پورتال شما اضافه شده‌اند را نمایش می‌دهد.

تب APIها که اطلاعاتی در مورد APIها از جمله نام، توضیحات، میزان دیده شدن، دسته‌ها، مشخصات مرتبط و زمان تغییر را نشان می‌دهد.

همانطور که در شکل قبلی مشخص شده است، تب APIها به شما امکان می‌دهد:

حلقه زدن

برای لیست کردن 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 با توکن احراز هویت مورد استفاده برای دسترسی به API Edge Apigee. برای اطلاعات بیشتر در مورد احراز هویت و توکن‌ها، به بخش احراز هویت دسترسی به API Edge مراجعه کنید.

برای دستورالعمل‌های استفاده از صفحه‌بندی در محتوای پاسخ، به یادداشت‌های صفحه‌بندی مراجعه کنید.

بار مفید پاسخ:

{
  "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 : زمان آخرین تغییر آیتم کاتالوگ بر حسب میلی‌ثانیه از زمان epoch. برای مثال، 1698165480000 .
  • id : شناسه‌ی آیتم کاتالوگ. برای مثال، 399668 .

نکات صفحه بندی:

  • اندازه صفحه : از pageSize برای مشخص کردن تعداد آیتم‌های لیست که باید در یک صفحه برگردانده شوند استفاده کنید. مقدار پیش‌فرض ۲۵ و حداکثر ۱۰۰ است. اگر صفحات اضافی وجود داشته باشد، 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 با تعداد آیتم‌های لیست که قرار است در یک صفحه برگردانده شوند. برای مثال، ۱۰.

    بار مفید پاسخ:

    {
      "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 با تعداد آیتم‌های لیست که قرار است در یک صفحه برگردانده شوند. برای مثال، ۱۰.
    • PAGE_TOKEN با مقدار nextPageToken . برای مثال، 7zcqrin9l6xhi4nbrb9 .

اضافه کردن API

برای افزودن APIها به پورتال خود از دستور UI یا curl استفاده کنید:

رابط کاربری

برای افزودن API به پورتال خود:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی + افزودن کلیک کنید.

    پنجره‌ی «افزودن یک محصول API به کاتالوگ» نمایش داده می‌شود.

  4. محصول API مورد نظر خود را برای اضافه کردن به پورتال خود انتخاب کنید.

  5. روی «بعدی» کلیک کنید. صفحه جزئیات API نمایش داده می‌شود.

  6. محتوای مستندات مرجع API و نحوه نمایش آن در پورتال را پیکربندی کنید:

    میدان توضیحات
    منتشر شده برای انتشار API در پورتال خود، گزینه منتشر شده را انتخاب کنید. اگر آماده انتشار API نیستید، کادر انتخاب را پاک کنید. می‌توانید تنظیمات را بعداً تغییر دهید، همانطور که در بخش «انتشار یا لغو انتشار API در پورتال شما» توضیح داده شده است.
    عنوان نمایش عنوان API خود را که در کاتالوگ نمایش داده می‌شود، به‌روزرسانی کنید. به‌طور پیش‌فرض، از نام محصول API استفاده می‌شود. می‌توانید عنوان نمایشی را بعداً تغییر دهید، همانطور که در ویرایش عنوان و توضیحات نمایشی توضیح داده شده است.
    توضیحات نمایش توضیحات API خود را که در کاتالوگ نمایش داده می‌شود، به‌روزرسانی کنید. به‌طور پیش‌فرض، توضیحات محصول API استفاده می‌شود. می‌توانید توضیحات نمایش را بعداً تغییر دهید، همانطور که در ویرایش عنوان و توضیحات نمایش توضیح داده شده است.
    الزام توسعه‌دهندگان به تعیین URL فراخوانی مجدد اگر می‌خواهید از توسعه‌دهندگان برنامه بخواهید یک URL بازگشتی (callback URL) مشخص کنند، این گزینه را فعال کنید. می‌توانید URL بازگشتی را بعداً، همانطور که در مدیریت URL بازگشتی برای یک API توضیح داده شده است، اضافه یا به‌روزرسانی کنید.
    مستندات API

    برای استفاده از یک سند OpenAPI:

    1. سند OpenAPI را انتخاب کنید.
    2. روی انتخاب سند کلیک کنید.
    3. یکی از مراحل زیر را انجام دهید:
      • روی برگه «مشخصات من» کلیک کنید و یک مشخصات را از فروشگاه مشخصات انتخاب کنید.
      • روی تب آپلود فایل کلیک کنید و فایل را آپلود کنید.
      • روی برگه «وارد کردن از URL» کلیک کنید و مشخصات را از URL وارد کنید.
    4. روی انتخاب کلیک کنید.

    برای استفاده از طرحواره GraphQL:

    1. طرحواره GraphQL را انتخاب کنید.
    2. روی انتخاب سند کلیک کنید.
    3. به طرح GraphQL بروید و آن را انتخاب کنید.
    4. روی انتخاب کلیک کنید.

    از طرف دیگر، می‌توانید بدون مستندسازی را انتخاب کنید و بعداً پس از افزودن API، همانطور که در مدیریت تصویر لحظه‌ای سند توضیح داده شده است، یکی اضافه کنید.

    قابلیت مشاهده API

    اگر در نسخه بتای ویژگی مدیریت مخاطبان ثبت‌نام نکرده‌اید، یکی از گزینه‌های زیر را انتخاب کنید:

    • کاربران ناشناس برای اینکه به همه کاربران اجازه مشاهده API را بدهند.
    • کاربران ثبت‌نام‌شده تا فقط کاربران ثبت‌نام‌شده بتوانند API را مشاهده کنند.

    اگر در نسخه بتای ویژگی مدیریت مخاطبان ثبت‌نام کرده‌اید ، یکی از گزینه‌های زیر را انتخاب کنید:

    • عمومی (قابل مشاهده برای همه) تا همه کاربران بتوانند API را مشاهده کنند.
    • کاربران احراز هویت شده تا فقط کاربران ثبت نام شده بتوانند API را مشاهده کنند.
    • مخاطبان منتخب برای انتخاب مخاطبان خاصی که می‌خواهید بتوانند API را مشاهده کنند.

    شما می‌توانید بعداً، همانطور که در بخش «مدیریت قابلیت مشاهده یک API در پورتال شما» توضیح داده شده است، قابلیت مشاهده مخاطبان را مدیریت کنید.

    نمایش تصویر برای نمایش تصویر روی کارت API در صفحه APIها، روی «انتخاب تصویر» کلیک کنید. در کادر محاوره‌ای «انتخاب تصویر »، یک تصویر موجود را انتخاب کنید، یک تصویر جدید آپلود کنید یا URL یک تصویر خارجی را وارد کنید و روی «انتخاب» کلیک کنید. تصویر کوچک API را پیش‌نمایش کنید و روی «انتخاب» کلیک کنید. می‌توانید بعداً، همانطور که در «مدیریت تصویر برای کارت API» توضیح داده شده است، یک تصویر اضافه کنید. هنگام مشخص کردن تصویر با URL خارجی، تصویر در دارایی‌های شما آپلود نمی‌شود. علاوه بر این، بارگذاری تصویر در پورتال یکپارچه منوط به در دسترس بودن آن خواهد بود که ممکن است توسط سیاست‌های امنیتی محتوا مسدود یا محدود شده باشد.
    دسته‌ها

    دسته‌هایی را که API به آنها برچسب‌گذاری می‌شود اضافه کنید تا توسعه‌دهندگان برنامه بتوانند APIهای مرتبط را در صفحه APIها پیدا کنند. برای شناسایی یک دسته:

    • یک دسته بندی را از لیست کشویی انتخاب کنید.
    • با تایپ نام یک دسته و فشردن کلید Enter، یک دسته جدید اضافه کنید. دسته جدید به صفحه دسته‌ها اضافه می‌شود و هنگام افزودن یا ویرایش سایر APIها در دسترس قرار می‌گیرد.

  7. روی ذخیره کلیک کنید.

حلقه زدن

برای افزودن 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 با توکن احراز هویت مورد استفاده برای دسترسی به API Edge Apigee. برای اطلاعات بیشتر در مورد احراز هویت و توکن‌ها، به بخش احراز هویت دسترسی به API Edge مراجعه کنید.
  • TITLE با عنوان نمایشی. برای مثال، Hello World 2 .
  • DESCRIPTION به همراه توضیحات نمایش داده شده. برای مثال، Simple hello world example .
  • ANON_TRUE_OR_FALSE با true یا false (پیش‌فرض)، که در آن true به این معنی است که این API قابلیت مشاهده عمومی دارد و می‌توان آن را به صورت ناشناس مشاهده کرد؛ در غیر این صورت، فقط کاربران ثبت‌نام‌شده می‌توانند آن را مشاهده کنند.
  • IMAGE_URL با آدرس اینترنتی یک تصویر خارجی که برای آیتم کاتالوگ استفاده می‌شود، یا مسیر فایلی برای فایل‌های تصویری ذخیره شده در پورتال، به عنوان مثال، /files/book-tree.jpg . هنگام مشخص کردن آدرس اینترنتی یک تصویر خارجی، تصویر در منابع شما آپلود نمی‌شود؛ علاوه بر این، بارگذاری تصویر در پورتال یکپارچه منوط به در دسترس بودن آن خواهد بود که ممکن است توسط سیاست‌های امنیتی محتوا مسدود یا محدود شده باشد.
  • 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 : زمان آخرین تغییر آیتم کاتالوگ بر حسب میلی‌ثانیه از زمان epoch. برای مثال، 1698165480000 .
  • id : شناسه‌ی آیتم کاتالوگ. برای مثال، 399668 .

ویرایش یک API

پس از افزودن API ، از رابط کاربری یا فراخوانی API برای انجام ویرایش‌ها استفاده کنید.

این بخش مثالی دقیق از مراحلی که باید برای تغییر یک API موجود در پورتال خود انجام دهید، ارائه می‌دهد.

برای تنظیمات خاص اصلاح، به بخش‌های بعدی مراجعه کنید.

رابط کاربری

برای ویرایش یک API:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. کلیکآیکون ویرایشویرایش کنید .
  5. در بخش جزئیات API ، هرگونه تغییری را انجام دهید. توضیحات مربوط به گزینه‌های موجود در Add an API را ببینید.
  6. روی ذخیره کلیک کنید.

حلقه زدن

پس از افزودن API، از فراخوانی به‌روزرسانی برای انجام ویرایش‌ها استفاده کنید.

این مثال شما را در مراحل لازم برای تغییر وضعیت منتشر شده API خود در پورتال از true به false راهنمایی می‌کند. در صورت لزوم می‌توانید بیش از یک تنظیم را در یک فراخوانی API تغییر دهید.

  1. برای یافتن id تولید شده‌ای که به طور منحصر به فرد هر API را مشخص می‌کند، لیستی از APIهای موجود در پورتال خود را همانطور که در Explore 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 با توکن احراز هویت مورد استفاده برای دسترسی به API Edge Apigee. برای اطلاعات بیشتر در مورد احراز هویت و توکن‌ها، به بخش احراز هویت دسترسی به API Edge مراجعه کنید.

    بار مفید پاسخ:

    {
      "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. مقادیر قابل تغییری را که می‌خواهید نگه دارید در فراخوانی به‌روزرسانی وارد کنید و مقادیری را که می‌خواهید تغییر دهید، اصلاح کنید. اگر خطی را از قلم بیندازید، از تنظیمات پیش‌فرض استفاده می‌شود. برای این مثال، تنظیمات منتشر شده را از 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
    }
    

مدیریت تصویر لحظه‌ای سند

پس از انتشار API خود، در هر زمانی می‌توانید یک اسنپ‌شات جدید از سند OpenAPI یا GraphQL بگیرید تا مستندات مرجع API که در پورتال شما منتشر شده است را به‌روزرسانی کنید.

برای مدیریت تصویر لحظه‌ای سند:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. وضعیت snapshot را بررسی کنید. اگر قدیمی باشد، پیام زیر نمایش داده می‌شود: نماد و پیامی که نشان می‌دهد اسنپ‌شات قدیمی است
  5. کلیکآیکون ویرایش.
  6. یکی از وظایف زیر را انجام دهید:
    • برای به‌روزرسانی اسنپ‌شات یک سند OpenAPI که قدیمی است، روی «بازنشانی اسنپ‌شات» کلیک کنید.
    • برای تغییر سندی که برای تولید مستندات API استفاده می‌شود، در زیر مستندات API روی «انتخاب سند» کلیک کنید و سند جدید را انتخاب کنید.
  7. روی ذخیره کلیک کنید.

انتشار یا عدم انتشار یک API در پورتال شما

انتشار، فرآیندی است که در آن API های شما برای استفاده در اختیار توسعه دهندگان برنامه قرار می‌گیرد.

از دستور UI یا curl برای انتشار یا لغو انتشار یک API در پورتال خود استفاده کنید.

رابط کاربری

برای انتشار یا عدم انتشار یک API در پورتال خود:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. کلیکآیکون ویرایشویرایش کنید .
  5. در زیر جزئیات API ، برای انتشار یا عدم انتشار API در پورتال خود، به ترتیب گزینه منتشر شده (ذکر شده در کاتالوگ) را انتخاب یا پاک کنید.
  6. روی ذخیره کلیک کنید.

حلقه زدن

یکی از موارد زیر را در فراخوانی به‌روزرسانی بگنجانید:

"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. از فراخوانی به‌روزرسانی برای ویرایش 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 در پورتال خود، از دستور UI یا curl استفاده کنید:

رابط کاربری

برای مدیریت نمایش یک API در پورتال خود:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. کلیکآیکون ویرایشویرایش کنید .
  5. تنظیمات مربوط به قابلیت مشاهده را انتخاب کنید. اگر در نسخه بتای ویژگی مخاطبان ثبت‌نام کرده‌اید ، یکی از گزینه‌های زیر را انتخاب کنید:

    • عمومی (قابل مشاهده برای همه) تا همه کاربران بتوانند صفحه را مشاهده کنند.
    • کاربران احراز هویت شده تا فقط کاربران ثبت نام شده بتوانند صفحه را مشاهده کنند.
    • مخاطبان انتخاب‌شده برای انتخاب مخاطبان خاصی که می‌خواهید صفحه را مشاهده کنند. به مدیریت مخاطبان پورتال خود مراجعه کنید.
    در غیر این صورت، یکی از گزینه‌های زیر را انتخاب کنید:
    • کاربران ناشناس برای اینکه به همه کاربران اجازه مشاهده صفحه را بدهند.
    • کاربران ثبت‌نام‌شده تا فقط کاربران ثبت‌نام‌شده بتوانند صفحه را مشاهده کنند.

  6. روی ارسال کلیک کنید.

حلقه زدن

اگر در نسخه بتای ویژگی مدیریت مخاطبان ثبت‌نام کرده‌اید ، از رابط کاربری برای مدیریت مخاطبان استفاده کنید.

اگر در ویژگی مدیریت مخاطب ثبت‌نام نکرده‌اید، قابلیت مشاهده با استفاده از 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. از فراخوانی به‌روزرسانی برای ویرایش 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 پاسخ به تماس برای یک API

مدیریت URL بازگشتی برای یک API. به بخش «درباره URLهای بازگشتی» مراجعه کنید.

از دستور UI یا curl برای مدیریت URL فراخوانی برای یک API استفاده کنید:

رابط کاربری

برای مدیریت URL فراخوانی برای یک API:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. کلیکآیکون ویرایشویرایش کنید .
  5. در زیر جزئیات API ، کادر انتخاب « توسعه‌دهندگان را ملزم به تعیین URL پاسخ به تماس کنید» را علامت بزنید یا علامت آن را بردارید.
  6. روی ذخیره کلیک کنید.

حلقه زدن

یکی از موارد زیر را در فراخوانی 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. از فراخوانی به‌روزرسانی برای ویرایش 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 از دستور UI یا curl استفاده کنید:

رابط کاربری

برای مدیریت تصویر برای یک کارت API:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. کلیکآیکون ویرایشویرایش کنید .
  5. در جزئیات API :

    • برای تعیین تصویر یا آپلود تصویر در صورتی که تصویری انتخاب نشده است، روی «انتخاب تصویر» کلیک کنید.
    • برای مشخص کردن یا آپلود تصویر دیگری، روی تغییر تصویر کلیک کنید.
    • برای حذف آن، روی x در تصویر کلیک کنید.

    هنگام مشخص کردن یک تصویر، یا تصویری با یک URL خارجی که برای آیتم کاتالوگ استفاده می‌شود، یا مسیری برای فایل‌های تصویری ذخیره شده در پورتال ، مثلاً /files/book-tree.jpg ، مشخص کنید. هنگام مشخص کردن URL یک تصویر خارجی، تصویر در منابع شما آپلود نخواهد شد؛ علاوه بر این، بارگذاری تصویر در پورتال یکپارچه منوط به در دسترس بودن آن خواهد بود که ممکن است توسط سیاست‌های امنیتی محتوا مسدود یا محدود شده باشد.

  6. روی ذخیره کلیک کنید.

حلقه زدن

موارد زیر را در فراخوانی 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. از فراخوانی به‌روزرسانی برای ویرایش 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های برچسب‌گذاری‌شده به آن دسته را مدیریت کنید.

از دستور UI یا curl برای برچسب‌گذاری یک API با استفاده از دسته‌بندی‌ها استفاده کنید:

رابط کاربری

برای برچسب‌گذاری یک API به دسته‌ها هنگام ویرایش API:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. کلیکآیکون ویرایشویرایش کنید .
  5. در فیلد دسته‌بندی‌ها کلیک کنید و یکی از مراحل زیر را انجام دهید:
    • یک دسته بندی را از لیست کشویی انتخاب کنید.
    • با تایپ نام یک دسته و فشردن کلید Enter، یک دسته جدید اضافه کنید. دسته جدید به صفحه دسته‌ها اضافه می‌شود و هنگام افزودن یا ویرایش سایر APIها در دسترس قرار می‌گیرد.
  6. برای برچسب‌گذاری API به دسته‌های بیشتر، این کار را تکرار کنید.
  7. روی ذخیره کلیک کنید.

حلقه زدن

موارد زیر را در فراخوانی 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. از فراخوانی به‌روزرسانی برای ویرایش 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 مراجعه کنید.

عنوان و توضیحات نمایش را ویرایش کنید

برای ویرایش عنوان و توضیحات نمایشی از دستور UI یا curl استفاده کنید:

رابط کاربری

برای ویرایش عنوان و توضیحات نمایشی:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. کلیکآیکون ویرایشویرایش کنید .
  5. در صورت نیاز، فیلدهای عنوان نمایش و توضیحات نمایش را ویرایش کنید.
  6. روی ذخیره کلیک کنید.

حلقه زدن

موارد زیر را در فراخوانی 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. از فراخوانی به‌روزرسانی برای ویرایش 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 از پورتال خود، از دستور UI یا curl استفاده کنید:

رابط کاربری

برای حذف یک API از پورتال خود:

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر APIها از قبل انتخاب نشده‌اند، آنها را انتخاب کنید.
  3. برای نمایش منوی اقدامات، مکان‌نما را روی API موجود در لیست قرار دهید.
  4. کلیکحذف آیکون حذف کنید .

حلقه زدن

برای حذف یک 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 با توکن احراز هویت مورد استفاده برای دسترسی به API Edge Apigee. برای اطلاعات بیشتر در مورد احراز هویت و توکن‌ها، به بخش احراز هویت دسترسی به API Edge مراجعه کنید.

بار مفید پاسخ:

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

مدیریت مستندات API

بخش‌های زیر نحوه به‌روزرسانی، دانلود یا حذف مستندات API را شرح می‌دهند.

به‌روزرسانی مستندات API

برای آپلود نسخه دیگری از مستندات API:

رابط کاربری

  1. به کاتالوگ API دسترسی پیدا کنید .
  2. اگر قبلاً انتخاب نشده است، روی برگه APIها کلیک کنید.
  3. روی ردیف API که می‌خواهید ویرایش کنید کلیک کنید.
  4. وضعیت snapshot را بررسی کنید. اگر قدیمی باشد، پیام زیر نمایش داده می‌شود: نماد و پیامی که نشان می‌دهد اسنپ‌شات قدیمی است
  5. روی کلیک کنید. ویرایش .
  6. یکی از وظایف زیر را انجام دهید:
    • برای به‌روزرسانی اسنپ‌شات یک سند OpenAPI که قدیمی است، روی «بازنشانی اسنپ‌شات» کلیک کنید.
    • برای تغییر سندی که برای تولید مستندات API استفاده می‌شود، در زیر مستندات API روی «انتخاب سند» کلیک کنید و سند جدید را انتخاب کنید.
  7. در پنل مستندات API ، یکی از موارد زیر را انتخاب کنید:
    • سند OpenAPI
    • طرحواره GraphQL
  8. روی «انتخاب سند» کلیک کنید و آخرین نسخه سند را انتخاب کنید.
  9. برای GraphQL، آدرس اینترنتی (URL) نقطه پایانی (Endpoint URL) را مشخص کنید.
  10. روی ذخیره کلیک کنید.

مستندات مرجع API از سند رندر شده و به صفحه مرجع API اضافه می‌شود. وضعیت snapshot به وضعیت فعلی به‌روزرسانی می‌شود:

نماد و پیام نشان می‌دهد که عکس فوری فعلی است

حلقه زدن

برای به‌روزرسانی محتوای مستندات OpenAPI یا 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 '{"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"
   }
 }
}

گراف کیوال

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 with the base64-encoded string of contents of the API documentation. Most development environments contain a base64 conversion utility, or there are many online conversion tools.

Response 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 reference documentation is rendered from the document and added to the APIs page of the live portal.

Download API documentation

To download API documentation:

UI

حلقه زدن

To download API documentation using 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 with the name of the organization. For example, my-org .
  • SITE_ID with the name of the portal, in the form ORG_NAME-PORTAL_NAME , where ORG_NAME is the name of the organization and PORTAL_NAME is the portal name converted to all lowercase and with spaces and dashes removed. For example, my-org-myportal .
  • API_DOC with the generated id of the document. For example, 399668 . Use the list API docs command to find this value.

    Response 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 : The base64-encoded string of contents of the API documentation.

Remove API documentation

To remove API documentation:

UI

  1. Access the API catalog .
  2. Click the APIs tab, if not already selected.
  3. Click in the row of the API that you want to edit.
  4. Click Edit .
  5. In the API documentation pane, select No documentation .
  6. روی ذخیره کلیک کنید.

حلقه زدن

To clear existing content use the 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 with the name of the organization. For example, my-org .
  • SITE_ID with the name of the portal, in the form ORG_NAME-PORTAL_NAME , where ORG_NAME is the name of the organization and PORTAL_NAME is the portal name converted to all lowercase and with spaces and dashes removed. For example, my-org-myportal .
  • API_DOC with the generated id of the document. For example, 399668 . Use the list API docs command to find this value.

Response payload:

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

Manage categories used to discover related APIs

Tag an API using categories to enable app developers to discover related APIs on the APIs page of the live portal. Add and manage categories, as described in the following sections.

Explore categories

Use the UI or curl command to view APIs that are in your portal.

UI

To view the Categories page:

  1. Select Publish > Portals and select your portal.
  2. Click API catalog on the portal home page.

    Alternatively, you can select API catalog in the portal drop-down menu in the top navigation bar.

  3. Click the Categories tab.

The Categories tab in the API catalog displays the list of the categories that have been defined for your portal.

Categories tab that shows the category name, and names and total number of APIs assigned

As highlighted in the previous figure, the APIs page enables you to:

حلقه زدن

To list categories :

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

موارد زیر را جایگزین کنید:

  • ORG_NAME with the name of the organization. For example, my-org .
  • SITE_ID with the name of the portal, in the form ORG_NAME-PORTAL_NAME , where ORG_NAME is the name of the organization and PORTAL_NAME is the portal name converted to all lowercase and with spaces and dashes removed. For example, my-org-myportal .
  • ACCESS_TOKEN with the authentication token used to access the Apigee Edge API. For more information on authentication and tokens, see Authenticate access to the Edge API .

Response 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 : The ID of the category item. For example, 61c1014c-89c9-40e6-be3c-69cca3505620 .

Add a category

Add a category in one of the following ways:

The new category will be added to the Categories page and made available when adding or editing other APIs.

Use the UI or curl command to add a category:

UI

To manually add a category:

  1. Access the Categories page .
  2. Click + Add .
  3. Enter the name of your new category.
  4. Optionally, select one or more APIs to tag to the category.
  5. روی ایجاد کلیک کنید.

حلقه زدن

To add a category :

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 with the name of the organization. For example, my-org .
  • SITE_ID with the name of the portal, in the form ORG_NAME-PORTAL_NAME , where ORG_NAME is the name of the organization and PORTAL_NAME is the portal name converted to all lowercase and with spaces and dashes removed. For example, my-org-myportal .
  • ACCESS_TOKEN with the authentication token used to access the Apigee Edge API. For more information on authentication and tokens, see Authenticate access to the Edge API .
  • CATEGORY_NAME with the name of the category. For example, demo-backend .

Response 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
}

Edit a category

Use the UI or curl command to edit a category:

UI

To edit a category:

  1. Access the Categories page .
  2. کلیک ویرایش کنید .
  3. Edit the name of the category.
  4. Add or remove API tags.
  5. روی ذخیره کلیک کنید.

حلقه زدن

To edit a category :

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 with the name of the organization. For example, my-org .
  • SITE_ID with the name of the portal, in the form ORG_NAME-PORTAL_NAME , where ORG_NAME is the name of the organization and PORTAL_NAME is the portal name converted to all lowercase and with spaces and dashes removed. For example, my-org-myportal .
  • CATEGORY_ID with the ID of the category. For example, bf6505eb-2a0f-47af-a00a-ded40ac72960 . Separate multiple category IDs with a comma. Get the category ID with the list API categories command.
  • ACCESS_TOKEN with the authentication token used to access the Apigee Edge API. For more information on authentication and tokens, see Authenticate access to the Edge API .
  • CATEGORY_NAME with the name of the category. For example, demo-backend .

Response 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
}

Delete a category

When you delete a category, all API tags to that category are also deleted.

Use the UI or curl command to delete a category:

UI

To delete a category:

  1. Access the Categories page .
  2. Position your cursor over the category that you want to edit to display the actions menu.
  3. کلیک Delete .
  4. Click Delete to confirm.

حلقه زدن

To delete a category :

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 with the name of the organization. For example, my-org .
  • SITE_ID with the name of the portal, in the form ORG_NAME-PORTAL_NAME , where ORG_NAME is the name of the organization and PORTAL_NAME is the portal name converted to all lowercase and with spaces and dashes removed. For example, my-org-myportal .
  • CATEGORY_ID with the ID of the category. For example, bf6505eb-2a0f-47af-a00a-ded40ac72960 . Get the category ID with the list API categories command.
  • ACCESS_TOKEN with the authentication token used to access the Apigee Edge API. For more information on authentication and tokens, see Authenticate access to the Edge API .

Response payload:

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

Troubleshoot issues with your published APIs

The following sections provide information to help you troubleshoot specific errors with our published APIs.

Error: Failed to fetch error returned when using Try this API

When using Try this API , if the TypeError: Failed to fetch error is returned, consider the following possible causes and resolutions:

  • For mixed content errors, the error may be caused by a known swagger-ui issue . One possible workaround is to make sure that you specify HTTPS before HTTP in the schemes definition in your OpenAPI document. For example:

    schemes:
       - https
       - http
    
  • For Cross-Origin Resource Sharing (CORS) restriction errors, ensure that CORS is supported for your API proxies. CORS is a standard mechanism that enables client-side cross-origin requests. See Configure your API proxy to support Try this API .

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

When using Try this API , you may receive the following error message if the Access-Control-Allow-Origin header already exists:

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

To correct this error, modify the AssignMessage policy to use <Set> to set the CORS headers instead of <Add> , as shown in the excerpt below. For more information, see CORS Error : header contains multiple values '*, *', but only one is allowed .

<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>

Error: Request header field not allowed

When using Try this API , if you receive a Request header field not allowed error, similar to the example below, you may need to update the headers supported in the CORS policy. For example:

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

In this example, you need to add the content-type header to the Access-Control-Allow-Headers section in your CORS AssignMessage policy, as described in Attaching an Add CORS policy to a new API proxy .

Error: Access denied when calling an API proxy using OAuth2

Apigee's OAuthV2 policy returns a token response that contains certain non-RFC-compliant properties. For example, the policy will return a token with the value BearerToken , instead of the expected RFC-compliant value Bearer . This invalid token_type response can result in an Access denied error when using Try this API .

To correct this issue, you can create a JavaScript or AssignMessage policy to transform the policy output into a compliant format. For more information, see non-RFC-compliant behavior .