API-Produktsets verwalten

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Fassen Sie ein oder mehrere API-Produkte in einem einzelnen monetarisierten Container zusammen, der als API-Produktset bezeichnet wird, wie in den folgenden Abschnitten beschrieben.

Was ist ein API-Produktset?

Ein API-Produktpaket ist eine Sammlung von API-Produkten, die Entwicklern als Gruppe präsentiert wird und in der Regel mit einem oder mehreren Tarifen für die Monetarisierung verknüpft ist. Sie können mehrere API-Produktsets erstellen und jeweils ein oder mehrere API-Produkte hinzufügen. Sie können dasselbe API-Produkt oder dieselben Produkte in verschiedenen Sets zusammenfassen und mit unterschiedlichen (oder identischen) Preisplänen verknüpfen.

Entwickler können ihre Apps nur für die Nutzung eines API-Produktpakets registrieren, indem sie einen der derzeit gültigen Preispläne erwerben. Ein API-Produktpaket wird Entwicklern erst angezeigt, wenn Sie einen Preisplan für das Produktpaket (mit einem Startdatum mit dem aktuellen oder einem zukünftigen Datum) hinzufügen und (als öffentlich) veröffentlichen, wie unter Preispläne verwalten beschrieben. Nachdem Sie einen Preisplan hinzugefügt und veröffentlicht haben, können Entwickler, die sich in Ihrem Entwicklerportal anmelden, das API-Produktpaket und den Preisplan auswählen. Alternativ können Sie einen Preisplan für einen Entwickler mithilfe der Verwaltungs-API akzeptieren. Weitere Informationen finden Sie unter Veröffentlichte Preispläne mit der API erwerben.

Nachdem Sie einem API-Produktpaket ein API-Produkt hinzugefügt haben, müssen Sie möglicherweise Preispunkte für das API-Produkt festlegen. Dies ist nur erforderlich, wenn alle folgenden Bedingungen erfüllt sind:

  • Sie richten einen Tarif für die Umsatzbeteiligung für das API-Produkt ein.
  • Entwickler berechnen Drittanbietern die Nutzung von Ressourcen im API-Produkt.
  • Es gibt eine Mindest- oder Höchstgrenze für den Betrag, den Entwickler berechnen können, und Sie möchten die Entwickler über die Einschränkung informieren.

Die Mindest- und Höchstpreise finden Sie in den Details zum API-Produktset.

Seite mit Produktsets

Rufen Sie wie unten beschrieben die Seite mit Produktsets auf.

Edge

Um über die Edge-Benutzeroberfläche auf die Seite mit den API-Produktpaketen zuzugreifen, wählen Sie in der linken Navigationsleiste Veröffentlichen > Monetarisierung > Produktsets aus.

Wie in der vorherigen Abbildung gezeigt, können Sie auf der Seite mit Produktsets Folgendes tun:

  • Zusammenfassungsinformationen für alle Produktsets abrufen, einschließlich des Paketnamens und der Liste der darin enthaltenen API-Produkte
  • Produktset hinzufügen
  • Produktsets bearbeiten
  • In der Liste der Produktsets nach einem sichtbaren Feld suchen

Sie können die API-Produkte in einem Produktset verwalten oder ein Produktset löschen (wenn keine Preispläne definiert sind), ausschließlich mit der API.

Classic Edge (Private Cloud)

Um über die Classic Edge-Benutzeroberfläche auf die Seite mit den API-Paketen zuzugreifen, wählen Sie in der oberen Navigationsleiste Veröffentlichen > Pakete aus.

Auf der Seite „API-Pakete“ können Sie:

  • Zusammenfassungsinformationen für alle API-Pakete anzeigen, einschließlich der darin enthaltenen API-Produkte und der zugehörigen Preispläne
  • API-Paket hinzufügen
  • API-Paket bearbeiten
  • Preispläne hinzufügen und verwalten
  • Einstellung für den Preisplan-Zugriff umschalten (öffentlich/privat)
  • Liste der Pakete filtern

Sie können nur mit der API die API-Produkte in einem API-Paket verwalten oder ein API-Paket löschen, wenn keine Preispläne definiert sind.

Produktset hinzufügen

