Zarządzanie pakietami produktów API

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

W sekcjach poniżej dowiesz się, jak połączyć co najmniej jedną usługę API w jeden kontener generujący przychody, nazywany pakietem usług API.

Co to jest pakiet usług API?

Pakiet usług API to zbiór usług API, które są prezentowane deweloperom jako grupa i zwykle powiązane z co najmniej 1 planem taryfowym służącym do zarabiania. Możesz utworzyć wiele pakietów usług API i w każdym z nich umieścić co najmniej 1 usługę API. Tę samą usługę API lub te same usługi API możesz umieścić w różnych pakietach i powiązać je z różnymi (lub tymi samymi) planami taryfowymi.

Deweloperzy mogą rejestrować swoje aplikacje, aby korzystać z pakietu usług API, tylko wtedy, gdy kupią jeden z obecnie obowiązujących planów taryfowych. Pakiet usług API nie jest widoczny dla programistów, dopóki nie dodasz i nie opublikujesz (jako publicznego) planu taryfowego dla tego pakietu (z datą rozpoczęcia równą bieżącej lub przyszłej), jak opisano w sekcji Zarządzanie planami taryfowymi. Gdy dodasz i opublikujesz plan taryfowy, programiści logujący się do Twojego portalu dla programistów będą mogli wybrać pakiet usług API i plan taryfowy. Możesz też zaakceptować plan taryfowy dla dewelopera za pomocą interfejsu API zarządzania. Więcej informacji znajdziesz w artykule Kupowanie opublikowanych planów taryfowych za pomocą interfejsu API.

Po dodaniu usługi API do pakietu usług API może być konieczne skonfigurowanie punktów cenowych dla tej usługi. Musisz to zrobić tylko wtedy, gdy spełnione są wszystkie te warunki:

  • Skonfigurujesz plan taryfowy z podziałem przychodów dla usługi API.
  • Deweloperzy pobierają opłaty od osób trzecich za korzystanie z zasobów w usłudze API.
  • Istnieje minimalne lub maksymalne ograniczenie kwoty, jaką deweloperzy mogą pobierać, i chcesz poinformować ich o tym ograniczeniu.

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

Przeglądanie strony Pakiety usług

Otwórz stronę Pakiety usług w sposób opisany poniżej.

Edge

Aby otworzyć stronę pakietów usług API w interfejsie Edge, w panelu nawigacji po lewej stronie kliknij Publikowanie > Zarabianie > Pakiety usług.

Jak widać na ilustracji powyżej, strona Pakiety usług umożliwia:

Usługami API w pakiecie usług możesz zarządzać lub usunąć pakiet usług (jeśli nie są zdefiniowane żadne plany taryfowe) tylko za pomocą interfejsu API.

Klasyczny interfejs Edge (Private Cloud)

Aby otworzyć stronę pakietów API w klasycznym interfejsie Edge, na górnym pasku nawigacyjnym kliknij Publikowanie > Pakiety.

Strona Pakiety API umożliwia:

  • wyświetlanie podsumowanych informacji o wszystkich pakietach API, w tym usług API, które zawierają, oraz powiązanych planów taryfowych;
  • dodawanie pakietu API;
  • edytowanie pakietu API;
  • dodawanie planów taryfowych i zarządzanie nimi;
  • przełączanie ustawienia dostępu do planu taryfowego (publiczny/prywatny);
  • filtrowanie listy pakietów.

Usługami API w pakiecie API możesz zarządzać lub usunąć pakiet API (jeśli nie są zdefiniowane żadne plany taryfowe) tylko za pomocą interfejsu API.

Dodawanie pakietu usług

Aby dodać pakiet usług API:

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

    Podczas wpisywania nazwy usługi API na liście rozwijanej wyświetla się lista usług API zawierających ten ciąg znaków. Kliknij nazwę usługi API, aby dodać ją do pakietu. Powtórz te czynności, aby dodać kolejne usługi API.

  4. Powtórz krok 3, aby dodać nazwy kolejnych usług API.
  5. W przypadku każdej dodawanej usługi API skonfiguruj zasady rejestrowania transakcji.
  6. Kliknij Zapisz pakiet usług.

