Partner Billing

Prev

Partner Billing API

Change Version API Version Change notes Change Date Author
1.0 v1 2022-04-15 Hardy, Cyrus

Summary

Site

You need the Manage Site permission to manage sites.

Site Object JSON format

Site Object

Site definition.

Name Type Read-only Mandatory Description
id int yes no Site identifier.
partnerId int yes no Partner identifier.
platformId int yes no Platform identifier.
company string no no Company.
companySize string no no Company size.
website string no no Web site.
phone string no no Phone.
fax string no no Fax.
countryOrRegion string no no Country or region.
stateOrProvince string no no State or province.
city string no no City.
mailingAddress string no no Mailing adress.
postalOrZipCode string no no Postal or zipcode.
firstName string no no First name.
lastName string no no Last name.
dateTimeFormat string no no Datetime format.
languageId string no no Language identifier.
timeZone string no no Timezone.
status string no no Status.
subdomain string no no Subdomain.
customDomain string no no Custom domain.
industry string no no Industry.
otherIndustryDescription string no no Other industry description.
tagIds Guid[] no no Collection of tags.
tags Tag[] no no Collection of tags.
siteAgents Agent[] no no Collection of agents.
siteContracts SiteContract[] no no Collection of site contracts.
siteExtraInfo SiteExtraInfo no no Extra info of a site.
siteActivity SiteActivity no no Activity of a site.
siteBillingConfig SiteBillingConfig no no Billing config of a site.
siteBillingActivity SiteBillingActivity no no Billing activity of a site.
siteRegistration SiteRegistration no no Registration info of a site.
subscriptions Subscription[] no no Collection of subscriptions of a site.

Site Extra Info Object

SiteExtraInfo definition.

Name Type Read-only Mandatory Description
siteId int yes yes Site identifier.
profitCenterId Guid yes no Profit center identifier.
deploymentType string no yes Deployment type.
accountExecutive Guid no no Executive user identifier.
accountManager Guid no no Manager identifier.
isSandboxSite bool no no Is sandbox site.
isSpam bool no no Is spam.

Site Activity Object

SiteActivity definition.

Name Type Read-only Mandatory Description
siteId int yes yes Site identifier.
lastLoginTime DateTime no no Last login time.
isActive bool no no Is active.
livechatCustomerLastWebPageVisitTime DateTime no yes Live chat customer last web page visit time.
livechatCustomerLastWebPageUrl string no no Live chat customer last web page URL.

Site Billing Activity Object

SiteBillingActivity definition.

Name Type Read-only Mandatory Description
siteId int yes yes Site identifier.
buyingStage stirng no no Buying stage.

Site Registration Object

SiteRegistration definition.

Name Type Read-only Mandatory Description
siteId int yes yes Site identifier.
registerEmail stirng no no Register email.
registerTime DateTime no no Register time.

Tag Object

Tag definition.

Name Type Read-only Mandatory Description
id Guid yes no Tag identifier.
partnerId int no yes Partner identifier.
name string no yes Tag name.

Agent Object

Agent definition.

Name Type Read-only Mandatory Description
id Guid yes no Agent identifier.
siteId int yes no Site identifier.
email string no no Agent email address.
displayName string no no Display name.
firstName string no no First name.
lastName string no no Last name.
isAdmin bool no no Is admin.
isActive bool no no Is active.
createdTime DateTime no no Created time.

Site Contract Object

SiteContract definition.

Name Type Read-only Mandatory Description
id Guid yes no Agent identifier.
siteId int yes no Site identifier.
name string no no Name.
description string no no Description.
startDate DateTime no no Start time.
endDate DateTime no no End time.
actionWhenContractEnds string no no Action when contract ends.
siteContractAttachments SiteContractAttachment[] no no Collection of site contract attachments.

Site Contract Attachment Object

SiteContractAttachment definition.

Name Type Read-only Mandatory Description
id Guid yes no Agent identifier.
siteId int yes no Site identifier.
sitecontractId Guid yes no Site contract identifier.
name string no no Name.
attachment string no no Attachment URL.

Site Paged Model Object

SitePagedModel definition.

Name Type Read-only Mandatory Description
siteId int yes no Site identifier.
platformName string no no Platform name.
registerDate DateTime no no Register date.
lastActivityDate DateTime no no Last activity date.
siteStatus string no no Site status.
profitCenterId Guid no no Profit center identifier.
profitCenterName string no no Profit center name.
isActive bool no no Is active.
buyingStage string no no Buying stage.
accountExecutiveId Guid no no Executive user identifier.
accountExecutiveName string no no Executive user name.
company string no no Company.
country string no no Country or region.
ifHasSiteBillingProfile int no no Wether exist billing profile.
billingPeriod string no no Billing period.
billingStartDate DateTime no no Billing start date.
nextBillingDate DateTime no no Next billing date.
balance decimal no no Balance.
purchasedAgents int no no Purchased agents.
activeAgents int no no Active agents.
agent SiteAgent[] no no The collection of agents.
subscription string[] no no The collection of subscriptions' name.

Site Agent Object

SiteAgent definition.

Name Type Read-only Mandatory Description
siteId int yes no Site identifier.
agentId Guid no no Agent identifier.
email string no no Agent email address.
lastActivityDate DateTime no no Last activity date.
displayName string no no Display name.
isAdmin bool no no Is admin.

Site Endpoints

Get paged collection of sites

GET /api/billing/site/search

  • Parameters

Query Parameters

Name Type Required Description
siteId int no Unique identifier of a Site.
  • Response

    The response is paged collection of SitePagedModel objects.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/site/search \
-H 'Content-Type: application/json'  \
-X 'GET' \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "pageIndex": 1,
    "pageSize": 10,
    "pageCount": 7,
    "total": 67,
    "items": [
        {
            "siteId": 10000,
            "platformName": "internal",
            "registerDate": "2021-03-31T06:05:15.28Z",
            "lastActivityDate": "2022-04-07T08:58:28.9447384Z",
            "siteStatus": "open",
            "agent": [
                {
                    "siteId": 10000,
                    "agentId": "1ce38293-786b-4452-90a0-54adb3d31204",
                    "email": "test1@internal.com",
                    "displayName": "test1 internal",
                    "isAdmin": true
                }
            ],
            "billingPeriod": "annually",
            "billingStartDate": "2022-03-04T00:00:00Z",
            "nextBillingDate": "2023-03-04T00:00:00Z",
            "balance": 0.00,
            "purchasedAgents": 5,
            "activeAgents": 1,
            "subscription": [
                "Comm100 Omnichannel Business",
                "Comm100 Bot Enterprise"
            ],
            "profitCenterId": "02000000-0000-0000-0000-271000002710",
            "profitCenterName": "Vancouver ENT CS",
            "isActive": false,
            "buyingStage": "paying",
            "accountExecutiveId": "00000000-0000-0000-0000-000000000000",
            "accountExecutiveName": "No Account Executive",
            "company": "",
            "country": "Bosnia and Herzegovina",
            "ifHasSiteBillingProfile": 1
        }
    ]
}

Get collection of sites

GET /api/billing/sites

  • Parameters

Query Parameters

Name Type Required Description
id int no Unique identifier of a Site.
  • Response

    The response is collection of Site objects.

  • Example

Using curl

curl  https://partner.comm100.io/api/billing/sites \
-H 'Content-Type: application/json'  \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "id": 10000,
        "partnerId": 10000,
        "platformId": 100,
        "company": "",
        "companySize": "",
        "website": "",
        "phone": "",
        "fax": "",
        "countryOrRegion": "Bosnia and Herzegovina",
        "stateOrProvince": "",
        "city": "",
        "mailingAddress": "",
        "postalOrZipCode": "",
        "firstName": "test1",
        "lastName": "internal",
        "dateTimeFormat": "MM/DD/YYYY HH:mm:ss",
        "languageId": "en",
        "timeZone": "UTC-08",
        "status": "open",
        "subdomain": "",
        "customDomain": "",
        "industry": "Others",
        "otherIndustryDescription": "",
        "tagIds": [
            "fe53fe17-bd77-42c7-8cc0-278422bd89d6"
        ],
        "tags": [
            {
                "id": "fe53fe17-bd77-42c7-8cc0-278422bd89d6",
                "partnerId": 10000,
                "name": "Free Email Not Allowed"
            }          
        ],
        "siteAgents": [
            {
                "id": "1ce38293-786b-4452-90a0-54adb3d31204",
                "siteId": 10000,
                "email": "test1@internal.com",
                "displayName": "test1 internal",
                "firstName": "test1",
                "lastName": "internal",
                "isAdmin": true,
                "isActive": true,
                "createdTime": "2022-02-17T06:44:51.3966667Z"
            }
        ],
        "siteContracts": [
            {
                "id": "8d33378a-5a12-49f4-aa2a-bcb2fddf5ab6",
                "siteId": 100000001,
                "name": "re",
                "description": "1",
                "startDate": "2022-02-03T08:21:19Z",
                "endDate": "2022-02-16T08:21:20Z",
                "actionWhenContractEnds": "stopService",
                "siteContractAttachments": [
                    {
                        "id": "f7fe4f76-ecf9-4ed7-adb3-46187577744e",
                        "siteId": 100000001,
                        "sitecontractId": "8d33378a-5a12-49f4-aa2a-bcb2fddf5ab6",
                        "name": "desk.jpeg",
                        "attachment": "https://partner.comm100.io/api/billing/siteContractAttachments/f7fe4f76-ecf9-4ed7-adb3-46187577744e/attachment?siteId=10000&version=32b7b8b1af4bc663983f01100363da4a"
                    }
                ]
            }
        ],
        "siteExtraInfo": {
            "siteId": 10000,
            "profitCenterId": "02000000-0000-0000-0000-271000002710",
            "deploymentType": "Shared",
            "accountExecutive": "00000000-0000-0000-0000-000000000000",
            "accountManager": "00000000-0000-0000-0000-000000000000",
            "isSandboxSite": false,
            "isSpam": false
        },
        "siteActivity": {
            "siteId": 10000,
            "lastLoginTime": "2022-04-07T08:58:28.9447384Z",
            "isActive": false,
            "livechatCustomerLastWebPageVisitTime": null,
            "livechatCustomerLastWebPageUrl": ""
        },
        "siteBillingConfig": {
            "siteId": 10000,
            "billingPeriod": "annual",
            "billingStartDate": "2022-03-04T00:00:00Z",
            "nextBillingDate": "2023-03-04T00:00:00Z",
            "balance": 0.00,
            "currencyId": "USD",
            "isPricingVisible": false,
            "isSubscriptionChangeByCustomerAllowed": false,
            "isAgentsPurchasedInAdvance": true,
            "purchasedAgents": 5,
            "isInvoiceVisibleToCustomer": false,
            "isBillingEmailSentAutomatically": false,
            "isBillingPopupAutomatically": false,
            "paymentTerm": "net0",
            "paymentTermValue": 0,
            "currency": {
                "id": "USD",
                "symbol": "$",
                "description": ""
            }
        },
        "siteBillingActivity": {
            "siteId": 10000,
            "buyingStage": "paying"
        },
        "subscriptions": [
            {
                "id": "895a5d94-97e8-410f-8ff3-53d8038e908a",
                "planId": 211,
                "siteId": 10000,
                "name": "Comm100 Omnichannel Business",
                "isServicePlan": false,
                "canBeCancelledByCustomer": false,
                "createdTime": "2022-02-17T06:44:51.2766667Z",
                "subscriptionPricingModels": [
                    {
                        "id": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                        "siteId": 10000,
                        "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
                        "name": "Omnichannel business",
                        "pricingModel": "perAgent",
                        "freeQuantity": 0,
                        "maxQuantity": 500,
                        "unitType": "additionalTwitterAccount",
                        "volumeType": "botActionPerMonth",
                        "isServiceStoppedWhenBotActionsQuotaExceeded": false,
                        "purchasedQuantity": 0,
                        "purchasedOverageQuantity": 0,
                        "subscriptionPriceSegmentByAgents": [
                            {
                                "id": "e7796bab-7c5f-4ca7-a9b6-1ef97aeb6091",
                                "subscriptionPricingModelId": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                                "siteId": 10000,
                                "from": 1,
                                "to": 5,
                                "monthlyPrice": 89.00,
                                "quarterlyPrice": 267.00,
                                "semiAnnualPrice": 534.00,
                                "annualPrice": 979.00,
                                "monthlyPriceDiscount": 0.10,
                                "quarterlyPriceDiscount": 0.00,
                                "semiAnnualPriceDiscount": 0.00,
                                "annualPriceDiscount": 0.00
                            }
                        ],
                        "subscriptionPriceSegmentByVolumes": [
                            {
                                "id": "8a206344-4b07-4e3f-b736-aa6f1b922858",
                                "subscriptionPricingModelId": "add5cdab-9566-4140-f6c7-08da12bc6f77",
                                "siteId": 10000,
                                "quotaPerMonth": 10000,
                                "monthlyPrice": 0.00,
                                "quarterlyPrice": 0.00,
                                "semiAnnualPrice": 0.00,
                                "annualPrice": 0.00,
                                "isOverageQuotaAddedByCustomerAllowed": false,
                                "overageQuota": 2500,
                                "overageUnitPrice": 49.00,
                                "monthlyPriceDiscount": 0.00,
                                "quarterlyPriceDiscount": 0.00,
                                "semiAnnualPriceDiscount": 0.00,
                                "annualPriceDiscount": 0.00,
                                "overageUnitPriceDiscount": 0.00
                            }
                        ],
                        "subscriptionPriceWithFlatFee": {
                            "subscriptionPricingModelId": "68d961ca-865f-4557-f6c8-08da12bc6f77",
                            "siteId": 10000,
                            "monthlyPrice": 599.00,
                            "quarterlyPrice": 1198.00,
                            "semiAnnualPrice": 3594.00,
                            "annualPrice": 7188.00,
                            "monthlyPriceDiscount": 0.00,
                            "quarterlyPriceDiscount": 0.00,
                            "semiAnnualPriceDiscount": 0.00,
                            "annualPriceDiscount": 0.00
                        }
                    }
                ]
            }
        ],
        "siteRegistration": {
            "siteId": 10000,
            "registerEmail": "test1@internal.com",
            "registerTime": "2021-03-31T06:05:15.28Z"
        }
    }
]

