Subscription Create

The Subscription Create notification URL allows a service to receive a notification when a customer purchases a subscription through ActivePlatform.

The general flow for the Subscription Create event includes the following steps:

  1. A customer orders a vendor service via ActivePlatform.
  2. As a part of the provisioning process, ActivePlatform calls the configured notification URL, passing the JSON with the details about the customer and subscription.
  3. The vendor service validates the request, creates the subscription, returns the subscription details, or provides the details of the occurred error.
  4. ActivePlatform completes the subscription provisioning.
POST /subscription/create

Event body

Name

Data type

Description

resellerobjectInformation about the reseller who sold the subscription to a service plan of a product via ActivePlatform (see Viewing and updating Reseller general information in the Operator Comtrol Panel guide)

idintegerThe reseller ID

namestringThe reseller name

regionstringThe reseller region from the address information

currencystringThe reseller currency code

attributesobjectThe list of the product attributes (key-value pairs) applied to the reseller (see Extending the reseller object and Product attributes):

core_attributesobjectThe list of public custom attributes (key-value pairs) applied to the reseller in ActivePlatform (see in the Viewing the List of Attributes Operator Comtrol Panel guide):
  • {reseller_attribute_key} — the custom attribute key.
  • {reseller_attribute_value} — the custom attribute value.
distributorobject

Information about the distributor who sold the subscription. The distributor information is stored and managed in the ActivePlatform installation








idintegerThe distributor ID
namestringThe distributor name
regionstring

The distributor location: region

currencystring

The distributor currency code

attributesobjectThe list of the product attributes applied to a distributor (see Extending the distributor object and Product attributes):
tenantobject

Information about the account of the customer who ordered the subscription. The account information is stored and managed in the ActivePlatform installation




















idintegerThe account ID
company_namestringThe company name, if the customer is a legal entity
typestringThe account type in the ActivePlatform installation
contactobjectThe contact information for the account











first_namestringThe first name of the account contact person
last_namestringThe last name of the account contact person
zipstringThe account address: zip-code
citystringThe account address: city
statestringThe account address: state or region
countrystringThe account address: two-letter country code
phonestring

The contact phone number of the account:

  • + < country code > < city code or network code > < phone number >.
  • 00 < country code > < city code or network code > < phone number >.
emailstringThe contact email of the account
faxstring

The fax number of the account:

  • + < country code > < city code or network code > < phone number >.
  • 00 < country code > < city code or network code > < phone number >.
address_line_1stringThe account address (line 1)
address_line_2stringThe account address (line 2)
ownerobjectInformation about the account Owner



first_namestringThe first name of the account Owner
last_namestringThe last name of the account Owner
phonestring

The contact phone number of the account Owner:

  • + < country code > < city code or network code > < phone number >.
  • 00 < country code > < city code or network code > < phone number >.
domainobject

Information about the domain attached to the subscription


namestringThe domain name
planobjectInformation about the service plan ordered by the account. The service plan information is stored and managed in Vendor Portal

namestringThe service plan name in Vendor Portal
descriptionstringThe service plan description in Vendor Portal
resourcesobjectInformation about the ordered resources of the service plan

keystringThe resource key in Vendor Portal
quantityintegerThe ordered number of the resource units
periodobjectInformation about the ordered period of the service plan


valueintegerThe plan period duration
typestring

The unit of measure of the period:

  • day
  • month
  • year
trialbool

Indicates whether the ordered plan period is trial:

  • true — the ordered plan period is trial (free).
  • false — the ordered plan period is commercial (paid).

endlessbool

Indicates whether the ordered plan period is endless:

  • true — the ordered plan period is endless (ignore value and type).
  • false — the ordered plan period is not endless (use value and type).

skustringThe stock keeping unit of the service plan in Vendor Portal
subscriptionobjectInformation about the ordered subscription. The subscription information is stored and managed in the ActivePlatform installation


idstringThe subscription ID

attributesobject

The list of additional subscription attributes required for the subscription provisioning (see Extending the subscriptions object):

  • key — the attribute key in Vendor Portal.
  • value — the attribute value.

You can add the attributes in the Attributes section of Vendor Portal if you need to receive additional information during subscription provisioning

attributesobject

The list of additional order attributes required for the subscription provisioning (see Order Attributes. Attributes Validation):

  • key — the attribute key in Vendor Portal.
  • value — the attribute value.

Response

If a subscription was successfully created, the vendor service returns:

  • 201 HTTP code status
  • JSON with the following information:

Name

Data type

Description

external_idstring

The subscription GUID generated in the vendor service

attributesobject

The list of additional subscription attributes required for the subscription provisioning (see Extending the subscriptions object):

  • key — the attribute key in Vendor Portal.
  • value — the attribute value.

You can add the attributes in the Attributes section of Vendor Portal if you need to receive additional information during subscription provisioning

If a subscription was not created, the vendor service returns:

  • HTTP code status.
  • JSON with the following information:

Name

Data type

Description

taskobject



error_messagestringText message of the occurred error

Event example

POST http://example.com/subscription/create
{
  "distributor": {
    "id": 211,
    "name": "Dev acc",
    "region": "region",
    "currency": "USD",
    "attributes": {
      "reseller_public_id": "1234a4567"
    }
  },
  "reseller": {
    "id": 2,
    "name": "Root",
    "region": "Region",
    "currency": "USD",
    "attributes": {
      "certificate": "********",
      "service_account_email": "********",
      "reseller_admin_email": "********"
    },
    "core_attributes": {
      "kaspersky_reseller_pin": "********"
    }
  },
  "tenant": {
    "id": 199,
    "company_name": "John GS",
    "type": "Business",
    "contact": {
      "first_name": "John",
      "last_name": "GS",
      "zip": "220000",
      "city": "Quinsk",
      "state": "Quinsk",
      "country": "AQ",
      "phone": "+123 55 1111111",
      "email": "test_warp@example.com",
      "fax": "+123 55 1111111",
      "address_line_1": "Quinsk",
      "address_line_2": ""
    },
    "owner": {
      "first_name": "John",
      "last_name": "GS",
      "phone": "+123 55 1111111"
    }
  },
  "domain": {
    "name": "domain.com",
    "alternate_email": "admin@example.com",
    "admin_login": "admin"
  },
  "plan": {
    "name": "Google Suite Basic",
    "description": "",
    "resources": [
      {
        "key": "users",
        "quantity": 1
      }
    ],
    "period": {
      "value": 30,
      "type": "day",
      "trial": true,
      "endless": false
    },
    "attributes": {},
    "sku": "For-Business,FLEXIBLE"
  },
  "subscription": {
    "id": 3002619,
    "attributes": {}
  },
  "attributes": {
    "admin_login": "admin",
    "domain_name": "goog-test.reseller.com",
    "customer_alternate_email": "email@example.net",
    "transfer_domain_name": "goog-test.reseller.com",
    "transfer_token": "123ABCDEFO123456"
  }
}

Response example

HTTP code: 201 created

{
    "external_id": "02000000-10c8-9d6e-0ecc-39e13f7a4de1",
    "attributes": {}
}