Edytowanie pakietu usług

Aby edytować pakiet usług:

  1. Na stronie Pakiety usług kliknij w wierszu pakietu usług, który chcesz edytować.

    Wyświetli się panel pakietu usług.

  2. W razie potrzeby edytuj pola pakietu usług.

    Więcej informacji znajdziesz w artykule Konfigurowanie zasad rejestrowania transakcji.

  3. Kliknij Zaktualizuj pakiet usług.

Zarządzanie pakietami usług API za pomocą interfejsu API

W sekcjach poniżej dowiesz się, jak zarządzać pakietami usług API za pomocą interfejsu API.

Tworzenie pakietu usług API za pomocą interfejsu API

Aby utworzyć pakiet usług API, wyślij żądanie POST do adresu /organizations/{org_name}/monetization-packages. Gdy wysyłasz żądanie, musisz:

  • określić usługi API, które mają być uwzględnione w pakiecie usług API;
  • podać nazwę i opis pakietu usług API;
  • ustawić wskaźnik stanu pakietu usług API. Wskaźnik stanu może mieć jedną z tych wartości: CREATED, ACTIVE, INACTIVE. Obecnie określona wartość wskaźnika stanu jest zachowywana w pakiecie usług API, ale nie jest używana do żadnych celów.

Opcjonalnie możesz określić organizację.

Listę opcji udostępnianych przez interfejs API znajdziesz w sekcji Właściwości konfiguracji pakietu usług 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 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 wszelkich atrybutach niestandardowych określonych dla tych usług. (Atrybuty niestandardowe są określane podczas tworzenia usługi API ). Atrybuty niestandardowe usługi API można uwzględnić w różnych planach taryfowych. Jeśli na przykład skonfigurujesz plan taryfowy, w którym pobierasz opłatę od dewelopera za każdą transakcję, możesz ustawić stawkę dla tego planu na podstawie atrybutu niestandardowego, takiego jak liczba bajtów przesłanych w transakcji.

Zarządzanie usługami API w pakiecie usług API za pomocą interfejsu API

Za pomocą interfejsu API możesz dodawać i usuwać usługi API z pakietu usług API w sposób opisany w sekcjach poniżej.

Dodawanie usługi API do pakietu usług API

Aby dodać usługę API do pakietu usług API, wyślij żądanie POST do organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, gdzie {org_name} to nazwa Twojej organizacji, {package_id} to nazwa pakietu usług API, a {product_id} to identyfikator usługi API.

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 usług API z planami taryfowymi dotyczącymi konkretnej usługi API

Aby dodać usługę API do pakietu usług API, który ma zdefiniowany co najmniej 1 plan taryfowy dotyczący konkretnej usługi API (taryfa lub podział przychodów), wyślij żądanie POST do organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, gdzie {org_name} to nazwa Twojej organizacji, {package_id} to nazwa pakietu usług API, a {product_id} to identyfikator usługi API.

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

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 usług API

Aby usunąć usługę API z pakietu usług API, wyślij żądanie DELETE do adresu organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, gdzie {org_name} to nazwa Twojej organizacji, {package_id} to nazwa pakietu usług API, a {product_id} to identyfikator usługi 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}/products/{product_id}" \
-u email:password

Wyświetlanie pakietów usług API za pomocą interfejsu API

Możesz pobrać konkretny pakiet usług API lub wszystkie pakiety usług API w organizacji. Możesz też pobrać pakiety usług API, które mają transakcje w danym przedziale dat, czyli tylko te pakiety, w przypadku których użytkownicy wywołują aplikacje, które mają dostęp do interfejsów API w tych pakietach w określonej dacie rozpoczęcia i zakończenia.