Get a site

GET /api/billing/sites/{id}

  • Parameters

Path Parameters

Name Type Required Description
id int no Unique identifier of a Site.
  • Response

    The response is a Site object.

  • Example

Using curl

curl  https://partner.comm100.io/api/billing/sites/10000 \
-H 'Content-Type: application/json'  \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "id": 10000,
    "partnerId": 10000,
    "platformId": 100,
    "company": "",
    "companySize": "",
    "website": "",
    "phone": "",
    "fax": "",
    "countryOrRegion": "Bosnia and Herzegovina",
    "stateOrProvince": "",
    "city": "",
    "mailingAddress": "",
    "postalOrZipCode": "",
    "firstName": "test1",
    "lastName": "internal",
    "dateTimeFormat": "MM/DD/YYYY HH:mm:ss",
    "languageId": "en",
    "timeZone": "UTC-08",
    "status": "open",
    "subdomain": "",
    "customDomain": "",
    "industry": "Others",
    "otherIndustryDescription": "",
    "tagIds": [
        "fe53fe17-bd77-42c7-8cc0-278422bd89d6"
    ],
    "tags": [
        {
            "id": "fe53fe17-bd77-42c7-8cc0-278422bd89d6",
            "partnerId": 10000,
            "name": "Free Email Not Allowed"
        }          
    ],
    "siteAgents": [
        {
            "id": "1ce38293-786b-4452-90a0-54adb3d31204",
            "siteId": 10000,
            "email": "test1@internal.com",
            "displayName": "test1 internal",
            "firstName": "test1",
            "lastName": "internal",
            "isAdmin": true,
            "isActive": true,
            "createdTime": "2022-02-17T06:44:51.3966667Z"
        }
    ],
    "siteContracts": [
        {
            "id": "8d33378a-5a12-49f4-aa2a-bcb2fddf5ab6",
            "siteId": 100000001,
            "name": "re",
            "description": "1",
            "startDate": "2022-02-03T08:21:19Z",
            "endDate": "2022-02-16T08:21:20Z",
            "actionWhenContractEnds": "stopService",
            "siteContractAttachments": [
                {
                    "id": "f7fe4f76-ecf9-4ed7-adb3-46187577744e",
                    "siteId": 100000001,
                    "sitecontractId": "8d33378a-5a12-49f4-aa2a-bcb2fddf5ab6",
                    "name": "desk.jpeg",
                    "attachment": "https://partner.comm100.io/api/billing/siteContractAttachments/f7fe4f76-ecf9-4ed7-adb3-46187577744e/attachment?siteId=10000&version=32b7b8b1af4bc663983f01100363da4a"
                }
            ]
        }
    ],
    "siteExtraInfo": {
        "siteId": 10000,
        "profitCenterId": "02000000-0000-0000-0000-271000002710",
        "deploymentType": "Shared",
        "accountExecutive": "00000000-0000-0000-0000-000000000000",
        "accountManager": "00000000-0000-0000-0000-000000000000",
        "isSandboxSite": false,
        "isSpam": false
    },
    "siteActivity": {
        "siteId": 10000,
        "lastLoginTime": "2022-04-07T08:58:28.9447384Z",
        "isActive": false,
        "livechatCustomerLastWebPageVisitTime": null,
        "livechatCustomerLastWebPageUrl": ""
    },
    "siteBillingConfig": {
        "siteId": 10000,
        "billingPeriod": "annual",
        "billingStartDate": "2022-03-04T00:00:00Z",
        "nextBillingDate": "2023-03-04T00:00:00Z",
        "balance": 0.00,
        "currencyId": "USD",
        "isPricingVisible": false,
        "isSubscriptionChangeByCustomerAllowed": false,
        "isAgentsPurchasedInAdvance": true,
        "purchasedAgents": 5,
        "isInvoiceVisibleToCustomer": false,
        "isBillingEmailSentAutomatically": false,
        "isBillingPopupAutomatically": false,
        "paymentTerm": "net0",
        "paymentTermValue": 0,
        "currency": {
            "id": "USD",
            "symbol": "$",
            "description": ""
        }
    },
    "siteBillingActivity": {
        "siteId": 10000,
        "buyingStage": "paying"
    },
    "subscriptions": [
        {
            "id": "895a5d94-97e8-410f-8ff3-53d8038e908a",
            "planId": 211,
            "siteId": 10000,
            "name": "Comm100 Omnichannel Business",
            "isServicePlan": false,
            "canBeCancelledByCustomer": false,
            "createdTime": "2022-02-17T06:44:51.2766667Z",
            "subscriptionPricingModels": [
                {
                    "id": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                    "siteId": 10000,
                    "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
                    "name": "Omnichannel business",
                    "pricingModel": "perAgent",
                    "freeQuantity": 0,
                    "maxQuantity": 500,
                    "unitType": "additionalTwitterAccount",
                    "volumeType": "botActionPerMonth",
                    "isServiceStoppedWhenBotActionsQuotaExceeded": false,
                    "purchasedQuantity": 0,
                    "purchasedOverageQuantity": 0,
                    "subscriptionPriceSegmentByAgents": [
                        {
                            "id": "e7796bab-7c5f-4ca7-a9b6-1ef97aeb6091",
                            "subscriptionPricingModelId": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                            "siteId": 10000,
                            "from": 1,
                            "to": 5,
                            "monthlyPrice": 89.00,
                            "quarterlyPrice": 267.00,
                            "semiAnnualPrice": 534.00,
                            "annualPrice": 979.00,
                            "monthlyPriceDiscount": 0.10,
                            "quarterlyPriceDiscount": 0.00,
                            "semiAnnualPriceDiscount": 0.00,
                            "annualPriceDiscount": 0.00
                        }
                    ],
                    "subscriptionPriceSegmentByVolumes": [
                        {
                            "id": "8a206344-4b07-4e3f-b736-aa6f1b922858",
                            "subscriptionPricingModelId": "add5cdab-9566-4140-f6c7-08da12bc6f77",
                            "siteId": 10000,
                            "quotaPerMonth": 10000,
                            "monthlyPrice": 0.00,
                            "quarterlyPrice": 0.00,
                            "semiAnnualPrice": 0.00,
                            "annualPrice": 0.00,
                            "isOverageQuotaAddedByCustomerAllowed": false,
                            "overageQuota": 2500,
                            "overageUnitPrice": 49.00,
                            "monthlyPriceDiscount": 0.00,
                            "quarterlyPriceDiscount": 0.00,
                            "semiAnnualPriceDiscount": 0.00,
                            "annualPriceDiscount": 0.00,
                            "overageUnitPriceDiscount": 0.00
                        }
                    ],
                    "subscriptionPriceWithFlatFee": {
                        "subscriptionPricingModelId": "68d961ca-865f-4557-f6c8-08da12bc6f77",
                        "siteId": 10000,
                        "monthlyPrice": 599.00,
                        "quarterlyPrice": 1198.00,
                        "semiAnnualPrice": 3594.00,
                        "annualPrice": 7188.00,
                        "monthlyPriceDiscount": 0.00,
                        "quarterlyPriceDiscount": 0.00,
                        "semiAnnualPriceDiscount": 0.00,
                        "annualPriceDiscount": 0.00
                    }
                }
            ]
        }
    ],
    "siteRegistration": {
        "siteId": 10000,
        "registerEmail": "test1@internal.com",
        "registerTime": "2021-03-31T06:05:15.28Z"
    }
}