So fügen Sie ein API-Produktset hinzu:

  1. Klicken Sie auf der Seite Produktsets auf + API-Produktpaket.
  2. Geben Sie einen Namen für das API-Produktset ein.
  3. Geben Sie den Namen eines API-Produkts in das Feld Produkt hinzufügen ein.

    Während Sie den Namen eines API-Produkts eingeben, wird eine Liste von API-Produkten, die den String enthalten, in einem Drop-down-Menü angezeigt. Klicken Sie auf den Namen eines API-Produkts, um es dem Bundle hinzuzufügen. Wiederholen Sie diese Schritte, um weitere API-Produkte hinzuzufügen.

  4. Wiederholen Sie Schritt 3, um weitere API-Produktnamen hinzuzufügen.
  5. Konfigurieren Sie für jedes hinzugefügte API-Produkt die Richtlinie zur Transaktionsaufzeichnung.
  6. Klicken Sie auf Produktset speichern.

Produktsets bearbeiten

So bearbeiten Sie ein Produktset:

  1. Klicken Sie auf der Seite Produktsets in die Zeile des Produktsets, das Sie bearbeiten möchten.

    Der Bereich für das Produktset wird angezeigt.

  2. Bearbeiten Sie die Felder für Produktsets nach Bedarf.

    Weitere Informationen finden Sie unter Richtlinie zur Transaktionsaufzeichnung konfigurieren.

  3. Klicken Sie auf Produktset aktualisieren.

API-Produktsets mit der API verwalten

In den folgenden Abschnitten wird beschrieben, wie Sie API-Produktsets mithilfe der API verwalten.

API-Produktpaket mithilfe der API erstellen

Senden Sie eine POST-Anfrage an /organizations/{org_name}/monetization-packages, um ein API-Produktpaket zu erstellen. Wenn Sie den Antrag stellen, müssen Sie:

  • Geben Sie die API-Produkte an, die in das API-Produktset aufgenommen werden sollen.
  • Geben Sie einen Namen und eine Beschreibung für das API-Produktset an.
  • Legen Sie eine Statusanzeige für das API-Produktset fest. Die Statusanzeige kann einen der folgenden Werte haben: CREATED, ACTIVE oder INACTIVE. Derzeit wird der von Ihnen angegebene Wert für den Statusanzeiger im API-Produktpaket beibehalten, aber für keinen Zweck verwendet.

Optional können Sie die Organisation angeben.

Eine Liste der für die API bereitgestellten Optionen finden Sie unter Konfigurationseigenschaften für API-Produktsets.

Beispiel:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "description": "payment messaging package",
     "displayName": "Payment Messaging Package",
     "name": "Payment Messaging Package",
     "organization": { "id": "{org_name}" },
     "product": [
       { "id": "messaging" },
       { "id": "payment" }
     ],
     "status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
   "description" : "payment messaging package",
   "displayName" : "Payment Messaging Package",
   "id" : "payment_messaging_package",
   "name" : "Payment Messaging Package",
   "organization" : {
     "id" : "{org_name}",
     "separateInvoiceForFees" : false
   },
   "product" : [ {
     "customAtt1Name" : "user",
     "description" : "Messaging",
     "displayName" : "Messaging",
     "id" : "messaging",
     "name" : "messaging",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }, {
     "customAtt1Name" : "user",
     "description" : "Payment",
     "displayName" : "Payment",
     "id" : "payment",
     "name" : "payment",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }],
   "status" : "CREATED"
 }

Die Antwort enthält zusätzliche Informationen zu den API-Produkten und allen benutzerdefinierten Attributen, die für diese API-Produkte angegeben wurden. Benutzerdefinierte Attribute werden beim Erstellen eines API-Produkts festgelegt. Benutzerdefinierte Attribute für ein API-Produkt können in verschiedene Preispläne einbezogen werden. Wenn Sie beispielsweise einen Preislistenplan einrichten, bei dem Sie dem Entwickler jede Transaktion in Rechnung stellen, können Sie den Preis für den Plan auf der Grundlage eines benutzerdefinierten Attributs festlegen, z. B. der Anzahl der in einer Transaktion übertragenen Byte.

API-Produkte in einem API-Produktset mithilfe der API verwalten

Mithilfe der API können Sie ein API-Produkt zu einem API-Produktpaket hinzufügen oder daraus löschen. Dies wird in den folgenden Abschnitten beschrieben.

API-Produkt einem API-Produktpaket hinzufügen

