Provision Result

Overview

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 All Provision Results for a Provision Request

Get One Provision Result

Get Latest Provision Result for an Order

Create Provision Result

The Provision Result Object

{
    "id": "43b4b1f0-381b-473a-b3ca-a5af43e64c9a",
    "provisionAttemptId": "c9f3a6bd-acf7-4108-8cc6-0994ccb5fdb9",
    "status": "Success | Fail",
    "errorMessage": null,
    "metadata": {
      "key": "value"
    },
    "externalProvisionerSubscriptionId": "0148b5ee-dd60-441e-9501-5a7056cb6be7",
    "externalProvisionerPartnerId": "53b97015-19e0-4fac-aa07-56188c6580c2",
    "externalProvisionerCompanyId": "29cf7b7d-08e3-4dcb-a4f8-493788d1fb09",
    "createdDate": "2022-10-03T10:15:30Z"
}

Additional Information

Nuances

  • A ProvisionResult cannot be posted for a ProvisionAttempt that already has an associated ProvisionResult.
  • Pax8 does not accept ProvisionResults for ProvisionAttempts that are not acknowledged
  • When the status is Fail The errorMessage field should contain relevant error information that
    a non-technical customer can understand.
  • The errorMessage input is truncated to 500 characters.
  • Once you have posted a result for a ProvisionAttempt, any subsequent attempt to post another result will be rejected.

Metadata

The metadata field exists only for informational purposes, and it is optional to use. It's value can be any valid json object. Use this if you would like to send additional information alongside an error message. You can also use it for successful provision results if you would like to provide some identifiers created during provisioning, again for informational purposes only.

External Identifiers

  • Pax8 can store external identifiers for Partner, PartnerEnrollment, Company, and Subscription
  • They are stored in externalProvisionerPartnerId, externalProvisionerPartnerEnrollmentId, externalProvisionerCompanyId, and externalProvisionerSubscriptionId 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 for a Partner that has never purchased with you before.
    • When you create the Partner account in your system, you create your own internal identifier called "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 Provision Notification that Pax8 sends your system for that same partner, externalProvisionerPartnerId would appear in the Provision Details, and the value would be "ABC"