Site Billing Config

You need the Manage Site permission to manage site billing config.

Site Billing Config Object JSON format

Site Billing Config Object

SiteBillingConfig definition.

Name Type Read-only Mandatory Description
siteId integer yes no Site identifier.
billingPeriod enum no yes Billing period, value options include : monthly, quarterly, semi-annual, annual, ...
billingStartDate DateTime yes no The first billing date.
nextBillingDate DateTime yes no The next billing date.
balance decimal yes no Account balance.
currencyId string no yes Currency identifier.
isPricingVisible bool no no Is the price displayed explicitly.
isSubscriptionChangeByCustomerAllowed bool no no Wether to allow customers to change their subscriptions.
isAgentsPurchasedInAdvance bool no no Wether to allow customers to purchase agents by themselves.
purchasedAgents int yes no The number of purchased agents.
isInvoiceVisibleToCustomer bool no no Wether to show invoice to customer.
isBillingEmailSentAutomatically bool no no Wether to send billing email to customers authmatically.
isBillingPopupAutomatically bool no no Wether to show billing popup to customers.
paymentTerm string no no The name of payment term.
paymentTermValue string no yes The value of payment term.
currency Currency no yes The currency object.

Currency Object

Currency definition.

Name Type Read-only Mandatory Description
id string no yes Currency identifier.
symbol string no yes Currency symbol. $, €, £, ¥, ...
description string no no Currency description.

Site Endpoints

Get the list of site billing configs

GET /api/billing/siteBillingConfigs

  • Parameters

    No parameters

  • Response

    The response is collection of SiteBillingConfig objects.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/siteBillingConfigs \
-H 'Content-Type: application/json' \
-X 'GET' \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "siteId": 10000,
        "billingPeriod": "annual",
        "billingStartDate": "2022-03-04T00:00:00Z",
        "nextBillingDate": "2023-03-04T00:00:00Z",
        "balance": 0.00,
        "currencyId": "USD",
        "isPricingVisible": false,
        "isSubscriptionChangeByCustomerAllowed": false,
        "isAgentsPurchasedInAdvance": true,
        "purchasedAgents": 5,
        "isInvoiceVisibleToCustomer": false,
        "isBillingEmailSentAutomatically": false,
        "isBillingPopupAutomatically": false,
        "paymentTerm": "net0",
        "paymentTermValue": 0,
        "currency": {
            "id": "USD",
            "symbol": "$",
            "description": ""
        }
    }
]

Get billing config of a site

GET /api/billing/siteBillingConfigs/{siteId}

  • Parameters

Path Parameters

Name Type Required Description
siteId int yes Unique identifier of the site.

Using curl

curl https://partner.comm100.io/api/billing/siteBillingConfigs/10000 \
-H 'Content-Type: application/json' \
-X 'GET' \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "siteId": 10000,
    "billingPeriod": "annual",
    "billingStartDate": "2022-03-04T00:00:00Z",
    "nextBillingDate": "2023-03-04T00:00:00Z",
    "balance": 0.00,
    "currencyId": "USD",
    "isPricingVisible": false,
    "isSubscriptionChangeByCustomerAllowed": false,
    "isAgentsPurchasedInAdvance": true,
    "purchasedAgents": 5,
    "isInvoiceVisibleToCustomer": false,
    "isBillingEmailSentAutomatically": false,
    "isBillingPopupAutomatically": false,
    "paymentTerm": "net0",
    "paymentTermValue": 0,
    "currency": {
        "id": "USD",
        "symbol": "$",
        "description": ""
    }
}

Create billing config of a site

POST /api/billing/siteBillingConfigs

  • Parameters

Request body

The request body contains data with the SiteBillingConfig structure.

Using curl

curl  https://partner.comm100.io/api/billing/siteBillingConfigs \
-H 'Content-Type: application/json' \
-X 'POST'  \
-D '{
    "siteId": 10000,
    "billingPeriod": "annual",
    "currencyId": "USD",
    "isPricingVisible": false,
    "isSubscriptionChangeByCustomerAllowed": false,
    "isAgentsPurchasedInAdvance": true,
    "isInvoiceVisibleToCustomer": false,
    "isBillingEmailSentAutomatically": false,
    "isBillingPopupAutomatically": false,
    "paymentTerm": "net0",
    "paymentTermValue": 0,
    ...,
}' 

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "siteId": 10000,
    "billingPeriod": "annual",
    "billingStartDate": "2022-03-04T00:00:00Z",
    "nextBillingDate": "2023-03-04T00:00:00Z",
    "balance": 0.00,
    "currencyId": "USD",
    "isPricingVisible": false,
    "isSubscriptionChangeByCustomerAllowed": false,
    "isAgentsPurchasedInAdvance": true,
    "purchasedAgents": 5,
    "isInvoiceVisibleToCustomer": false,
    "isBillingEmailSentAutomatically": false,
    "isBillingPopupAutomatically": false,
    "paymentTerm": "net0",
    "paymentTermValue": 0,
    "currency": {
        "id": "USD",
        "symbol": "$",
        "description": ""
    }
}

Update billing config of a site

PUT /api/billing/siteBillingConfigs/{siteId}

  • Parameters

Path Parameters

Name Type Required Description
siteId int yes Unique identifier of the site.

Request body

The request body contains data with the SiteBillingConfig structure.

Using curl

curl https://partner.comm100.io/api/billing/siteBillingConfigs/10000 \
-H 'Content-Type: application/json'  \
-X 'POST' \
-D '{
    "siteId": 10000,
    "billingPeriod": "annual",
    "currencyId": "USD",
    "isPricingVisible": false,
    "isSubscriptionChangeByCustomerAllowed": false,
    "isAgentsPurchasedInAdvance": true,
    "isInvoiceVisibleToCustomer": false,
    "isBillingEmailSentAutomatically": false,
    "isBillingPopupAutomatically": false,
    "paymentTerm": "net0",
    "paymentTermValue": 0,
    ...,
}' 

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "siteId": 10000,
    "billingPeriod": "annual",
    "billingStartDate": "2022-03-04T00:00:00Z",
    "nextBillingDate": "2023-03-04T00:00:00Z",
    "balance": 0.00,
    "currencyId": "USD",
    "isPricingVisible": false,
    "isSubscriptionChangeByCustomerAllowed": false,
    "isAgentsPurchasedInAdvance": true,
    "purchasedAgents": 5,
    "isInvoiceVisibleToCustomer": false,
    "isBillingEmailSentAutomatically": false,
    "isBillingPopupAutomatically": false,
    "paymentTerm": "net0",
    "paymentTermValue": 0,
    "currency": {
        "id": "USD",
        "symbol": "$",
        "description": ""
    }
}

Site Billing Profile

You need the Manage Site permission to manage site billing profile.

Site Billing Profile Object JSON format

Site Billing Profile Object

SiteBillingProfile definition.

Name Type Read-only Mandatory Description
siteId integer yes no Site identifier.
firstName string no no First name.
lastName string no no Last name.
companyName string no no Company name.
email string no no Email address.
phone string no no Phone number.
fax string no no Fax number.
countryOrRegion string no no Country or region.
stateOrProvince string no no State or province.
city string yes no City.
mailingAddress string no no Mailing address.
postalOrZipCode string no no Postal or zipcode.
jobTitle string no no Job title.
billTo string no no Bill to.
isChargedAutomatically bool no no Is charged automatically.
isEPayment bool no no Is EPayment.
primaryPaymentTypeId string no no Primary payment type. Amex
primaryPayPalBillingAgreementId string no no Primary paypal billing agreement.
primaryPayPalEmail string no no Primary paypal email.
nameOnPrimaryCard string no no Who is the primary card belonged.
primaryCardNumber string no no Primary card number.
primaryCardCSCOrCVD string no no The CSC or CVD of the primary card.
primaryCardExpirationDate DateTime no no The expiration date of the primary card.
secondaryPaymentTypeId string no no Secondary payment type. Amex
secondaryPayPalBillingAgreementId string no no Secondary paypal billing agreement.
secondaryPayPalEmail string no no Secondary paypal email.
nameOnSecondaryCard string no no Who is the secondary card belonged.
secondaryCardNumber string no no Secondary card number.
secondaryCardCSCOrCVD string no no The CSC or CVD of the secondary card.
secondaryCardExpirationDate DateTime no no The expiration date of the secondary card.
nonEPaymentTypeId string no no Non EPayment type. Undefine

Site Endpoints

Get sites' billing profiles

GET /api/billing/siteBillingProfiles

  • Parameters

    No parameters

  • Response

    The response is collection of SiteBillingProfile objects.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/siteBillingProfiles \
-H 'Content-Type: application/json'  \
-X 'GET' \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "siteId": 10000,
        "firstName": "1",
        "lastName": "1",
        "companyName": "1",
        "email": "1@1.com",
        "phone": "13111111111",
        "fax": "",
        "countryOrRegion": "Afghanistan",
        "stateOrProvince": "",
        "city": "",
        "mailingAddress": "1",
        "postalOrZipCode": "",
        "jobTitle": "",
        "billTo": "1",
        "isChargedAutomatically": true,
        "isEPayment": true,
        "primaryPaymentTypeId": "Amex",
        "primaryPayPalBillingAgreementId": "",
        "primaryPayPalEmail": "",
        "nameOnPrimaryCard": "1",
        "primaryCardNumber": "2222222222222",
        "primaryCardCSCOrCVD": "123",
        "primaryCardExpirationDate": "2024-12-01T00:00:00Z",
        "secondaryPaymentTypeId": "Amex",
        "secondaryPayPalBillingAgreementId": "",
        "secondaryPayPalEmail": "",
        "nameOnSecondaryCard": "2",
        "secondaryCardNumber": "2222222222222",
        "secondaryCardCSCOrCVD": "123",
        "secondaryCardExpirationDate": "2024-12-01T00:00:00Z",
        "nonEPaymentTypeId": "Undefine"
    }
]

Get billing profile of a site

GET /api/billing/siteBillingProfiles/{siteId}

  • Parameters

Path Parameters

Name Type Required Description
siteId int yes Unique identifier of the site.

Using curl

curl https://partner.comm100.io/api/billing/siteBillingProfiles/10000
-H 'Content-Type: application/json'
-X 'GET'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "siteId": 10000,
    "firstName": "1",
    "lastName": "1",
    "companyName": "1",
    "email": "1@1.com",
    "phone": "13111111111",
    "fax": "",
    "countryOrRegion": "Afghanistan",
    "stateOrProvince": "",
    "city": "",
    "mailingAddress": "1",
    "postalOrZipCode": "",
    "jobTitle": "",
    "billTo": "1",
    "isChargedAutomatically": true,
    "isEPayment": true,
    "primaryPaymentTypeId": "Amex",
    "primaryPayPalBillingAgreementId": "",
    "primaryPayPalEmail": "",
    "nameOnPrimaryCard": "1",
    "primaryCardNumber": "2222222222222",
    "primaryCardCSCOrCVD": "123",
    "primaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "secondaryPaymentTypeId": "Amex",
    "secondaryPayPalBillingAgreementId": "",
    "secondaryPayPalEmail": "",
    "nameOnSecondaryCard": "2",
    "secondaryCardNumber": "2222222222222",
    "secondaryCardCSCOrCVD": "123",
    "secondaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "nonEPaymentTypeId": "Undefine"
}