Wenn Sie einem API-Produktpaket ein API-Produkt hinzufügen möchten, senden Sie eine POST-Anfrage an organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, wobei {org_name} den Namen Ihrer Organisation, {package_id} den Namen des API-Produktsets und {product_id} die ID des API-Produkts angibt.

Beispiel:

$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

API-Produkt zu einem API-Produktpaket mit produktspezifischen API-Preisplänen hinzufügen

Wenn Sie ein API-Produkt zu einem API-Produktpaket hinzufügen möchten, für das mindestens ein produktspezifischer API-Preisplan (Preisliste oder Umsatzbeteiligung) definiert ist, senden Sie eine POST-Anfrage an organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, wobei {org_name} den Namen Ihrer Organisation, {package_id} den Namen des API-Produktsets und {product_id} die ID des API-Produkts angibt.

Sie müssen die Preisplandetails für das neue API-Produkt im Anfragetext übergeben. Mit Ausnahme des Arrays ratePlanRates müssen die Preisplanwerte mit denen für alle anderen API-Produkte übereinstimmen. Weitere Informationen zu den Preisplanattributen, die definiert werden können, finden Sie unter Konfigurationsattribute für Preispläne.

Beispiel:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [ 
        {
            "id": "mypackage_rateplan1",
            "ratePlanDetails": [
                {
                    "currency": {
                        "id": "usd"
                    },
                    "duration": 1,
                    "durationType": "MONTH",
                    "meteringType": "UNIT",
                    "organization" : {
                        "id": "{org_name}",
                    "paymentDueDays": "30",
                    "ratePlanRates": [
                        {
                            "rate": "1.99",
                            "startUnit": "0",
                            "type": "RATECARD"
                        }
                    ],
                    "ratingParameter": "VOLUME",
                    "type": "RATECARD"
                }
            ]
        }
    ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

API-Produkt aus einem API-Produktpaket löschen

Wenn Sie ein API-Produkt aus einem API-Produktpaket löschen möchten, senden Sie eine DELETE-Anfrage an organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, wobei {org_name} den Namen Ihrer Organisation, {package_id} den Namen des API-Produktsets und {product_id} die ID des API-Produkts angibt.

Beispiel:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

API-Produktpakete mithilfe der API ansehen

Sie können ein bestimmtes API-Produktset oder alle API-Produktsets in einer Organisation abrufen. Sie können auch API-Produktpakete mit Transaktionen in einem bestimmten Zeitraum abrufen. Das sind nur Pakete, für die Nutzer Anwendungen aufrufen, die innerhalb eines bestimmten Start- und Enddatums auf APIs in diesen Paketen zugreifen.

Ein bestimmtes API-Produktpaket aufrufen:Wenn Sie ein bestimmtes API-Produktpaket abrufen möchten, senden Sie eine GET-Anfrage an /organizations/{org_name}/monetization-packages/{package_id}. Dabei ist {package_id} die Identifizierung des API-Produktpakets. Die ID wird beim Erstellen des API-Produktpakets in der Antwort zurückgegeben. Beispiel:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password

Alle API-Produktpakete ansehen:Senden Sie eine GET-Anfrage an /organizations/{org_name}/monetization-packages, um alle API-Produktsets für eine Organisation abzurufen. Beispiel:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Sie können die folgenden Abfrageparameter übergeben, um die Ergebnisse zu filtern:

Suchparameter Beschreibung
all Flag, das angibt, ob alle API-Produktsets zurückgegeben werden sollen. Bei Einstellung auf false wird die Anzahl der pro Seite zurückgegebenen API-Produktsets durch den Abfrageparameter size definiert. Die Standardeinstellung ist false.
size Anzahl der pro Seite zurückgegebenen API-Produktsets. Der Standardwert ist 20. Wenn der Abfrageparameter all auf true festgelegt ist, wird dieser Parameter ignoriert.
page Nummer der Seite, die zurückgegeben werden soll (bei paginierten Inhalten). Wenn der Abfrageparameter all auf true gesetzt ist, wird dieser Parameter ignoriert.

Die Antwort zum Aufrufen aller API-Produktpakete in einer Organisation sollte so aussehen (nur ein Teil der Antwort wird angezeigt):

{
  "monetizationPackage" : [ {
    "description" : "payment messaging package",
    "displayName" : "Payment Messaging Package",
    "id" : "payment_messaging_package",
    "name" : "Payment Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Communications",
    "displayName" : "Communications",
    "id" : "communications",
    "name" : "Communications",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Location",
      "displayName" : "Location",
      "id" : "location",
      "name" : "location",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Payment",
    "displayName" : "Payment",
    "id" : "payment",
    "name" : "Payment",
    "organization" : {
     ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  } ],
  "totalRecords" : 3
}

API-Produktpakete mit Transaktionen ansehen:Zum Abrufen von API-Produktpaketen mit Transaktionen in einem bestimmten Zeitraum senden Sie eine GET-Anfrage an /organizations/{org_name}/packages-with-transactions. Wenn Sie die Anfrage senden, müssen Sie als Abfrageparameter ein Start- und ein Enddatum für den Zeitraum angeben. Die folgende Anfrage ruft beispielsweise API-Produktpakete mit Transaktionen im August 2013 ab.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password

Die Antwort sollte in etwa so aussehen (nur ein Teil der Antwort wird angezeigt):

{
  "monetizationPackage" : [ {
    "description" : "Payment Package",
    "displayName" : "Payment Package",
    "id" : "payment_package",
    "name" : "Payment Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "payment api product",
      "displayName" : "payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "messaging package",
    "displayName" : "Messaging Package",
    "id" : "messaging_package",
    "name" : "Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "messaging api product",
      "displayName" : "messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  },
     ...
  } ]
}

Von einem Entwickler oder Unternehmen akzeptierte API-Produktpakete mithilfe der API aufrufen

Sehen Sie sich die von einem bestimmten Entwickler oder Unternehmen akzeptierten API-Produktsets an, indem Sie eine GET-Anfrage an die folgenden APIs senden:

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, wobei {developer_id} die ID (E-Mail-Adresse) des Entwicklers ist.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, wobei {company_id} die ID des Unternehmens ist.

Wenn Sie die Anfrage senden, können Sie optional die folgenden Abfrageparameter angeben:

Suchparameter Beschreibung Standard
current Flag, das angibt, ob nur aktive API-Produktsets (current=true) oder alle Pakete (current=false) abgerufen werden sollen. Alle Preispläne in einem aktiven Paket gelten als verfügbar. current=false
allAvailable Flag, das angibt, ob alle verfügbaren API-Produktsets (allAvailable=true) oder nur API-Produktsets abgerufen werden sollen, die speziell für den Entwickler oder das Unternehmen (allAvailable=false) verfügbar sind. „Alle verfügbaren“ bezieht sich auf die API-Produktpakete, die für den angegebenen Entwickler oder das angegebene Unternehmen sowie andere Entwickler oder Unternehmen zur Verfügung stehen. API-Produktpakete, die speziell für ein Unternehmen oder einen Entwickler verfügbar sind, enthalten nur Preispläne, die ausschließlich für dieses Unternehmen oder diesen Entwickler verfügbar sind. allAvailable=true

Mit der folgenden Anfrage werden beispielsweise alle von einem bestimmten Entwickler akzeptierten API-Produktsets abgerufen:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password

Die folgende Anfrage ruft nur aktive API-Pakete ab, die von einem bestimmten Unternehmen akzeptiert wurden:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password

API-Produktset über die API löschen

Sie können ein API-Produktpaket nur löschen, wenn für das keine Preispläne definiert sind.

Wenn Sie ein API-Produktpaket löschen möchten, für das keine Preispläne definiert sind, senden Sie eine DELETE-Anfrage an organizations/{org_name}/monetization-packages/{package_id}, wobei {org_name} den Namen Ihrer Organisation und {package_id} den Namen des API-Produktsets angibt.

Beispiel:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password

Konfigurationseigenschaften des API-Produktpakets für die API

Die folgenden Konfigurationsoptionen für API-Produktsets sind in der API verfügbar:

Name Beschreibung Standard Erforderlich?
description

Eine Beschreibung des API-Produktpakets

Ja
displayName

Der Name, der für das API-Produktpaket angezeigt werden soll (z. B. in einem Katalog von API-Paketen).

Ja
name

Der Name des API-Produktsets.

Ja
organization

Die Organisation, die das API-Produktset enthält.

Nein
product

Ein Array mit einem oder mehreren Produkten im API-Produktset.

Nein
status

Statusanzeige für das API-Produktset Die Statusanzeige kann einen der folgenden Werte haben: CREATED, ACTIVE oder INACTIVE.

Ja