Wyświetlanie konkretnego pakietu usług API: aby pobrać konkretny pakiet usług API, wyślij żądanie GET do /organizations/{org_name}/monetization-packages/{package_id}, gdzie {package_id} to identyfikator pakietu usług API (identyfikator jest zwracany w odpowiedzi podczas tworzenia pakietu usług 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 usług API: aby pobrać wszystkie pakiety usług API w organizacji, wyślij żądanie GET do adresu /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 określająca, czy mają być zwracane wszystkie pakiety usług API. Jeśli ustawisz wartość false, liczba pakietów usług API zwracanych na stronie jest określana przez parametr zapytania size. Wartość domyślna to false.
size Liczba pakietów usług API zwracanych na stronie. Wartość domyślna to 20. Jeśli parametr zapytania all ma wartość true, ten parametr jest ignorowany.
page Numer strony, którą chcesz zwrócić (jeśli treść jest podzielona na strony). Jeśli parametr zapytania all ma wartość true, ten parametr jest ignorowany.

Odpowiedź na żądanie wyświetlenia wszystkich pakietów usług API w organizacji powinna wyglądać tak (pokazana jest 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 usług API z transakcjami: aby pobrać pakiety usług API z transakcjami w danym przedziale dat, wyślij żądanie GET do adresu /organizations/{org_name}/packages-with-transactions. Gdy wysyłasz żądanie, musisz określić jako parametry zapytania datę rozpoczęcia i zakończenia przedziału dat. Na przykład to żądanie pobiera pakiety usług API z transakcjami w sierpniu 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 (pokazana jest tylko część odpowiedzi):

{
  "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 API zaakceptowanych przez dewelopera lub firmę za pomocą interfejsu API

Aby wyświetlić pakiety usług API zaakceptowane przez konkretnego dewelopera lub firmę, wyślij żądanie GET odpowiednio do tych 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.

Gdy wysyłasz żądanie, możesz opcjonalnie określić te parametry zapytania:

Parametr zapytania Opis Wartość domyślna
current Flaga określająca, czy mają być pobierane tylko aktywne pakiety usług API (current=true), czy wszystkie pakiety (current=false). Wszystkie plany taryfowe w aktywnym pakiecie są uznawane za dostępne. current=false
allAvailable Flaga określająca, czy mają być pobierane wszystkie dostępne pakiety usług API (allAvailable=true), czy tylko pakiety usług API dostępne konkretnie dla dewelopera lub firmy (allAvailable=false). Wszystkie dostępne pakiety usług API to te, które są dostępne dla określonego dewelopera lub firmy, a także dla innych deweloperów lub firm. Pakiety usług API dostępne konkretnie dla firmy lub dewelopera zawierają tylko plany taryfowe które są dostępne wyłącznie dla tej firmy lub dewelopera. allAvailable=true

Na przykład to żądanie pobiera wszystkie pakiety usług API zaakceptowane przez konkretnego dewelopera:

$ 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 konkretną 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 usług API za pomocą interfejsu API

Pakiet usług API możesz usunąć tylko wtedy, gdy nie ma zdefiniowanych żadnych planów taryfowych.

Aby usunąć pakiet usług API, który nie ma zdefiniowanych żadnych planów taryfowych, wyślij żądanie DELETE do organizations/{org_name}/monetization-packages/{package_id}, gdzie {org_name} to nazwa Twojej organizacji i {package_id} to nazwa pakietu usług 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 usług API dla interfejsu API

Te opcje konfiguracji pakietu usług API są udostępniane przez interfejs API:

Nazwa Opis Wartość domyślna Wymagany?
description

Opis pakietu usług API.

Nie dotyczy Tak
displayName

Nazwa wyświetlana pakietu usług API (np. w katalogu pakietów API ).

Nie dotyczy Tak
name

Nazwa pakietu usług API.

Nie dotyczy Tak
organization

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

Nie dotyczy Nie
product

Tablica zawierająca co najmniej 1 usługę w pakiecie usług API.

Nie dotyczy Nie
status

Wskaźnik stanu pakietu usług API. Wskaźnik stanu może mieć jedną z tych wartości: CREATED, ACTIVE, INACTIVE.

Nie dotyczy Tak