Create billing profile of a site

POST /api/billing/siteBillingProfiles

  • Parameters

Request body

The request body contains data with the SiteBillingProfile structure.

Using curl

curl https://partner.comm100.io/api/billing/siteBillingProfiles \
-H 'Content-Type: application/json'  \
-X 'POST' \
-D '{
    "siteId": 10000,
    "firstName": "1",
    "lastName": "1",
    "companyName": "1",
    "email": "1@1.com",
    "phone": "13111111111",
    "fax": "",
    "countryOrRegion": "Afghanistan",
    "stateOrProvince": "",
    "city": "",
    "mailingAddress": "1",
    "postalOrZipCode": "",
    "jobTitle": "",
    "billTo": "1",
    "isChargedAutomatically": true,
    "isEPayment": true,
    "primaryPaymentTypeId": "Amex",
    "primaryPayPalBillingAgreementId": "",
    "primaryPayPalEmail": "",
    "nameOnPrimaryCard": "1",
    "primaryCardNumber": "2222222222222",
    "primaryCardCSCOrCVD": "123",
    "primaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "secondaryPaymentTypeId": "Amex",
    "secondaryPayPalBillingAgreementId": "",
    "secondaryPayPalEmail": "",
    "nameOnSecondaryCard": "2",
    "secondaryCardNumber": "2222222222222",
    "secondaryCardCSCOrCVD": "123",
    "secondaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "nonEPaymentTypeId": "Undefine"
    ...,
}'  

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "siteId": 10000,
    "firstName": "1",
    "lastName": "1",
    "companyName": "1",
    "email": "1@1.com",
    "phone": "13111111111",
    "fax": "",
    "countryOrRegion": "Afghanistan",
    "stateOrProvince": "",
    "city": "",
    "mailingAddress": "1",
    "postalOrZipCode": "",
    "jobTitle": "",
    "billTo": "1",
    "isChargedAutomatically": true,
    "isEPayment": true,
    "primaryPaymentTypeId": "Amex",
    "primaryPayPalBillingAgreementId": "",
    "primaryPayPalEmail": "",
    "nameOnPrimaryCard": "1",
    "primaryCardNumber": "2222222222222",
    "primaryCardCSCOrCVD": "123",
    "primaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "secondaryPaymentTypeId": "Amex",
    "secondaryPayPalBillingAgreementId": "",
    "secondaryPayPalEmail": "",
    "nameOnSecondaryCard": "2",
    "secondaryCardNumber": "2222222222222",
    "secondaryCardCSCOrCVD": "123",
    "secondaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "nonEPaymentTypeId": "Undefine"
}

Update billing profile of a site

PUT /api/billing/siteBillingProfiles/{siteId}

  • Parameters

Path Parameters

Name Type Required Description
siteId int yes Unique identifier of the site.

Request body

The request body contains data with the SiteBillingProfile structure.

Using curl

curl https://partner.comm100.io/api/billing/siteBillingProfiles/10000 \
-H "Content-Type: application/json"  \
-X 'POST' \
-D '{
    "siteId": 10000,
    "firstName": "1",
    "lastName": "1",
    "companyName": "1",
    "email": "1@1.com",
    "phone": "13111111111",
    "fax": "",
    "countryOrRegion": "Afghanistan",
    "stateOrProvince": "",
    "city": "",
    "mailingAddress": "1",
    "postalOrZipCode": "",
    "jobTitle": "",
    "billTo": "1",
    "isChargedAutomatically": true,
    "isEPayment": true,
    "primaryPaymentTypeId": "Amex",
    "primaryPayPalBillingAgreementId": "",
    "primaryPayPalEmail": "",
    "nameOnPrimaryCard": "1",
    "primaryCardNumber": "2222222222222",
    "primaryCardCSCOrCVD": "123",
    "primaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "secondaryPaymentTypeId": "Amex",
    "secondaryPayPalBillingAgreementId": "",
    "secondaryPayPalEmail": "",
    "nameOnSecondaryCard": "2",
    "secondaryCardNumber": "2222222222222",
    "secondaryCardCSCOrCVD": "123",
    "secondaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "nonEPaymentTypeId": "Undefine"
    ...,
}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "siteId": 10000,
    "firstName": "1",
    "lastName": "1",
    "companyName": "1",
    "email": "1@1.com",
    "phone": "13111111111",
    "fax": "",
    "countryOrRegion": "Afghanistan",
    "stateOrProvince": "",
    "city": "",
    "mailingAddress": "1",
    "postalOrZipCode": "",
    "jobTitle": "",
    "billTo": "1",
    "isChargedAutomatically": true,
    "isEPayment": true,
    "primaryPaymentTypeId": "Amex",
    "primaryPayPalBillingAgreementId": "",
    "primaryPayPalEmail": "",
    "nameOnPrimaryCard": "1",
    "primaryCardNumber": "2222222222222",
    "primaryCardCSCOrCVD": "123",
    "primaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "secondaryPaymentTypeId": "Amex",
    "secondaryPayPalBillingAgreementId": "",
    "secondaryPayPalEmail": "",
    "nameOnSecondaryCard": "2",
    "secondaryCardNumber": "2222222222222",
    "secondaryCardCSCOrCVD": "123",
    "secondaryCardExpirationDate": "2024-12-01T00:00:00Z",
    "nonEPaymentTypeId": "Undefine"
}

Subscription

You need the Manage Site permission to manage Site's subscriptions.

Subscription Object JSON format

Subscription Object

Subscription definition.

Name Type Read-only Mandatory Description
id Guid yes no Subscription identifier.
planId int no no Plan identifier.
siteId int no no Site identifier.
name string no no Subscription name.
isServicePlan bool no no Is service plan.
canBeCancelledByCustomer bool no no Wether to allow customers to cancal by themselfs.
createdTime DateTime yes no The time when created.
subscriptionPricingModels SubscriptionPricingModel no no Chatbot engine identifier.
lineItems InvoiceLineItem[] no no Invoice line items.

Subscription Output Object

SubscriptionOutput definition.

Name Type Read-only Mandatory Description
srcAmount decimal no no SRC amount.
srcTax decimal no no SRC tax.
newAmount decimal no no New amount.
newTax decimal no no New tax.
chargeResult bool no no Charge result.

Subscription Change Dto Object

SubscriptionChangeDto definition.

Name Type Read-only Mandatory Description
actionType enum no no Action type. Include AddSubscription(0), SwitchSubscription(1), EditPricingModel(2), CancelSubscription(3), UpgradeSubscription(4), DowngradeSubscription(5)
srcSubscriptionId Guid no no Source subscription identifier.
subscription SubscriptionDto no no Subscription info.

Subscription Dto Object

SubscriptionDto definition.

Name Type Read-only Mandatory Description
id Guid no no Subscription identifier.
planId int no yes Plan identifier.
siteId int no no Site identifier.
name int no yes Name.
isServicePlan bool no yes Is service plan.
canBeCancelledByCustomer bool no yes Wether to allow customers to cancel by themselves.
subscriptionPricingModels SubscriptionPricingModelDto[] no yes Wether to allow customers to cancel by themselves.

Subscription Pricing Model Dto Object

SubscriptionPricingModelDto definition.

Name Type Read-only Mandatory Description
id Guid no no Identifier.
subscriptionId Guid no no Subscription identifier.
siteId int no no Site identifier.
name int no yes Name.
pricingModel string no no Pricing model.
freeQuantity int no no Free quantity.
maxQuantity int no no Max quantity.
unitType string no no Unit type.
volumeType string no no Volume type.
isServiceStoppedWhenBotActionsQuotaExceeded bool no no Is service stopped when bot actions quota exceeded.
purchasedQuantity int no no Purchased quantity.
purchasedOverageUnit int no no Purchased overage unit.
purchasedOverageQuantity int no no Purchased overage quantity.
isDeleted bool no no Is deleted.
subscriptionPriceSegmentByAgents SubscriptionPriceSegmentByAgentDto[] no no Collection of suscription price segment by agents.
subscriptionPriceSegmentByVolumes SubscriptionPriceSegmentByVolumeDto[] no no Collection of suscription price segment by volumes.
subscriptionPriceByUnit SubscriptionPriceByUnitDto no no Suscription price by unit.
subscriptionPriceWithFlatFee SubscriptionPriceWithFlatFeeDto no no Suscription price with flat fee.

Subscription Price Segment By Agent Dto Object

SubscriptionPriceSegmentByAgentDto definition.

Name Type Read-only Mandatory Description
id Guid yes no Subscription price segment by agent identifier.
siteId int no no Site identifier.
subscriptionPricingModelId Guid yes no Subscription pricing model identifier.
from int no no The minimum quantity of agents.
to int no no The maximum quantity of agents.
monthlyPrice decimal no no Monthly price.
quarterlyPrice decimal no no Quarterly price.
semiAnnualPrice decimal no no Semi annual price.
annualPrice decimal no no Annual price.
monthlyPriceDiscount decimal no no Monthly price discount.
quarterlyPriceDiscount decimal no no Quarterly price discount.
semiAnnualPriceDiscount decimal no no Semi annual price discount.
annualPriceDiscount decimal no no Annual price discount.

Subscription Price Segment By Volume Dto Object

SubscriptionPriceSegmentByVolumnDto definition.

Name Type Read-only Mandatory Description
id Guid yes no Subscription price segment by agent identifier.
siteId int no no Site identifier.
subscriptionPricingModelId Guid yes no Subscription pricing model identifier.
quotaPerMonth int no no Monthly quota.
monthlyPrice decimal no no Monthly price.
quarterlyPrice decimal no no Quarterly price.
semiAnnualPrice decimal no no Semi annual price.
annualPrice decimal no no Annual price.
monthlyPriceDiscount decimal no no Monthly price discount.
quarterlyPriceDiscount decimal no no Quarterly price discount.
semiAnnualPriceDiscount decimal no no Semi annual price discount.
annualPriceDiscount decimal no no Annual price discount.
isOverageQuotaAddedByCustomerAllowed bool no no Wether to allow customers to add overage quota by themselfs.
overageQuota int no no Monthly quota.
overageUnitPrice decimal no no Overage unit price.
overageUnitPriceDiscount decimal no no Overage unit price discount.
isSelected bool no no Is selected.

