Provision Result
A ProvisionResult
represents the end result for a given ProvisionAttempt
. A ProvisionResult
indicates the status (Success
or Fail
) of provisioning, and returns information about the subscription in the Provisioner system.
Endpoints
GET /provision-requests/{provisionRequestId}/results
GET /provision-requests/{provisionRequestId}/results/{provisionResultId}
GET /provision-requests/{provisionRequestId}/results/latest
GET /provision-requests/{provisionRequestId}/results?provisionAttemptId={provisionAttemptId}
POST /provision-requests/{provisionRequestId}/results
- A
ProvisionResult
cannot be posted for aProvisionAttempt
that already has an associatedProvisionResult
. - Pax8 does not accept
ProvisionResults
forProvisionAttempts
that are not acknowledged - When the
status
isFail
TheerrorMessage
field should contain relevant error information that
a non-technical customer can understand. TheerrorMessage
input is truncated to 500 characters.
Retries
Once you have posted a result for a ProvisionAttempt
, any subsequent attempt to post another result will be rejected. However, there is an exception. If an error result is posted, Pax8 will initiate a retry with new provision details to rectify the error.
- We create a new
ProvisionAttempt
and newProvisionDetails
. - The vendor can then post results for the latest attempt.##
Provision Result Object
{
"id": "43b4b1f0-381b-473a-b3ca-a5af43e64c9a",
"provisionAttemptId": "c9f3a6bd-acf7-4108-8cc6-0994ccb5fdb9",
"status": "Success | Fail",
"errorMessage": null,
"externalProvisionerSubscriptionId": "0148b5ee-dd60-441e-9501-5a7056cb6be7",
"externalProvisionerPartnerId": "53b97015-19e0-4fac-aa07-56188c6580c2",
"externalProvisionerCompanyId": "29cf7b7d-08e3-4dcb-a4f8-493788d1fb09",
"createdDate": "2022-10-03T10:15:30Z"
}
External Identifiers
- Pax8 can store external identifiers for
Partner
,PartnerEnrollment
,Company
, andSubscription
- They are stored in
externalProvisionerPartnerId
,externalProvisionerPartnerEnrollmentId
,externalProvisionerCompanyId
, andexternalProvisionerSubscriptionId
respectively. - These identifiers are optional. They are available across Pax8 APIs and can be used to correlate data between Pax8 and the Provisioner system. Pax8 does not validate these identifiers.
- An example use case for using an external partner id could be:
- Pax8 sends your system a Provision Notification Webhook for a partner that has never purchased with you before.
- When you create the partner account in your system, let's say it has some id like "ABC"
- When you send the provision result to Pax8, you can assign that "ABC" id to the partner record in the Pax8 system by including it as the value for
externalProvisionerPartnerId
- Then, on every subsequent webhook notification that Pax8 sends your system for that same partner,
externalProvisionerPartnerId
would appear in the details map, and the value would be "ABC"
Get All Provision Results for a Provision Request
GET /provision-requests/{provisionRequestId}/results
{
"page": {
"size": 10,
"totalElements": 10,
"totalPages": 10,
"number": 1
},
"content": [
{
"id": "43b4b1f0-381b-473a-b3ca-a5af43e64c9a",
"provisionAttemptId": "c9f3a6bd-acf7-4108-8cc6-0994ccb5fdb9",
"status": "Success | Fail",
"errorMessage": null,
"externalProvisionerSubscriptionId": null,
"externalProvisionerPartnerId": null,
"externalProvisionerCompanyId": null,
"createdDate": "2022-10-03T10:15:30Z"
}
]
}
Get the Provision Results for a Provision Attempt
GET /provision-requests/{provisionRequestId}/results?provisionAttemptId={provisionAttemptId}
{
"id": "43b4b1f0-381b-473a-b3ca-a5af43e64c9a",
"provisionAttemptId": "c9f3a6bd-acf7-4108-8cc6-0994ccb5fdb9",
"status": "Success | Fail",
"errorMessage": null,
"externalProvisionerSubscriptionId": null,
"externalProvisionerPartnerId": null,
"externalProvisionerCompanyId": null,
"createdDate": "2022-10-03T10:15:30Z"
}
Get one Provision Result
GET /provision-requests/{provisionRequestId}/results/{provisionResultId}
{
"id": "43b4b1f0-381b-473a-b3ca-a5af43e64c9a",
"provisionAttemptId": "c9f3a6bd-acf7-4108-8cc6-0994ccb5fdb9",
"status": "Success | Fail",
"errorMessage": null,
"externalProvisionerSubscriptionId": null,
"externalProvisionerPartnerId": null,
"externalProvisionerCompanyId": null,
"createdDate": "2022-10-03T10:15:30Z"
}
Get latest Provision Result for an Order
GET /provision-requests/{provisionRequestId}/results/latest
{
"id": "43b4b1f0-381b-473a-b3ca-a5af43e64c9a",
"provisionAttemptId": "c9f3a6bd-acf7-4108-8cc6-0994ccb5fdb9",
"status": "Success | Fail",
"errorMessage": null,
"externalProvisionerSubscriptionId": null,
"externalProvisionerPartnerId": null,
"externalProvisionerCompanyId": null,
"createdDate": "2022-10-03T10:15:30Z"
}
Create Provision Result
POST /provision-requests/{provisionRequestId}/results
{
"provisionAttemptId": "c9f3a6bd-acf7-4108-8cc6-0994ccb5fdb9",
"status": "Success | Fail"
"errorMessage": null,
"externalProvisionerSubscriptionId": "0148b5ee-dd60-441e-9501-5a7056cb6be7",
"externalProvisionerPartnerId": "53b97015-19e0-4fac-aa07-56188c6580c2",
"externalProvisionerCompanyId": "29cf7b7d-08e3-4dcb-a4f8-493788d1fb09"
}
{
"id": "43b4b1f0-381b-473a-b3ca-a5af43e64c9a",
"provisionAttemptId": "c9f3a6bd-acf7-4108-8cc6-0994ccb5fdb9",
"status": "Success | Fail",
"errorMessage": null,
"externalProvisionerSubscriptionId": "0148b5ee-dd60-441e-9501-5a7056cb6be7",
"externalProvisionerPartnerId": "53b97015-19e0-4fac-aa07-56188c6580c2",
"externalProvisionerCompanyId": "29cf7b7d-08e3-4dcb-a4f8-493788d1fb09",
"createdDate": "2022-10-03T10:15:30Z"
}
Updated about 2 months ago