Zarządzanie pakietami produktów API

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Umieść co najmniej 1 usługę API w jednym kontenerze umożliwiającym zarabianie, nazywanym pakietem usług API, jak opisano w dalszej części tego artykułu.

Co to jest pakiet produktów API?

Pakiet produktów interfejsów API to zbiór usług interfejsu API, który jest prezentowany deweloperom jako grupa i zwykle jest powiązany z co najmniej 1 abonamentem służącym do zarabiania. Możesz utworzyć wiele pakietów produktów API i uwzględniać w nich co najmniej 1 produkt API. Te same produkty i usługi API możesz umieścić w różnych pakietach i powiązać je z różnymi (lub takimi samymi) planami stawek.

Deweloperzy mogą zarejestrować swoje aplikacje, aby korzystać z pakietu usług API tylko przez zakup jednego z obecnie obowiązujących abonamentów. Pakiet produktów interfejsu API nie jest widoczny dla deweloperów, dopóki nie dodasz i nie opublikujesz (jako publicznego) planu stawek dla pakietu produktów. (z datą rozpoczęcia przypadającą w bieżącej lub przyszłości) zgodnie z opisem w artykule Zarządzanie planami stawek. Gdy dodasz i opublikujesz plan stawek, deweloperzy logujący się w Twoim portalu dla deweloperów będą mogli wybrać pakiet usług API i wybierz abonament. Możesz też zaakceptować abonament dewelopera za pomocą interfejsu API do zarządzania. Więcej informacji znajdziesz w artykule Kupowanie opublikowanych abonamentów przy użyciu interfejsu API.

Po dodaniu produktu API do pakietu produktów API może być konieczne ustawienie pułapów cenowych dla i usługa API. Jest to konieczne tylko wtedy, gdy są spełnione wszystkie te warunki:

  • Konfigurujesz plan udziału w przychodach dla usługi API.
  • Deweloperzy obciążają firmy zewnętrzne za korzystanie z zasobów interfejsu API.
  • Istnieje minimalne lub maksymalne ograniczenie kwoty, którą programiści mogą pobierać, i chcesz, , aby powiadomić deweloperów o ograniczeniach.

Ceny minimalne i maksymalne są wyświetlane w szczegółach pakietu produktów API.

Omówienie strony Pakiety produktów

Otwórz stronę Pakiety produktów w sposób opisany poniżej.

Edge

Aby uzyskać dostęp do strony pakietów produktów API za pomocą interfejsu Edge, wybierz Opublikuj > Zarabianie > Pakiety produktów na pasku nawigacyjnym po lewej stronie.

Jak zaznaczyliśmy na poprzednim wykresie, na stronie Pakiety produktów możesz:

Możesz zarządzać produktami w pakiecie API lub usunąć pakiet produktów (jeśli nie zdefiniowano żadnych abonamentów) tylko za pomocą interfejsu API.

Classic Edge (Private Cloud)

Aby uzyskać dostęp do strony pakietów interfejsów API w interfejsie Classic Edge, wybierz Opublikuj > Pakiety na górnym pasku nawigacyjnym.

Strona Pakiety interfejsów API umożliwia:

  • Wyświetlanie podsumowania informacji o wszystkich pakietach interfejsów API, w tym o ich usługach i powiązanych planach stawek
  • Dodaj pakiet interfejsu API
  • Edytuj pakiet interfejsu API
  • Dodawanie planów stawek i zarządzanie nimi
  • Przełącz ustawienie dostępu do abonamentu (publiczny/prywatny)
  • Filtrowanie listy pakietów

Możesz zarządzać usługami interfejsu API w pakiecie interfejsów API lub usunąć pakiet API (jeśli nie zdefiniowano żadnych abonamentów) tylko za pomocą interfejsu API.

Dodawanie pakietu produktów

Aby dodać pakiet produktów API:

  1. Na stronie Pakiety produktów kliknij + Pakiet usług API.
  2. Wpisz nazwę pakietu produktów interfejsu API.
  3. W polu Dodaj produkt wpisz nazwę usługi interfejsu API.

    Gdy zaczniesz wpisywać nazwę usługi API, pojawi się lista usług interfejsu API, które zawierają ten ciąg znaków. Kliknij nazwę usługi API, aby dodać ją do pakietu. Powtórz te czynności, aby dodać kolejne produkty do interfejsu API.

  4. Powtórz krok 3, aby dodać kolejne nazwy usług do interfejsu API.
  5. W przypadku każdej dodanej usługi API skonfiguruj zasady rejestrowania transakcji.
  6. Kliknij Zapisz pakiet produktów.

Edytowanie pakietu produktów