Subscription Price By Unit Dto Object

SubscriptionPriceByUnitDto definition.

Name Type Read-only Mandatory Description
siteId int no no Site identifier.
subscriptionPricingModelId Guid yes no Subscription pricing model identifier.
oneTimeFee decimal no no One-off fee.
monthlyPrice decimal no no Monthly price.
quarterlyPrice decimal no no Quarterly price.
semiAnnualPrice decimal no no Semi annual price.
annualPrice decimal no no Annual price.
oneTimeFeeDiscount decimal no no One-off fee discount.
monthlyPriceDiscount decimal no no Monthly price discount.
quarterlyPriceDiscount decimal no no Quarterly price discount.
semiAnnualPriceDiscount decimal no no Semi annual price discount.
annualPriceDiscount decimal no no Annual price discount.

Subscription Price With Flat Fee Dto Object

SubscriptionPriceWithFlatFeeDto definition.

Name Type Read-only Mandatory Description
siteId int no no Site identifier.
subscriptionPricingModelId Guid yes no Subscription pricing model identifier.
monthlyPrice decimal no no Monthly price.
quarterlyPrice decimal no no Quarterly price.
semiAnnualPrice decimal no no Semi annual price.
annualPrice decimal no no Annual price.
monthlyPriceDiscount decimal no no Monthly price discount.
quarterlyPriceDiscount decimal no no Quarterly price discount.
semiAnnualPriceDiscount decimal no no Semi annual price discount.
annualPriceDiscount decimal no no Annual price discount.

Subscriptions Change Output Object

SubscriptionsChangeOutput definition.

Name Type Read-only Mandatory Description
amount decimal no no Amount.
tax decimal no no Tax.
invoiceId Guid no no Invoice identifier.

Invoice Line Item Object

InvoiceLineItem definition

Name Type Read-only Mandatory Description
id Guid no no Invoice line item identifier.
invoiceId Guid no no Invoice identifier.
siteId int no no Site identifier.
subscriptionPricingModelId Guid yes no Subscription pricing model identifier.
profitCenterId Guid yes no Profit center identifier.
name string no no Invoice line item name.
unitPrice decimal no no Unit price.
unitPriceToRound decimal no no Unit price to round.
unitPriceToRoundWithUnit string no no Unit price to round with unit.
unit string no no Unit.
quantity int no no Quantity.
discount decimal no no Discount.
discountToRound string no no Discount to round.
discountRate string no no Discount rate.
serviceStartDate DateTime no yes Service start date.
serviceEndDate DateTime no yes Service end date.
months string no no Months.
licenseTerm string no no License term.
order int no no Order.
type string no no Type.
amount decimal no no Amount.
amountToRound string no no Amount to round.
taxTotal decimal no no Tax total.
tax decimal no no Tax.
taxToRound string no no Tax to round.
lineTotal decimal no no Line total.
lineTotalToRound string no no Line total to round.
lineTotalWithDiscountToRound string no no Line total with discount to round.
cancelledInvoiceLineItemId Guid no no Cancelled invoice line item related.
paidAmount decimal no no Paid amount.
amountUsdToPay decimal no no Amount USD to pay.
amountUsdToRefund decimal no no Amount USD to refund.
serviceDays int no no Service days.

Subscription Endpoints

Get collection of subscriptions

GET /api/billing/subscriptions

  • Parameters

Query Parameters

Name Type Required Description
siteId int no Unique identifier of a Site.
  • Response

    The response is collection of Subscription objects.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/subscriptions \
-H 'Content-Type: application/json'  \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "id": "895a5d94-97e8-410f-8ff3-53d8038e908a",
        "planId": 211,
        "siteId": 10000,
        "name": "Comm100 Omnichannel Business",
        "isServicePlan": false,
        "canBeCancelledByCustomer": false,
        "createdTime": "2022-02-17T06:44:51.2766667Z",,
        "isShowUpgrade": false,
        "isOneTimeFeePlan": false,
        "isShowCancel": false
        "subscriptionPricingModels": [
            {
                "id": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                "siteId": 10000,
                "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
                "name": "Omnichannel business",
                "pricingModel": "perAgent",
                "freeQuantity": 0,
                "maxQuantity": 500,
                "unitType": "additionalTwitterAccount",
                "volumeType": "botActionPerMonth",
                "isServiceStoppedWhenBotActionsQuotaExceeded": false,
                "purchasedQuantity": 0,
                "purchasedOverageQuantity": 0,
                "subscriptionPriceSegmentByAgents": [
                    {
                        "id": "e7796bab-7c5f-4ca7-a9b6-1ef97aeb6091",
                        "subscriptionPricingModelId": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                        "siteId": 10000,
                        "from": 1,
                        "to": 5,
                        "monthlyPrice": 89.00,
                        "quarterlyPrice": 267.00,
                        "semiAnnualPrice": 534.00,
                        "annualPrice": 979.00,
                        "monthlyPriceDiscount": 0.10,
                        "quarterlyPriceDiscount": 0.00,
                        "semiAnnualPriceDiscount": 0.00,
                        "annualPriceDiscount": 0.00
                    }
                ],
                "subscriptionPriceSegmentByVolumes": [
                    {
                        "id": "8a206344-4b07-4e3f-b736-aa6f1b922858",
                        "subscriptionPricingModelId": "add5cdab-9566-4140-f6c7-08da12bc6f77",
                        "siteId": 10000,
                        "quotaPerMonth": 10000,
                        "monthlyPrice": 0.00,
                        "quarterlyPrice": 0.00,
                        "semiAnnualPrice": 0.00,
                        "annualPrice": 0.00,
                        "isOverageQuotaAddedByCustomerAllowed": false,
                        "overageQuota": 2500,
                        "overageUnitPrice": 49.00,
                        "monthlyPriceDiscount": 0.00,
                        "quarterlyPriceDiscount": 0.00,
                        "semiAnnualPriceDiscount": 0.00,
                        "annualPriceDiscount": 0.00,
                        "overageUnitPriceDiscount": 0.00,
                        "isSelected": true
                    }
                ],
                "subscriptionPriceWithFlatFee": {
                    "subscriptionPricingModelId": "68d961ca-865f-4557-f6c8-08da12bc6f77",
                    "siteId": 10000,
                    "monthlyPrice": 599.00,
                    "quarterlyPrice": 1198.00,
                    "semiAnnualPrice": 3594.00,
                    "annualPrice": 7188.00,
                    "monthlyPriceDiscount": 0.00,
                    "quarterlyPriceDiscount": 0.00,
                    "semiAnnualPriceDiscount": 0.00,
                    "annualPriceDiscount": 0.00
                }
            }
        ],
        "lineItems": [
            {
                "id": "00000000-0000-0000-0000-000000000000",
                "invoiceId": "00000000-0000-0000-0000-000000000000",
                "subscriptionPricingModelId": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                "profitCenterId": "02000000-0000-0000-0000-271000002710",
                "siteId": 0,
                "name": "Comm100 Omnichannel Business - Omnichannel business",
                "unitPrice": 979.00,
                "unitPriceToRound": "979.00",
                "unitPriceToRoundWithUnit": "979.00/Year",
                "unit": "Year",
                "quantity": 5,
                "discount": 0.0000,
                "discountToRound": "0.00",
                "discountRate": "",
                "serviceStartDate": "2022-04-15T00:00:00Z",
                "serviceEndDate": "2023-04-14T00:00:00Z",
                "months": "12 Months",
                "licenseTerm": "12 Months<br><span>(2022/04/15-2023/04/14)</span>",
                "order": 0,
                "type": "changeSiteBillingPeriod",
                "isDeleted": false,
                "invoiceLineItemTaxs": [],
                "amount": 4895.0000,
                "amountToRound": "4,895.00",
                "taxTotal": 0.0,
                "tax": 0.0,
                "taxToRound": "0.00",
                "lineTotal": 4895.0000,
                "lineTotalToRound": "4,895.00",
                "lineTotalWithDiscountToRound": "4,895.00",
                "cancelledInvoiceLineItemId": "00000000-0000-0000-0000-000000000000",
                "paidAmount": 0.0,
                "amountUsdToPay": 0.0,
                "amountUsdToRefund": 0.0,
                "serviceDays": 365
            }
        ]
    }
]

Get a subscription

GET /api/billing/subscriptions/{id}

  • Parameters

Path Parameters

Name Type Required Description
id Guid yes Unique identifier of the subscription.

Using curl

curl https://partner.comm100.io/api/billing/subscriptions/895a5d94-97e8-410f-8ff3-53d8038e908a \
-H 'Content-Type: application/json'  \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "id": "895a5d94-97e8-410f-8ff3-53d8038e908a",
    "planId": 211,
    "siteId": 10000,
    "name": "Comm100 Omnichannel Business",
    "isServicePlan": false,
    "canBeCancelledByCustomer": false,
    "createdTime": "2022-02-17T06:44:51.2766667Z",,
    "isShowUpgrade": false,
    "isOneTimeFeePlan": false,
    "isShowCancel": false
    "subscriptionPricingModels": [
        {
            "id": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
            "siteId": 10000,
            "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
            "name": "Omnichannel business",
            "pricingModel": "perAgent",
            "freeQuantity": 0,
            "maxQuantity": 500,
            "unitType": "additionalTwitterAccount",
            "volumeType": "botActionPerMonth",
            "isServiceStoppedWhenBotActionsQuotaExceeded": false,
            "purchasedQuantity": 0,
            "purchasedOverageQuantity": 0,
            "subscriptionPriceSegmentByAgents": [
                {
                    "id": "e7796bab-7c5f-4ca7-a9b6-1ef97aeb6091",
                    "subscriptionPricingModelId": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                    "siteId": 10000,
                    "from": 1,
                    "to": 5,
                    "monthlyPrice": 89.00,
                    "quarterlyPrice": 267.00,
                    "semiAnnualPrice": 534.00,
                    "annualPrice": 979.00,
                    "monthlyPriceDiscount": 0.10,
                    "quarterlyPriceDiscount": 0.00,
                    "semiAnnualPriceDiscount": 0.00,
                    "annualPriceDiscount": 0.00
                }
            ],
            "subscriptionPriceSegmentByVolumes": [
                {
                    "id": "8a206344-4b07-4e3f-b736-aa6f1b922858",
                    "subscriptionPricingModelId": "add5cdab-9566-4140-f6c7-08da12bc6f77",
                    "siteId": 10000,
                    "quotaPerMonth": 10000,
                    "monthlyPrice": 0.00,
                    "quarterlyPrice": 0.00,
                    "semiAnnualPrice": 0.00,
                    "annualPrice": 0.00,
                    "isOverageQuotaAddedByCustomerAllowed": false,
                    "overageQuota": 2500,
                    "overageUnitPrice": 49.00,
                    "monthlyPriceDiscount": 0.00,
                    "quarterlyPriceDiscount": 0.00,
                    "semiAnnualPriceDiscount": 0.00,
                    "annualPriceDiscount": 0.00,
                    "overageUnitPriceDiscount": 0.00,
                    "isSelected": true
                }
            ],
            "subscriptionPriceWithFlatFee": {
                "subscriptionPricingModelId": "68d961ca-865f-4557-f6c8-08da12bc6f77",
                "siteId": 10000,
                "monthlyPrice": 599.00,
                "quarterlyPrice": 1198.00,
                "semiAnnualPrice": 3594.00,
                "annualPrice": 7188.00,
                "monthlyPriceDiscount": 0.00,
                "quarterlyPriceDiscount": 0.00,
                "semiAnnualPriceDiscount": 0.00,
                "annualPriceDiscount": 0.00
            }
        }
    ],
    "lineItems": [
        {
            "id": "00000000-0000-0000-0000-000000000000",
            "invoiceId": "00000000-0000-0000-0000-000000000000",
            "subscriptionPricingModelId": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
            "profitCenterId": "02000000-0000-0000-0000-271000002710",
            "siteId": 0,
            "name": "Comm100 Omnichannel Business - Omnichannel business",
            "unitPrice": 979.00,
            "unitPriceToRound": "979.00",
            "unitPriceToRoundWithUnit": "979.00/Year",
            "unit": "Year",
            "quantity": 5,
            "discount": 0.0000,
            "discountToRound": "0.00",
            "discountRate": "",
            "serviceStartDate": "2022-04-15T00:00:00Z",
            "serviceEndDate": "2023-04-14T00:00:00Z",
            "months": "12 Months",
            "licenseTerm": "12 Months<br><span>(2022/04/15-2023/04/14)</span>",
            "order": 0,
            "type": "changeSiteBillingPeriod",
            "isDeleted": false,
            "invoiceLineItemTaxs": [],
            "amount": 4895.0000,
            "amountToRound": "4,895.00",
            "taxTotal": 0.0,
            "tax": 0.0,
            "taxToRound": "0.00",
            "lineTotal": 4895.0000,
            "lineTotalToRound": "4,895.00",
            "lineTotalWithDiscountToRound": "4,895.00",
            "cancelledInvoiceLineItemId": "00000000-0000-0000-0000-000000000000",
            "paidAmount": 0.0,
            "amountUsdToPay": 0.0,
            "amountUsdToRefund": 0.0,
            "serviceDays": 365
        }
    ]
}

