Job status and retrieve private offer detail via API
This article includes methods to check status and retrieve private offer details through the Partner Center API.
Query the status of an existing job
Use this method to query the status of an existing job. You can poll the status of an existing job with a polling interval with a maximum frequency of one request per minute.
Request
GET https://graph.microsoft.com/rp/product-ingestion/configure/<jobId>/status?$version=2022-07-01
Request header
Header | Type | Description |
---|---|---|
Authorization | String | Required. The Microsoft Entra access token in the form Bearer <token> . |
Request parameters
- jobId – required. This is the ID of the job you want to query the status of. It's available in the response data generated during a previous request to either create, delete, withdraw, or upgrade a private offer.
- $version - required. This is the version of the schema that is being used in the request.
Request body
No request body is available for this method.
Response
There are three possible responses for a completed job:
jobResult | Description |
---|---|
Running | The job hasn't yet completed. |
Succeeded | The job completed successfully. This also returns a resourceURI that refers to the offer related to the job. Use this resourceURI to obtain the full details of an offer. |
Failed | The job failed. This will also return any relevant errors to help determine the cause of failure. |
Sample outputs
Running
JSON
{
"$schema": "https://schema.mp.microsoft.com/schema/configure-status/2022-07-01",
"jobId": "c32dd7e8-8619-462d-a96b-0ac1974bace5",
"jobStatus": "running",
"jobResult": "pending",
"jobStart": "2021-12-21T21:29:54.9702903Z",
"jobEnd": "2021-12-21T21:30:10.3649551Z",
"errors": []
}
Succeeded
{
"$schema": " https://schema.mp.microsoft.com/schema/configure-status/2022-07-01",
"jobId": "b3f49dff-381f-480d-a10e-17f4ce49b65f",
"jobStatus": "completed",
"jobResult": "succeeded",
"jobStart": "2021-12-21T21:29:54.9702903Z",
"jobEnd": "2021-12-21T21:30:10.3649551Z",
"resourceUri": "https://product-ingestion.mp.microsoft.com/configure/b3f49dff-381f-480d-a10e-17f4ce49b65f",
"errors": []
}
Note
If the job was created by a request to delete a private offer, then there will be no resourceURI in the response.
Failure
{
"$schema": " https://schema.mp.microsoft.com/schema/configure-status/2022-07-01",
"jobId": "c32dd7e8-8619-462d-a96b-0ac1974bace5",
"jobStatus": "completed",
"jobResult": "failed",
"jobStart": "2021-12-21T21:29:54.9702903Z",
"jobEnd": "2021-12-21T21:30:10.3649551Z",
"errors": [
{
"code": "Conflict",
"message": "The start date should be defined"
}
]
}
Error codes
Error code | Description |
---|---|
401 | Authentication Error: ensure you're using a valid Microsoft Entra access token. |
Obtain details of an existing private offer
There are two methods to do this depending whether you have the resourceURI or the private offer ID.
Request
GET https://graph.microsoft.com/rp/product-ingestion/private-offer/<id>?$ version=2023-07-15
or
GET https://graph.microsoft.com/rp/product-ingestion/configure/<jobId>?$version=2023-07-15
Request header
Header | Type | Description |
---|---|---|
Authorization | String | Required. The Microsoft Entra access token in the form Bearer <token> . |
Request parameters
ID - required. This is the ID of the private offer you want the full details of. This ID is available in the response data generated during a previous request to obtain the details of an existing multiparty private offer using the jobId.
jobId - required. This is the ID of the job you want the full details of. This ID is available in the response data generated during a previous request to either create, delete, withdraw, or upgrade a private offer.
$version - required. This is the version of the schema that is being used in the request
Request body
Don't provide a request body for this method.
Response
You'll receive the full details of the private offer. Here's an example for a channel partner caller when querying for a multiparty private offer.
{
"id": "private-offer/30b90a6a-df19-43cc-a107-b0c62057da6d",
"name": "mpo_api_test",
"privateOfferType": "multiPartyPromotionChannelPartner",
"offerPricingType": "editExistingOfferPricingOnly",
"variableStartDate": true,
"end": "2023-01-31",
"acceptBy": "2023-01-21",
"notificationContacts": [],
"state": "draft",
"originatorTermsAndConditionsDocs": [
{
"sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
"fileName": "test.pdf",
"customerFacingDocumentName": "test1"}],
"termsAndConditionsDocs": [],
"beneficiaries": [
{
"id": "ac357579-e860-54a6-80b3-66958aea67fe:7471d04e-f696-4d20-af34-fa78d51e419c_2019-05-31",
"description": "beneficiary Id"}],
"partners": [
{
"id": "12345678",
"partnerName": "Market Place Test",
"location": "United States" }],
"originatorPricing": [
{
"product": "product/11775d67-fb2b-46bf-ad0f-0e1d5e74ba03",
"productName": "mpo_test_saas_site_1",
"plan": "plan/11775d67-fb2b-46bf-ad0f-0e1d5e74ba03/570ebda0-467b-4ac3-a0d8-069131afd7ee",
"planName": "MPO Site 1 - LTS 2",
"discountType": "absolute",
"priceDetails": "price-and-availability-private-offer-plan/11775d67-fb2b-46bf-ad0f-0e1d5e74ba03/2152924500014081860"},
{
"product": "product/6c73a19b-ba11-496c-b38b-1d4a3cc64d91",
"productName": "mpo_test_vmsr",
"plan": "plan/6c73a19b-ba11-496c-b38b-1d4a3cc64d91/24f34f12-df93-4a7b-93d7-d9336e02d44e",
"planName": "MPO VMSR 4",
"discountType": "percentage",
"discountPercentage": 2.0 }],
"lastModified": "2023-01-19",
"eTag": "\"7d02cb1b-0000-0800-0000-63c9aee80000\"",
"$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15"
}
Error codes
HTTP status code | Description |
---|---|
401 | Authentication Error: Ensure you're using a valid Microsoft Entra access token. |
404 | Resource not found. Ensure you're using the correct ID in the request. |