Freigeben über


Abrufen von Margen

Gilt für: Partner Center

Geeignete Rollen: Administrator-Agent

Als Partner im CSP-Programm können Sie die GetMargins-API aufrufen, um eine Liste der privaten Angebotsspannen abzurufen, die ihnen von ISV-Herausgebern erweitert werden.

Voraussetzungen

Anmeldeinformationen, wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung mit eigenständigen App- und App+Benutzeranmeldeinformationen.

REST-Anforderung

[GET] /v1/margins

Anforderungssyntax

Methode Anforderungs-URI
GET {baseURL}/v1/margins HTTP/1.1

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center-REST-Header.

Anforderungstext

Keine

Anforderungsbeispiel

GET https://api.partnercenter.microsoft.com/v1/margins HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US

REST-Antwort

Bei erfolgreicher Ausführung gibt diese Anforderung eine Liste mit privaten Angebotsmargen zurück. Der ISV-Herausgeber kann die Private Angebotsmarge entweder als fixer Prozentrabatt konfigurieren, der auf den ursprünglichen Preis des Angebots angewendet wird, oder als benutzerdefinierter Preis, der den ursprünglichen Preis des Angebots außer Kraft setzt. Beide Seitenrandtypen werden in der GetMargins-API-Antwort zurückgegeben.

Jedes Zeilenelement in der Antwort enthält Anfangs- und Enddaten. Die Private Angebotsspanne wird nur auf Einkäufe angewendet, die innerhalb dieser beiden Datumsangaben getätigt werden. Außerhalb dieses Zeitraums getätigte Einkäufe erhalten nicht den Vorteil der Privaten Angebotsspanne.

Erfolgs- und Fehlercodes der Antwort

Jede Antwort enthält einen HTTP-Statuscode, der Erfolg oder Fehler und weitere Debuginformationen angibt. Verwenden Sie ein Netzwerkablaufverfolgungstool, um diesen Code, fehlertyp und weitere Parameter zu lesen. Die vollständige Liste findest du unter Partner-API: REST-Fehlercodes.

Beispielantworten

Prozentsatzbasierte private Angebotsmarge

In diesem Beispiel konfigurierte der ISV-Herausgeber die Private Angebotsmarge als festen Prozentualen Rabatt vom ursprünglichen Preis des Angebots. Der Rabatt wird in der Eigenschaft "percentageMargin" angezeigt. Da dieses private Angebot für eine bestimmte SKU erweitert wird, werden SKU-Informationen wie SKU-Name und SKU-ID angegeben. Wenn sich der ISV-Herausgeber entschieden hat, das private Angebot für alle SKUs zu erweitern, werden diese Informationen nicht angegeben.

Antwort

HTTP/1.1 200 OK
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
{
"pageSize": 1,
"totalSize": 1,
"results": [
{
      "id": "1aa125798b04_01a14813-f6d1-494a-ace1-b84525cf3db4",
      "type": "Percentage",
      "productId": "DZH318Z0HJ49",
      "publisherName": "Test Publisher Name",
      "productTitle": "Test Offer Beta",
      "skuTitle": "Test Offer Beta SKU 1",
      "skuId": "0001",
      "productType": "SaaS",
      "marginPercentage": 10.0,
      "startDate": "2022-02-24T18:38:02.8104364Z",
      "endDate": "2022-04-30T23:59:59Z",
      "status": "live",
      "statusDate": "2022-02-24T18:38:02.8104364Z"
}
]
}

Benutzerdefinierte Preis-Privatangebotsmarge

In diesem Beispiel hat der ISV-Herausgeber die private Angebotsspanne als benutzerdefinierten Preis konfiguriert, der den ursprünglichen Preis ihrer SaaS-Lösung mit benutzerdefinierten Zählern überschreibt. Anstelle einer marginPercentage-Eigenschaft wie im vorherigen Beispiel enthält dieses Zeilenelement eine priceConfiguration-Eigenschaft, die die Details der benutzerdefinierten Preise enthält.

Das pricingModel in diesem Beispiel wird als "Pauschalmodell" aufgeführt, d. h., Sie zahlen einen festgelegten Betrag pro Laufzeit. Wenn der ISV einen festgelegten Betrag pro Benutzer aufhebt, würde das PricingModel "pro Benutzer" sagen.