Update a subscription

PUT /api/billing/subscriptions/{id}

  • Parameters

Path Parameters

Name Type Required Description
id Guid yes Unique identifier of the subscription.

Request body

The request body contains data with the Subscription structure.

Using curl

curl  https://partner.comm100.io/api/billing/subscriptions/895a5d94-97e8-410f-8ff3-53d8038e908a \
-H 'Content-Type: application/json'  \
-X 'PUT'  \
-D '{    
  "name": "Comm100 Omnichannel Business",
  "isServicePlan": false,
  "canBeCancelledByCustomer": false,
  "isShowUpgrade": false,
  "isOneTimeFeePlan": false,
  "isShowCancel": false,
  ...
}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "id": "895a5d94-97e8-410f-8ff3-53d8038e908a",
    "planId": 211,
    "siteId": 10000,
    "name": "Comm100 Omnichannel Business",
    "isServicePlan": false,
    "canBeCancelledByCustomer": false,
    "createdTime": "2022-02-17T06:44:51.2766667Z",
    "isShowUpgrade": false,
    "isOneTimeFeePlan": false,
    "isShowCancel": false
    "subscriptionPricingModels": [
        {
            "id": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
            "siteId": 10000,
            "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
            "name": "Omnichannel business",
            "pricingModel": "perAgent",
            "freeQuantity": 0,
            "maxQuantity": 500,
            "unitType": "additionalTwitterAccount",
            "volumeType": "botActionPerMonth",
            "isServiceStoppedWhenBotActionsQuotaExceeded": false,
            "purchasedQuantity": 0,
            "purchasedOverageQuantity": 0,
            "subscriptionPriceSegmentByAgents": [
                {
                    "id": "e7796bab-7c5f-4ca7-a9b6-1ef97aeb6091",
                    "subscriptionPricingModelId": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
                    "siteId": 10000,
                    "from": 1,
                    "to": 5,
                    "monthlyPrice": 89.00,
                    "quarterlyPrice": 267.00,
                    "semiAnnualPrice": 534.00,
                    "annualPrice": 979.00,
                    "monthlyPriceDiscount": 0.10,
                    "quarterlyPriceDiscount": 0.00,
                    "semiAnnualPriceDiscount": 0.00,
                    "annualPriceDiscount": 0.00
                }
            ],
            "subscriptionPriceSegmentByVolumes": [
                {
                    "id": "8a206344-4b07-4e3f-b736-aa6f1b922858",
                    "subscriptionPricingModelId": "add5cdab-9566-4140-f6c7-08da12bc6f77",
                    "siteId": 10000,
                    "quotaPerMonth": 10000,
                    "monthlyPrice": 0.00,
                    "quarterlyPrice": 0.00,
                    "semiAnnualPrice": 0.00,
                    "annualPrice": 0.00,
                    "isOverageQuotaAddedByCustomerAllowed": false,
                    "overageQuota": 2500,
                    "overageUnitPrice": 49.00,
                    "monthlyPriceDiscount": 0.00,
                    "quarterlyPriceDiscount": 0.00,
                    "semiAnnualPriceDiscount": 0.00,
                    "annualPriceDiscount": 0.00,
                    "overageUnitPriceDiscount": 0.00,
                    "isSelected": true
                }
            ],
            "subscriptionPriceWithFlatFee": {
                "subscriptionPricingModelId": "68d961ca-865f-4557-f6c8-08da12bc6f77",
                "siteId": 10000,
                "monthlyPrice": 599.00,
                "quarterlyPrice": 1198.00,
                "semiAnnualPrice": 3594.00,
                "annualPrice": 7188.00,
                "monthlyPriceDiscount": 0.00,
                "quarterlyPriceDiscount": 0.00,
                "semiAnnualPriceDiscount": 0.00,
                "annualPriceDiscount": 0.00
            }
        }
    ],
    "lineItems": [
        {
            "id": "00000000-0000-0000-0000-000000000000",
            "invoiceId": "00000000-0000-0000-0000-000000000000",
            "subscriptionPricingModelId": "35ed9d79-1a5c-418b-b8c1-77c63e7083d7",
            "profitCenterId": "02000000-0000-0000-0000-271000002710",
            "siteId": 0,
            "name": "Comm100 Omnichannel Business - Omnichannel business",
            "unitPrice": 979.00,
            "unitPriceToRound": "979.00",
            "unitPriceToRoundWithUnit": "979.00/Year",
            "unit": "Year",
            "quantity": 5,
            "discount": 0.0000,
            "discountToRound": "0.00",
            "discountRate": "",
            "serviceStartDate": "2022-04-15T00:00:00Z",
            "serviceEndDate": "2023-04-14T00:00:00Z",
            "months": "12 Months",
            "licenseTerm": "12 Months<br><span>(2022/04/15-2023/04/14)</span>",
            "order": 0,
            "type": "changeSiteBillingPeriod",
            "isDeleted": false,
            "invoiceLineItemTaxs": [],
            "amount": 4895.0000,
            "amountToRound": "4,895.00",
            "taxTotal": 0.0,
            "tax": 0.0,
            "taxToRound": "0.00",
            "lineTotal": 4895.0000,
            "lineTotalToRound": "4,895.00",
            "lineTotalWithDiscountToRound": "4,895.00",
            "cancelledInvoiceLineItemId": "00000000-0000-0000-0000-000000000000",
            "paidAmount": 0.0,
            "amountUsdToPay": 0.0,
            "amountUsdToRefund": 0.0,
            "serviceDays": 365
        }
    ]
}

Add a subscription

POST /api/billing/subscriptions:new

  • Parameters

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.
agentId Guid yes Unique identifier of the Agent.

Body Parameters

Name Type Required Description
billingPeriod int no Billing period.
planId int yes Plan identifier.
overageQuota int no Overage quota.
overageQuotaUnit int no Overage quota unit.
purchasedQuantityByUnit int no Purchased quantity by unit.
selectedVolumeId Guid no Selected volume identifier.
name string yes Name.

Using curl

curl https://partner.comm100.io/api/billing/subscriptions:new  \
-H 'Content-Type: application/json' \
-X 'POST'  \
-D '{"billingPeriod": 0, "planId": 10, "overageQuota": 1, "overageQuotaUnit": 1, "purchasedQuantityByUnit": 1, "selectedVolumeId": "895a5d94-97e8-410f-8ff3-53d8038e908a", "name": "name"}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "srcAmount": 211.11,
    "srcTax": 1.00,
    "newAmount": 3.33,
    "newTax": 1.00,
    "chargeResult": true
}

Preview adding a subscription

POST /api/billing/subscriptions:calculateNew

  • Parameters

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.
agentId Guid yes Unique identifier of the Agent.

Body Parameters

Name Type Required Description
billingPeriod int no Billing period.
planId int yes Plan identifier.
overageQuota int no Overage quota.
overageQuotaUnit int no Overage quota unit.
purchasedQuantityByUnit int no Purchased quantity by unit.
selectedVolumeId Guid no Selected volume identifier.
name string yes Name.

Using curl

curl https://partner.comm100.io/api/billing/subscriptions:calculateNew \
-H 'Content-Type: application/json'  \
-X 'POST' \
-D '{"billingPeriod": 0, "planId": 10, "overageQuota": 1, "overageQuotaUnit": 1, "purchasedQuantityByUnit": 1, "selectedVolumeId": "895a5d94-97e8-410f-8ff3-53d8038e908a", "name": "name"}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "srcAmount": 211.11,
    "srcTax": 1.00,
    "newAmount": 3.33,
    "newTax": 1.00,
    "chargeResult": true
}

Change subscriptions

POST /api/billing/subscriptions:changes

  • Parameters

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.

Body Parameters

Name Type Required Description
ifCreateInvoice bool yes If create invoice.
isDraft bool yes Is draft.
purchasedAgents int no Purchased agents.
subscriptionChangeDtos SubscriptionChangeDto[] no Collection of subscription dtos.

Using curl

curl https://partner.comm100.io/api/billing/subscriptions:new \
-H 'Content-Type: application/json'  \
-X 'POST'  \
-D '{"ifCreateInvoice": true, "isDraft": false, "purchasedAgents": 1, "subscriptionChangeDtos": []}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "amount": 211.11,
    "tax": 1.00,
    "invoiceId": "d95a5d94-97e8-410f-8ff3-53d8038e908a"
}

Preview changing subscriptions

POST /api/billing/subscriptions:calculateChanges

  • Parameters

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.

Body Parameters