Aby edytować pakiet produktów:

  1. Na stronie Pakiety produktów kliknij wiersz pakietu, który chcesz edytować.

    Pojawi się panel pakietu produktów.

  2. Zmień odpowiednio pola pakietu produktów.

    Więcej informacji znajdziesz w artykule na temat konfigurowania zasady rejestrowania transakcji.

  3. Kliknij Zaktualizuj pakiet produktów.

Zarządzanie pakietami produktów interfejsu API za pomocą interfejsu API

W sekcjach poniżej opisujemy, jak zarządzać pakietami produktów interfejsu API za pomocą interfejsu API.

Tworzenie pakietu produktów interfejsu API przy użyciu interfejsu API

Aby utworzyć pakiet produktów API, wyślij żądanie POST do /organizations/{org_name}/monetization-packages Gdy przesyłasz prośbę, musi:

  • Określ produkty API, które chcesz uwzględnić w pakiecie produktów API.
  • Podaj nazwę i opis pakietu produktów interfejsu API.
  • Ustaw wskaźnik stanu dla pakietu produktów interfejsu API. Wskaźnik stanu może mieć jedną z te wartości: CREATED, ACTIVE, INACTIVE. Obecnie podana wartość wskaźnika stanu jest zachowany w pakiecie produktów API, ale nie jest używany do żadnych celów.

Opcjonalnie możesz określić organizację.

Listę opcji dostępnych dla użytkowników znajdziesz w sekcji Właściwości konfiguracji pakietu usług API. interfejs API.

Na przykład:

$ 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

Oto przykład takiej odpowiedzi:

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

Zwróć uwagę, że odpowiedź zawiera dodatkowe informacje o usługach API i wszelkie niestandardowe określonych dla tych produktów API. (Atrybuty niestandardowe są określane podczas tworzenia i usługi API). Niestandardowe atrybuty produktu API można uwzględniać w różnych planach stawek. Dla: Jeśli np. skonfigurujesz plan arkusza stawek, w którym obciążasz dewelopera za każdą transakcję, może ustawić stawkę w ramach abonamentu na podstawie atrybutu niestandardowego, takiego jak liczba przesyłanych bajtów w transakcji.

Zarządzanie produktami w pakiecie API za pomocą interfejsu API

Możesz dodać lub usunąć produkt API z pakietu produktów za pomocą interfejsu API w sposób opisany w poniższych sekcji.

Dodawanie usługi API do pakietu produktów interfejsu API

Aby dodać usługę API do pakietu produktów interfejsu API, wyślij żądanie POST do organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, gdzie {org_name} określa nazwę Twojej organizacji ({package_id}) określa nazwę pakietu produktów API, a {product_id} określa identyfikator API usługi.

Na przykład:

$ 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

Dodawanie usługi API do pakietu produktów interfejsu API za pomocą interfejsu API plany stawek dla poszczególnych usług

Aby dodać usługę API do pakietu usług API, który ma co najmniej 1 abonament dla poszczególnych usług API (arkusz stawek lub udział w przychodach), wyślij żądanie POST do organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, gdzie {org_name} określa nazwę Twojej organizacji ({package_id}) określa nazwę pakietu produktów API, a {product_id} określa identyfikator API usługi.

Musisz przekazać w treści żądania szczegóły abonamentu nowej usługi API. Z wyjątkiem w tablicy ratePlanRates, wartości abonamentu muszą być zgodne z tymi określonymi dla wszystkich i innych usług API. Więcej informacji o atrybutach planu stawek, które można zdefiniować, znajdziesz na stronie Właściwości konfiguracji w przypadku planów stawek.

Na przykład:

$ 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

Usuwanie usługi API z pakietu produktów API

Aby usunąć produkt API z pakietu produktów API, wyślij żądanie DELETE do organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, gdzie {org_name} określa nazwę Twojej organizacji ({package_id}) określa nazwę pakietu produktów API, a {product_id} określa identyfikator API usługi.

Na przykład:

$ 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

Wyświetlanie pakietów produktów interfejsu API przy użyciu interfejsu API

Możesz pobrać określony pakiet produktów API lub wszystkie pakiety usług API w organizacji. Możesz też pobierania pakietów produktów API, które zawierają transakcje w danym zakresie dat, tj. tylko pakiety dla którzy użytkownicy wywołują aplikacje korzystające z interfejsów API w tych pakietach na określonym początku i końcu datę.

Wyświetlanie określonego pakietu produktów interfejsu API: aby pobrać określony pakiet produktów interfejsu API, wyślij żądanie GET do /organizations/{org_name}/monetization-packages/{package_id}, gdzie {package_id} oznacza pakiet produktów API (identyfikator jest zwracany w podczas tworzenia pakietu produktów interfejsu API). Na przykład:

$ 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