Das Array "Purchase" enthält die Preisdetails für jede Laufzeit. Der ISV in diesem Beispiel hat nur eine "Monatliche" Laufzeitdauer konfiguriert, aber das Array "Kauf" kann auch eine "Jährliche" Laufzeitdauer enthalten. In der Einkaufskonfiguration für einen bestimmten Begriff gibt "includedMeterQuantities" die Beträge für jeden benutzerdefinierten Meter an, der im Preis enthalten ist. Da der ISV-Herausgeber unterschiedliche Preispunkte für verschiedene Kundenmärkte konfigurieren kann, enthält das MarketSetPrices-Array den benutzerdefinierten Preis für jeden Markt und jede Währung, in der das private Angebot verfügbar ist. In diesem Beispiel umfasst die Pauschalrate von 448,75262 GPB für einen Kunden im GB (Vereinigtes Königreich) 20 Geräte und 30.000 E-Mails pro Monat.

Das Array "konsum" enthält die Überschreibungspreise für jeden benutzerdefinierten Meter. Wenn das Produkt des ISV keine benutzerdefinierten Meter enthält, ist dieses Array leer. Sie werden feststellen, dass das Verbrauchsarray ein Zeilenelement für jeden benutzerdefinierten Meter enthält, der in den "includedMeterQuantities" aufgeführt ist. In diesem Beispiel würden Sie, wenn Sie mehr als 20 Geräte pro Monat verbrauchen, zusätzliche 0,44729 GBP pro 1 zusätzliches Gerät pro Monat bezahlen. Wenn Sie mehr als 30.000 E-Mails verbrauchen, zahlen Sie 0,38765 GBP pro 100 zusätzliche E-Mails pro Monat.

Antwort

HTTP/1.1 200 OK
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
{
"pageSize": 1,
"totalSize": 1,
"results": [
{
      "id": "15680381dbad_fe3f0bc2-6372-48af-bbec-2df83918dbf2",
      "type": "CustomPrice",
      "productId": "DZH318Z0BDGN",
      "publisherName": "Test Publisher Name",
      "productTitle": "Test Offer Gamma",
      "skuTitle": "Test Offer Gamma SKU 1",
      "skuId": "0001",
      "productType": "SaaS",
      "priceConfiguration": {
        "pricingModel": "Flat rate",
        "purchase": [
          {
            "termDuration": "Monthly",
            "includedMeterQuantities": [
              "20 device",
              "30000 email"
            ],
            "startDate": "2022-01-31T17:49:25.1346812Z",
            "endDate": "2028-08-31T23:59:59Z",
            "marketSetPrices": [
              {
                "markets": [
                  "GB"
                ],
                "currency": "GBP",
                "customPrice": 447.29387
              },
              {
                "markets": [
                  "BG",
                  "FI",
                  "IT",
                  "RO"
                ],
                "currency": "GBP",
                "customPrice": 448.75262
              }
            ]
          }
        ],
        "consumption": [
          {
            "meterType": "device",
            "unitofMeasure": "per 1 device",
            "startDate": "2022-01-01T00:00:00Z",
            "endDate": "2028-08-31T23:59:59Z",
            "marketSetPrices": [
              {
                "markets": [
                  "GB"
                ],
                "currency": "GBP",
                "customPrice": 0.44729
              },
              {
                "markets": [
                  "BG",
                  "FI",
                  "IT",
                  "RO"
                ],
                "currency": "GBP",
                "customPrice": 0.44875
              }
            ]
          },
          {
            "meterType": "email",
            "unitofMeasure": "per 100 emails",
            "startDate": "2022-01-01T00:00:00Z",
            "endDate": "2028-08-31T23:59:59Z",
            "marketSetPrices": [
              {
                "markets": [
                  "GB"
                ],
                "currency": "GBP",
                "customPrice": 0.38765
              },
              {
                "markets": [
                  "BG",
                  "FI",
                  "IT",
                  "RO"
                ],
                "currency": "GBP",
                "customPrice": 0.38892
              }
            ]
          }
        ]
      },
      "startDate": "2022-01-31T17:49:25.1346812Z",
      "endDate": "2028-08-31T23:59:59Z",
      "status": "live",
      "statusDate": "2022-01-31T17:49:25.1346812Z"
    }
  ]
}

Im obigen Beispiel sollte Folgendes angezeigt werden.

Screenshot einer benutzerdefinierten Preisseite für ein Beispiel für ein ISV-Angebot.