Name Type Required Description
ifCreateInvoice bool yes If create invoice.
isDraft bool yes Is draft.
purchasedAgents int no Purchased agents.
subscriptionChangeDtos SubscriptionChangeDto[] no Collection of subscription dtos.

Using curl

curl https://partner.comm100.io/api/billing/subscriptions:calculateNew
-H 'Content-Type: application/json' 
-X 'POST'  
-D '{"ifCreateInvoice": false, "isDraft": false, "purchasedAgents": 1, "subscriptionChangeDtos": []}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "amount": 211.11,
    "tax": 1.00,
    "invoiceId": "00000000-0000-0000-0000-000000000000"
}

Cancel a subscription

POST /api/billing/subscriptions:calculateChanges

  • Parameters

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.

Body Parameters

Name Type Required Description
ifCreateInvoice bool yes If create invoice.
isDraft bool yes Is draft.
purchasedAgents int no Purchased agents.
subscriptionChangeDtos SubscriptionChangeDto[] no Collection of subscription dtos.

Using curl

curl https://partner.comm100.io/api/billing/subscriptions/895a5d94-97e8-410f-8ff3-53d8038e908a:cancel \
-H 'Content-Type: application/json' \ 
-X 'POST' \  
-D '{"ifCreateInvoice": false, "isDraft": false, "purchasedAgents": 1, "subscriptionChangeDtos": []}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "amount": 211.11,
    "tax": 1.00,
    "invoiceId": "00000000-0000-0000-0000-000000000000"
}

Preview cancelling a subscription

POST /api/billing/subscriptions/{id}:calculateCancel

  • Parameters

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.
agentId Guid yes Unique identifier of the Agent.

Body Parameters

Name Type Required Description
cancelReason string no Cancel reason.
comment string yes Comment.

Using curl

curl https://partner.comm100.io/api/billing/subscriptions/895a5d94-97e8-410f-8ff3-53d8038e908a:calculateCancel \
-H 'Content-Type: application/json' \
-X 'POST' \  
-D '{"cancelReason": "reason", "comment": "comment"}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "srcAmount": 211.11,
    "srcTax": 1.00,
    "newAmount": 3.33,
    "newTax": 1.00,
    "chargeResult": true
}

Switch a subscription plan

POST /api/billing/subscriptions/{id}:switchPlan

  • Parameters

Path Parameters

Name Type Required Description
id int yes Unique identifier of the Subscription.

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.
agentId Guid yes Unique identifier of the Agent.

Body Parameters

Name Type Required Description
billingPeriod int no Billing period.
planId int yes Plan identifier.
overageQuota int no Overage quota.
overageQuotaUnit int no Overage quota unit.
purchasedQuantityByUnit int no Purchased quantity by unit.
selectedVolumeId Guid no Selected volume identifier.
name string yes Name.

Using curl

curl https://partner.comm100.io/api/billing/subscriptions/{id}:switchPlan  \
-H 'Content-Type: application/json'  \
-X 'POST'  \
-D '{"billingPeriod": 0, "planId": 10, "overageQuota": 1, "overageQuotaUnit": 1, "purchasedQuantityByUnit": 1, "selectedVolumeId": "895a5d94-97e8-410f-8ff3-53d8038e908a", "name": "name"}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "srcAmount": 211.11,
    "srcTax": 1.00,
    "newAmount": 3.33,
    "newTax": 1.00,
    "chargeResult": true
}

Preview switching a subscription plan

POST /api/billing/subscriptions/{id}:calculateSwitchPlan

  • Parameters

Path Parameters

Name Type Required Description
id int yes Unique identifier of the Subscription.

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.
agentId Guid yes Unique identifier of the Agent.

Body Parameters

Name Type Required Description
billingPeriod int no Billing period.
planId int yes Plan identifier.
overageQuota int no Overage quota.
overageQuotaUnit int no Overage quota unit.
purchasedQuantityByUnit int no Purchased quantity by unit.
selectedVolumeId Guid no Selected volume identifier.
name string yes Name.

Using curl

curl -H "Content-Type: application/json" -X POST https://partner.comm100.io/api/billing/subscriptions/895a5d94-97e8-410f-8ff3-53d8038e908a:calculateSwitchPlan -D '{"billingPeriod": 0, "planId": 10, "overageQuota": 1, "overageQuotaUnit": 1, "purchasedQuantityByUnit": 1, "selectedVolumeId": "895a5d94-97e8-410f-8ff3-53d8038e908a", "name": "name"}'

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "srcAmount": 211.11,
    "srcTax": 1.00,
    "newAmount": 3.33,
    "newTax": 1.00,
    "chargeResult": true
}

Add product feature points to a subscription

POST /api/billing/subscriptions/{id}/productFeaturePoints

  • Parameters

Path Parameters

Name Type Required Description
id int yes Unique identifier of the Subscription.

Query Parameters

Name Type Required Description
siteId int yes Unique identifier of the Site.

Body Parameters

Name Type Required Description
productId string yes Product identifier.
featurePointItems string[] yes Collection of feature point items.
  • Response

    No response.

  • Example

Using curl

curl -H "Content-Type: application/json" -X POST https://partner.comm100.io/api/billing/subscriptions/895a5d94-97e8-410f-8ff3-53d8038e908a/productFeaturePoints -D '{"productId": "AdditionalTwitterAccount", "featurePointItems": ["AgentAssist"]}'

Response

HTTP/1.1 200 OK

Subscription Product Relation

You need the Manage Feature permission to manage subscription product relation.

Subscription Product Relation Object JSON format

Subscription Product Relation Object

SubscriptionProductRelation definition.

Name Type Read-only Mandatory Description
id Guid yes no Identifier.
subscriptionId Guid no yes Subscription identifier.
productId string no yes Product identifier.
siteId int no no Site identifier.
subscriptionProductFeaturePointRelations SubscriptionProductFeaturePointRelation[] no no The collection of subscription product feature point relations.

Subscription Product Feature Point Relation Object

SubscriptionProductFeaturePointRelation definition.

Name Type Read-only Mandatory Description
id Guid yes no Identifier.
subscriptionProductRelationId Guid no yes Subscription product relation id identifier.
featurePointItemId string no yes Feature point item identifier.
siteId int no no Site identifier.

Subscription Product Relation Endpoints

Get collection of product feature points

GET /api/billing/subscriptionProductRelations

Using curl

curl https://partner.comm100.io/api/billing/subscriptionProductRelations \
-H 'Content-Type: application/json'  \
-X 'GET' \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "id": "3fb06039-d671-4c5c-9414-2ca085efb6f8",
        "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
        "productId": "LiveChat",
        "siteId": 10000,
        "subscriptionProductFeaturePointRelations": [
            {
                "id": "b14bfbd0-9c78-4130-bc00-04260bcd4df1",
                "subscriptionProductRelationId": "3fb06039-d671-4c5c-9414-2ca085efb6f8",
                "featurePointItemId": "Integrations",
                "siteId": 10000
            }
        ]
    }
]

Subscription Pricing Model

You need the Manage Feature permission to manage subscription product relation.

  • GET /api/billing/subscriptionPricingModels

Subscription Pricing Model Object JSON format

Subscription Pricing Model Object

SubscriptionPricingModel definition.

Name Type Read-only Mandatory Description
id Guid yes no Subscription pricing model identifier.
siteId int no no Site identifier.
subscriptionId Guid yes no Subscription identifier.
name string no no Subscription pricing model name.
pricingModel string no no Pricing model.
freeQuantity int no no Free quantity of agents.
maxQuantity int no no Max quantity of agents.
unitType string no no Unit type.
volumeType string no no Volume type.
isServiceStoppedWhenBotActionsQuotaExceeded bool no no Wether the service will be stopped when bot actions quota exceeded.
purchasedQuantity int no no Purchased quantity of volume.
purchasedOverageQuantity int no no Purchased overage quantity of volume.
isShowUpgrade bool no no Wether to show upgrade button.
isOneTimeFeePlan bool no no Is one-off fee plan.
isShowCancel bool no no Wether to show cancel button.
subscriptionPriceSegmentByAgents SubscriptionPriceSegmentByAgent[] no no Subscription price segment by agents.
subscriptionPriceSegmentByVolumes SubscriptionPriceSegmentByVolume[] no no Subscription price segment by volumes.
subscriptionPriceWithFlatFee SubscriptionPriceWithFlatFee no no Subscription price with flat fee.

Subscription Price Segment By Agent Object

SubscriptionPriceSegmentByAgent definition.

Name Type Read-only Mandatory Description
id Guid yes no Subscription price segment by agent identifier.
siteId int no no Site identifier.
subscriptionPricingModelId Guid yes no Subscription pricing model identifier.
from int no no The minimum quantity of agents.
to int no no The maximum quantity of agents.
monthlyPrice decimal no no Monthly price.
quarterlyPrice decimal no no Quarterly price.
semiAnnualPrice decimal no no Semi annual price.
annualPrice decimal no no Annual price.
monthlyPriceDiscount decimal no no Monthly price discount.
quarterlyPriceDiscount decimal no no Quarterly price discount.
semiAnnualPriceDiscount decimal no no Semi annual price discount.
annualPriceDiscount decimal no no Annual price discount.

Subscription Price Segment By Volume Object

SubscriptionPriceSegmentByVolumn definition.

Name Type Read-only Mandatory Description
id Guid yes no Subscription price segment by agent identifier.
siteId int no no Site identifier.
subscriptionPricingModelId Guid yes no Subscription pricing model identifier.
quotaPerMonth int no no Monthly quota.
monthlyPrice decimal no no Monthly price.
quarterlyPrice decimal no no Quarterly price.
semiAnnualPrice decimal no no Semi annual price.
annualPrice decimal no no Annual price.
monthlyPriceDiscount decimal no no Monthly price discount.
quarterlyPriceDiscount decimal no no Quarterly price discount.
semiAnnualPriceDiscount decimal no no Semi annual price discount.
annualPriceDiscount decimal no no Annual price discount.
isOverageQuotaAddedByCustomerAllowed bool no no Wether to allow customers to add overage quota by themselfs.
overageQuota int no no Monthly quota.
overageUnitPrice decimal no no Overage unit price.
overageUnitPriceDiscount decimal no no Overage unit price discount.
isSelected bool no no Is selected.

Subscription Price With Flat Fee Object

SubscriptionPriceWithFlatFee definition.

Name Type Read-only Mandatory Description
siteId int no no Site identifier.
subscriptionPricingModelId Guid yes no Subscription pricing model identifier.
monthlyPrice decimal no no Monthly price.
quarterlyPrice decimal no no Quarterly price.
semiAnnualPrice decimal no no Semi annual price.
annualPrice decimal no no Annual price.
monthlyPriceDiscount decimal no no Monthly price discount.
quarterlyPriceDiscount decimal no no Quarterly price discount.
semiAnnualPriceDiscount decimal no no Semi annual price discount.
annualPriceDiscount decimal no no Annual price discount.