Wyświetlanie wszystkich pakietów produktów API: aby pobrać wszystkie pakiety usług API dla organizacji, wyślij metodę GET żądanie do: /organizations/{org_name}/monetization-packages. Na przykład:

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

Aby filtrować wyniki, możesz przekazać te parametry zapytania:

Parametr zapytania Opis
all Flaga, która określa, czy mają zostać zwrócone wszystkie pakiety produktów interfejsu API. Jeśli ma wartość false, liczba pakietów produktów API zwróconych na stronę wynosi zdefiniowane przez parametr zapytania size. Wartość domyślna to false.
size Liczba pakietów produktów API zwróconych na stronę. Wartość domyślna to 20. Jeśli zapytanie all ma wartość true, jest on ignorowany.
page Numer strony, którą chcesz zwrócić (jeśli treść jest podzielona na strony). Jeśli parametr zapytania all ma wartość true, to jest ignorowany.

Odpowiedź dotycząca wyświetlenia wszystkich pakietów produktów API w organizacji powinna wyglądać tak (tylko część odpowiedzi):

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

Wyświetlanie pakietów produktów API z transakcjami: aby pobrać pakiety produktów API z transakcjami w wybranego zakresu dat, wyślij żądanie GET do /organizations/{org_name}/packages-with-transactions Gdy przesyłasz prośbę, Trzeba podać jako parametry zapytania datę rozpoczęcia i zakończenia zakresu dat. Dla: Poniższe żądanie pobiera na przykład pakiety produktów interfejsu API z transakcjami w miesiącu Sierpień 2013 r.

$ 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

Odpowiedź powinna wyglądać mniej więcej tak (widoczna jest tylko jej część):

{
  "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"
  },
     ...
  } ]
}

Wyświetlanie pakietów usług interfejsu API zaakceptowanych przez dewelopera lub firmę za pomocą interfejsu API

Wyświetlanie pakietów usług API zaakceptowanych przez określonego dewelopera lub firmę za pomocą metody GET do następujących interfejsów API:

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, gdzie {developer_id} to identyfikator (adres e-mail) dewelopera.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, gdzie {company_id} to identyfikator firmy.

W żądaniu możesz opcjonalnie określić te parametry zapytania:

Parametr zapytania Opis Domyślny
current Flaga określająca, czy chcesz pobrać tylko aktywne pakiety produktów interfejsu API (current=true), czy wszystkie pakiety (current=false). Wszystkie plany stawek w aktywnym pakiecie są uznawane za i dostępności informacji. current=false
allAvailable Flaga określająca, czy należy pobrać wszystkie dostępne pakiety produktów interfejsu API (allAvailable=true) czy tylko pakiety usług API dostępne specjalnie dla dewelopera lub firmy (allAvailable=false). „Wszystkie dostępne” dotyczą pakietów usług API, które są dostępne dla określonego dewelopera lub firmy oprócz z innymi deweloperami lub firmami. Pakiety usług API dostępne specjalnie dla firmy lub dewelopera zawierają tylko plany stawek które są dostępne wyłącznie dla tej firmy lub dewelopera. allAvailable=true

Na przykład poniższe żądanie pobiera wszystkie pakiety produktów API zaakceptowane przez określony deweloper:

$ 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

To żądanie pobiera tylko aktywne pakiety API zaakceptowane przez określoną firmę:

$ 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

Usuwanie pakietu produktów z interfejsem API za pomocą interfejsu API

Pakiet produktów interfejsu API możesz usunąć tylko wtedy, gdy nie ma zdefiniowanych żadnych planów stawek.

Aby usunąć pakiet produktów API, który nie ma zdefiniowanych żadnych planów stawek, wyślij żądanie DELETE do: organizations/{org_name}/monetization-packages/{package_id}, gdzie {org_name} określa nazwę Twojej organizacji a {package_id} określa nazwę pakietu produktów interfejsu API.

Na przykład:

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

Właściwości konfiguracji pakietu produktów interfejsu API dla interfejsu API

Interfejs API ma dostęp do tych opcji konfiguracji pakietów produktów:

Nazwa Opis Domyślny Wymagana?
description

Opis pakietu produktów interfejsu API.

Nie dotyczy Tak
displayName

Nazwa wyświetlana dla pakietu produktów interfejsu API (na przykład w katalogu interfejsów API pakiety).

Nie dotyczy Tak
name

Nazwa pakietu produktów interfejsu API.

Nie dotyczy Tak
organization

Organizacja, która zawiera pakiet usług API.

Nie dotyczy Nie
product

Tablica z co najmniej jednym produktem w pakiecie produktów API.

Nie dotyczy Nie
status

Wskaźnik stanu pakietu produktów interfejsu API. Wskaźnik stanu może mieć jedną z te wartości: CREATED, ACTIVE, INACTIVE.

Nie dotyczy Tak