Subscription Pricing Model Endpoints

Get collection of subscription pricing models

GET /api/billing/subscriptionPricingModels

Using curl

curl https://partner.comm100.io/api/billing/subscriptionPricingModels \
-H 'Content-Type: application/json'   \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "id": "3fb06039-d671-4c5c-9414-2ca085efb6f8",
        "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
        "productId": "LiveChat",
        "siteId": 10000,
        "subscriptionProductFeaturePointRelations": [
            {
                "id": "b14bfbd0-9c78-4130-bc00-04260bcd4df1",
                "subscriptionProductRelationId": "3fb06039-d671-4c5c-9414-2ca085efb6f8",
                "featurePointItemId": "Integrations",
                "siteId": 10000
            }
        ]
    }
]

Subscription Feature Limitation Config

You need the Manage Feature permission to manage subscription feature limitation config.

Subscription Feature Limitation Config Object JSON format

Subscription Feature Limitation Config Object

SubscriptionFeatureLimitationConfig definition.

Name Type Read-only Mandatory Description
subscriptionId Guid no yes Subscription identifier.
siteId int no no Site identifier.
monthsOfHistoryCanBeAccessed int no no Months of history can be accessed.
monthsOfHistoryCanBeAccessedBeyondFreemium int no no Months of history can be accessed beyond freemium.
monthsOfHistoryBeingStored int no no Months of history being stored.
monthsOfHistoryBeingStoredBeyondFreemium int no no Months of history being stored beyond freemium.

Subscription Feature Limitation Config Endpoints

Get collection of subscription feature limitation configs

GET /api/billing/subscriptionFeatureLimitationConfigs

  • Parameters

Query Parameters

Name Type Required Description
siteId int no Unique identifier of a Site.

Using curl

curl https://partner.comm100.io/api/billing/subscriptionFeatureLimitationConfigs \
-H 'Content-Type: application/json' \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
        "siteId": 10000,
        "monthsOfHistoryCanBeAccessed": 0,
        "monthsOfHistoryCanBeAccessedBeyondFreemium": 0,
        "monthsOfHistoryBeingStored": 0,
        "monthsOfHistoryBeingStoredBeyondFreemium": 0
    }
]

Get a subscription feature limitation config

GET /api/billing/subscriptionFeatureLimitationConfigs/{subscriptionId}

  • Parameters

Path Parameters

Name Type Required Description
subscriptionId Guid yes Unique identifier of a Subscription.

Using curl

curl https://partner.comm100.io/api/billing/subscriptionFeatureLimitationConfigs/895a5d94-97e8-410f-8ff3-53d8038e908a \
-H 'Content-Type: application/json' \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "subscriptionId": "895a5d94-97e8-410f-8ff3-53d8038e908a",
    "siteId": 10000,
    "monthsOfHistoryCanBeAccessed": 0,
    "monthsOfHistoryCanBeAccessedBeyondFreemium": 0,
    "monthsOfHistoryBeingStored": 0,
    "monthsOfHistoryBeingStoredBeyondFreemium": 0
}

Product

You need the Manage Product permission to manage product.

Product Object JSON format

Product Object

Product definition.

Name Type Read-only Mandatory Description
id string yes no Product identifier.
moduleId string no yes Module identifier.
name string no yes Product name.
description string no yes Product description.

Product Endpoints

Get collection of products

GET /api/billing/products

  • Parameters

Query Parameters

Name Type Required Description
id string no Unique identifier of a Product.
  • Response

    The response is collection of Product objects.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/products \
-H 'Content-Type: application/json'  \
-X 'GET' \ 

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "id": "AdditionalTwitterAccount",
        "moduleId": "Ticketing",
        "name": "Additional Twitter Account",
        "description": ""
    }
]

Get a product

GET /api/billing/products/{id}

  • Parameters

Path Parameters

Name Type Required Description
id Guid yes Unique identifier of a Product.
  • Response

    The response is a Product object.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/products/AdditionalTwitterAccount \
-H 'Content-Type: application/json' \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "id": "AdditionalTwitterAccount",
    "moduleId": "Ticketing",
    "name": "Additional Twitter Account",
    "description": ""
}

Product

You need the Manage Product permission to manage product.

Product Object JSON format

Product Object

Product definition.

Name Type Read-only Mandatory Description
id string yes no Product identifier.
moduleId string no yes Module identifier.
name string no yes Product name.
description string no yes Product description.

Product Endpoints

Get collection of products

GET /api/billing/products

  • Parameters

Query Parameters

Name Type Required Description
id string no Unique identifier of a Product.
  • Response

    The response is collection of Product objects.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/products  \
-H 'Content-Type: application/json'  \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "id": "AdditionalTwitterAccount",
        "moduleId": "Ticketing",
        "name": "Additional Twitter Account",
        "description": ""
    }
]

Get a product

GET /api/billing/products/{id}

  • Parameters

Path Parameters

Name Type Required Description
id Guid yes Unique identifier of a Product.
  • Response

    The response is a Product object.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/products/AdditionalTwitterAccount \
-H 'Content-Type: application/json' \
-X 'GET' \ 

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "id": "AdditionalTwitterAccount",
    "moduleId": "Ticketing",
    "name": "Additional Twitter Account",
    "description": ""
}

Product Feature Point

You need the Manage Feature permission to manage product feature point.

Product Feature Point Object JSON format

Product Feature Point Object

ProductFeaturePoint definition.

Name Type Read-only Mandatory Description
id string yes no Feature point identifier.
moduleId string no no Module identifier.
name string no no Feature point item name.
description string no no Feature point item description.
featurePointItems FeaturePointItem[] no no The collection of feature point items.

Product Feature Point Endpoints

Get collection of product feature points

GET /api/global/productFeaturePoint

  • Parameters

    No parameters

  • Response

    The response is collection of ProductFeaturePoint objects.

  • Example

Using curl

curl https://partner.comm100.io/api/global/productFeaturePoint \
-H 'Content-Type: application/json'  \
-X 'GET' \ 

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "errorCode": 0,
    "errorMessage": "",
    "data":[
        {
            "id": "Chatbot",
            "moduleId": "Bot",
            "name": "Chatbot",
            "description": "",
            "featurePointItems": [
                {
                    "id": "ChatBot",
                    "productId": "Chatbot",
                    "name": "Chatbot",
                    "description": "",
                    "parentId": "",
                    "category": "default",
                    "chatbotEngineId": "00000000-0000-0000-0000-000000000000"
                }
            ]
        }
    ]
}

Feature Point Item

You need the Manage Feature permission to manage feature point item.

Feature Point Item Object JSON format

Feature Point Item Object

FeaturePointItem definition.

Name Type Read-only Mandatory Description
id string yes no Feature point item identifier.
productId string no no Product identifier.
name string no no Feature point item name.
description string no no Feature point item description.
parentId string no no Parent feature point item identifier.
category string no no Feature point category.
chatbotEngineId Guid no no Chatbot engine identifier.

Feature Point Item Endpoints

Get collection of feature point items

GET /api/global/featurePointItems

  • Parameters

    No parameters

  • Response

    The response is collection of FeaturePointItem objects.

  • Example

Using curl

curl https://partner.comm100.io/api/global/featurePointItems \
-H 'Content-Type: application/json'  \
-X 'GET' 

Response

HTTP/1.1 200 OK
Content-Type:  application/json
[
    {
        "id": "Mention",
        "productId": "Ticketing",
        "name": "@mention",
        "description": "",
        "parentId": "",
        "category": "default",
        "chatbotEngineId": "00000000-0000-0000-0000-000000000000"
    }
]

Get a feature point item

GET /api/global/featurePointItems/{id}

  • Parameters

Path Parameters

Name Type Required Description
id string yes Unique identifier of the feature point item.

Using curl

curl https://partner.comm100.io/api/global/featurePointItems/Mention  \
-H 'Content-Type: application/json'  \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "id": "Mention",
    "productId": "Ticketing",
    "name": "@mention",
    "description": "",
    "parentId": "",
    "category": "default",
    "chatbotEngineId": "00000000-0000-0000-0000-000000000000"
}

Invoice Bill To

You need the Manage Invoice permission to manage invoice bill to.

Invoice Bill To Object JSON format

Invoice Bill To Object

InvoiceBillTo definition.

Name Type Read-only Mandatory Description
invoiceId Guid no no Invoice identifier.
siteId int no no Site identifier.
firstName string no yes First name.
lastName string no yes Last name.
companyName string no yes Company name.
email string no yes Email address.
phone string no yes Phone number.
countryOrRegion string no yes Country or region.
stateOrProvince string no yes State or province.
city string no yes City.
mailingAddress string no yes Mailing address.
jobTitle string no yes Job title.
billTo string no yes Bill to.

Invoice Bill To Endpoints

Get paged collection of invoice bill tos

GET /api/billing/invoiceBillTos

  • Parameters

Query Parameters

Name Type Required Description
siteId string no Unique identifier of a Site.
  • Response

    The response is paged collection of InvoiceBillTo objects.

  • Example

Using curl

curl https://partner.comm100.io/api/billing/invoiceBillTos
-H 'Content-Type: application/json' 
-X 'GET' 

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "invoiceBillTos": [
        {
            "invoiceId": "27493bc9-9eb5-4bb3-2b95-08d9fc1fda3a",
            "siteId": 10000,
            "firstName": "1",
            "lastName": "1",
            "companyName": "1",
            "email": "1@1.com",
            "phone": "13111111111",
            "countryOrRegion": "Afghanistan",
            "stateOrProvince": "",
            "city": "",
            "mailingAddress": "1",
            "jobTitle": "",
            "billTo": "1"
        }
    ],
    "nextPage": null,
    "previousPage": null,
    "total": 4
}

Get a invoice bill to

GET /api/billing/invoiceBillTos/{invoiceId}

  • Parameters

Path Parameters

Name Type Required Description
invoiceId Guid no Unique identifier of a Invoice.

Using curl

curl https://partner.comm100.io/api/billing/invoiceBillTos/27493bc9-9eb5-4bb3-2b95-08d9fc1fda3a  \
-H 'Content-Type: application/json'  \
-X 'GET'  \

Response

HTTP/1.1 200 OK
Content-Type:  application/json
{
    "invoiceId": "27493bc9-9eb5-4bb3-2b95-08d9fc1fda3a",
    "siteId": 10000,
    "firstName": "1",
    "lastName": "1",
    "companyName": "1",
    "email": "1@1.com",
    "phone": "13111111111",
    "countryOrRegion": "Afghanistan",
    "stateOrProvince": "",
    "city": "",
    "mailingAddress": "1",
    "jobTitle": "",
    "billTo": "1"
}
Copyright © 2022 Comm100 Network Corporation. All Rights Reserved.