PriceManager application APS resource. One global instance per CloudBlue Commerce platform installation, registered when the PriceManager APS package is imported. All custom operations under PriceManager (price points, pricing groups, price books, pricing segments, import/export) are exposed off this resource.
In this document:

The considered APS type (download)
extends the Application APS type(s) and looks as follows:
{
"name": "Application",
"id": "http://com.ingrammicro/pricemanager/1.1",
"apsVersion": "2.0",
"implements": [
"http://aps-standard.org/types/core/application/1.0",
"http://ingrammicro.com/cb/types/astrum/client/1.0"
],
"access": {
"public": true
},
"properties": {
"uiState": {
"type": "string",
"default": "disabled",
"enum": [
"enabled",
"disabled",
"global_enabled"
]
}
},
"operations": {
"products": {
"path": "products",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
}
}
},
"getPrices": {
"path": "api/prices",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": true
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"mode": {
"kind": "query",
"type": "PriceManagerMode"
},
"request": {
"kind": "body",
"type": "PricesRequest"
}
}
},
"getMode": {
"path": "api/mode",
"verb": "GET",
"response": {
"type": "string"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
}
}
},
"setMode": {
"path": "api/mode",
"verb": "PUT",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"mode": {
"kind": "body",
"type": "string"
}
}
},
"importPrices": {
"path": "import/{vendorId}",
"verb": "POST",
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"vendorId": {
"kind": "path",
"type": "string"
}
}
},
"importUploadPriceFile": {
"path": "management/import/upload",
"verb": "POST",
"response": {
"type": "ImportUploadResult"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceFileInfo": {
"kind": "body",
"type": "ImportUploadInfo"
}
}
},
"parse": {
"path": "parse/{dataId}",
"verb": "POST",
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"dataId": {
"kind": "path",
"type": "string"
}
}
},
"prepareProposals": {
"path": "prepare-proposals/{dataId}",
"verb": "POST",
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"dataId": {
"kind": "path",
"type": "string"
}
}
},
"importGetPriceDiffs": {
"path": "management/import/diff",
"verb": "POST",
"response": {
"type": "ImportDiffResult"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"diffsInfo": {
"kind": "body",
"type": "ImportDiffInfo"
}
}
},
"getProductDiffs": {
"path": "product-diffs/{dataId}",
"verb": "GET",
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"dataId": {
"kind": "path",
"type": "string"
}
}
},
"getVendors": {
"path": "vendors",
"verb": "GET",
"errorResponse": {
"type": "object"
},
"access": {
"public": false
}
},
"setPrices": {
"path": "set-prices/{dataId}",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"dataId": {
"kind": "path",
"type": "string"
}
}
},
"importSavePrices": {
"path": "management/import/save",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"saveInfo": {
"kind": "body",
"type": "ImportSaveInfo"
}
}
},
"exportProductXlsx": {
"path": "export/products-xlsx",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
}
}
},
"newExportProductXlsx": {
"path": "management/export",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"serviceTemplateId": {
"kind": "query",
"type": "integer"
},
"effectiveDate": {
"kind": "query",
"type": "string"
},
"segmentId": {
"kind": "query",
"type": "integer"
}
}
},
"migrate": {
"path": "migrate",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"batchSize": {
"kind": "query",
"type": "integer"
},
"batchAmount": {
"kind": "query",
"type": "integer"
},
"microBatchAmount": {
"kind": "query",
"type": "integer"
}
}
},
"transferPriceOwnership": {
"path": "management/transfer-ownership/{planId}",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"planId": {
"kind": "path",
"type": "integer"
}
}
},
"transferPriceOwnershipMass": {
"path": "management/transfer-ownership",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"request": {
"kind": "body",
"type": "TransferOwnershipRequest"
}
}
},
"writeNotifications": {
"path": "write-notifications",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"batchSize": {
"kind": "query",
"type": "integer"
},
"notificationData": {
"kind": "body",
"type": "NotificationData"
}
}
},
"addPrices": {
"path": "management/plans/add-prices",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"request": {
"kind": "body",
"type": "AddPricesRequest"
}
}
},
"managementPlans": {
"path": "management/plans",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"limit": {
"kind": "query",
"type": "integer"
},
"offset": {
"kind": "query",
"type": "integer"
},
"effectiveDate": {
"kind": "query",
"type": "string"
},
"planId": {
"kind": "query",
"type": "integer"
},
"planName": {
"kind": "query",
"type": "string"
},
"resourceId": {
"kind": "query",
"type": "integer"
},
"resourceName": {
"kind": "query",
"type": "string"
},
"serviceTemplateId": {
"kind": "query",
"type": "integer"
},
"serviceTemplateName": {
"kind": "query",
"type": "string"
},
"published": {
"kind": "query",
"type": "boolean"
},
"mpn": {
"kind": "query",
"type": "string"
},
"sortBy": {
"kind": "query",
"type": "string"
},
"sortType": {
"kind": "query",
"type": "string"
},
"segmentId": {
"kind": "query",
"type": "integer"
},
"extendWith": {
"kind": "query",
"type": "array"
}
}
},
"historyPrices": {
"path": "management/plans/history",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"request": {
"kind": "body",
"type": "PricePointHistoryRequest"
}
}
},
"serviceTemplates": {
"path": "management/serviceTemplates",
"verb": "GET",
"response": {
"type": "array",
"items": {
"type": "ServiceTemplateInfo"
}
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
}
},
"getPricingGroups": {
"path": "pricing-groups",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"searchText": {
"kind": "query",
"type": "string"
},
"type": {
"kind": "query",
"type": "array"
},
"status": {
"kind": "query",
"type": "PricingGroupStatus"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"getPricingGroupHeader": {
"path": "pricing-groups/{groupId}",
"verb": "GET",
"response": {
"type": "PricingGroupInfo"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"groupId": {
"kind": "path",
"type": "integer"
}
}
},
"createPricingGroup": {
"path": "pricing-groups",
"verb": "POST",
"response": {
"type": "PricingGroupResponse"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"pricingGroupRequest": {
"kind": "body",
"type": "PricingGroupRequest"
}
}
},
"syncSystemPricingGroups": {
"path": "pricing-groups/sync",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"systemPricingGroupsRequest": {
"kind": "body",
"type": "SystemPricingGroupsRequest"
}
}
},
"updatePricingGroup": {
"path": "pricing-groups/{groupId}",
"verb": "PUT",
"response": {
"type": "PricingGroupResponse"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"groupId": {
"kind": "path",
"type": "integer"
},
"pricingGroupRequest": {
"kind": "body",
"type": "PricingGroupRequest"
}
}
},
"deletePricingGroup": {
"path": "pricing-groups/{groupId}",
"verb": "DELETE",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"groupId": {
"kind": "path",
"type": "integer"
}
}
},
"getServiceTemplates": {
"path": "pricing-groups/serviceTemplates",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"searchText": {
"kind": "query",
"type": "string"
},
"available": {
"kind": "query",
"type": "boolean"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"getAllServiceTemplateOrGroupResources": {
"path": "pricing-groups/content",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"serviceTemplateId": {
"kind": "query",
"type": "integer"
},
"groupId": {
"kind": "query",
"type": "integer"
},
"searchText": {
"kind": "query",
"type": "string"
},
"vendorName": {
"kind": "query",
"type": "string"
},
"available": {
"kind": "query",
"type": "boolean"
},
"status": {
"kind": "query",
"type": "PricingGroupContentStatus"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"changePricingGroupContent": {
"path": "pricing-groups/content",
"verb": "POST",
"response": {
"type": "PricingGroupResponse"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"pricingGroupContentRequest": {
"kind": "body",
"type": "PricingGroupContentRequest"
}
}
},
"updateSystemPricingGroup": {
"path": "pricing-groups/sync-group-settings",
"verb": "PUT",
"response": {
"type": "SystemPricingGroupStatusResponse"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"request": {
"kind": "body",
"type": "SystemPricingGroupStatusRequest"
}
}
},
"getSystemPricingGroup": {
"path": "pricing-groups/sync-group-settings",
"verb": "GET",
"response": {
"type": "SystemPricingGroupStatusResponse"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"accountId": {
"kind": "query",
"type": "integer"
}
}
},
"getPriceBooks": {
"path": "price-books",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"searchText": {
"kind": "query",
"type": "string"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"getPriceBookById": {
"path": "price-books/{priceBookId}",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
}
}
},
"priceBookApply": {
"path": "price-books/{priceBookId}/apply",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"applyRequest": {
"kind": "body",
"type": "ApplyRequest"
}
}
},
"getPriceBookAvailableAccounts": {
"path": "price-books/{priceBookId}/available-accounts",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"searchText": {
"kind": "query",
"type": "string"
},
"status": {
"kind": "query",
"type": "AccountStatus"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"createPriceBook": {
"path": "price-books",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookRequest": {
"kind": "body",
"type": "PriceBookRequest"
}
}
},
"clonePriceBook": {
"path": "price-books/{priceBookId}/clone",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"priceBookRequest": {
"kind": "body",
"type": "PriceBookRequest"
}
}
},
"updatePriceBook": {
"path": "price-books/{priceBookId}",
"verb": "PUT",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"priceBookRequest": {
"kind": "body",
"type": "PriceBookRequest"
}
}
},
"deletePriceBook": {
"path": "price-books/{priceBookId}",
"verb": "DELETE",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
}
}
},
"getPriceBookContent": {
"path": "price-books/{priceBookId}/content",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "string"
}
}
},
"updatePriceBookContent": {
"path": "price-books/{priceBookId}/content",
"verb": "PUT",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"request": {
"kind": "body",
"type": "ContentRequest"
}
}
},
"getPriceBookContentAssignments": {
"path": "price-books/{priceBookId}/assignments",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "string"
}
}
},
"updatePriceBookAssignments": {
"path": "price-books/{priceBookId}/assignments",
"verb": "PUT",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"request": {
"kind": "body",
"type": "AssignmentsRequest"
}
}
},
"getPriceBookAvailableSegments": {
"path": "price-books/{priceBookId}/available-segments",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"searchText": {
"kind": "query",
"type": "string"
},
"type": {
"kind": "query",
"type": "PricingSegmentType"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"getPriceBookSegment": {
"path": "price-books/{priceBookId}/segment",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
}
}
},
"assignSegmentToPriceBook": {
"path": "price-books/{priceBookId}/segment",
"verb": "PUT",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"priceBookId": {
"kind": "path",
"type": "integer"
},
"request": {
"kind": "body",
"type": "PriceBookSegmentRequest"
}
}
},
"getPricingSegments": {
"path": "pricing-segments",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"searchText": {
"kind": "query",
"type": "string"
},
"type": {
"kind": "query",
"type": "PricingSegmentType"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"getPricingSegment": {
"path": "pricing-segments/{segmentId}",
"verb": "GET",
"response": {
"type": "PricingSegmentInfo"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
}
}
},
"createPricingSegment": {
"path": "pricing-segments",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"pricingSegmentRequest": {
"kind": "body",
"type": "PricingSegmentRequest"
}
}
},
"updatePricingSegment": {
"path": "pricing-segments/{segmentId}",
"verb": "PUT",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
},
"pricingSegmentRequest": {
"kind": "body",
"type": "PricingSegmentUpdateRequest"
}
}
},
"deletePricingSegment": {
"path": "pricing-segments/{segmentId}",
"verb": "DELETE",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
}
}
},
"updatePricingSegmentPriority": {
"path": "pricing-segments/{segmentId}/priority",
"verb": "PUT",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
},
"priorityRequest": {
"kind": "body",
"type": "PricingSegmentPriorityRequest"
}
}
},
"getPricingSegmentContent": {
"path": "pricing-segments/{segmentId}/content",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
},
"searchText": {
"kind": "query",
"type": "string"
},
"type": {
"kind": "query",
"type": "ContentAccountType"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"updatePricingSegmentContent": {
"path": "pricing-segments/{segmentId}/content",
"verb": "PUT",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
},
"contentRequest": {
"kind": "body",
"type": "PricingSegmentContentRequest"
}
}
},
"deletePricingSegmentContent": {
"path": "pricing-segments/{segmentId}/content-remove",
"verb": "POST",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
},
"contentRequest": {
"kind": "body",
"type": "PricingSegmentContentDeleteRequest"
}
}
},
"getAvailableAccountsForSegment": {
"path": "pricing-segments/{segmentId}/available-accounts",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
},
"searchText": {
"kind": "query",
"type": "string"
},
"type": {
"kind": "query",
"type": "ContentAccountType"
},
"parentAccountId": {
"kind": "query",
"type": "integer"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"getAvailableCustomerClassesForSegment": {
"path": "pricing-segments/{segmentId}/available-classes",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
},
"searchText": {
"kind": "query",
"type": "string"
},
"parentAccountId": {
"kind": "query",
"type": "integer"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
},
"getAppliedPriceBooks": {
"path": "pricing-segments/{segmentId}/price-books",
"verb": "GET",
"response": {
"type": "object"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false
},
"parameters": {
"id": {
"kind": "path",
"type": "string"
},
"segmentId": {
"kind": "path",
"type": "integer"
},
"offset": {
"kind": "query",
"type": "integer"
},
"limit": {
"kind": "query",
"type": "integer"
},
"sort": {
"kind": "query",
"type": "array"
}
}
}
},
"structures": {
"UiState": {
"type": "object"
},
"PriceManagerMode": {
"type": "object"
},
"PricesRequest": {
"type": "object"
},
"ImportUploadResult": {
"type": "object"
},
"ImportUploadInfo": {
"type": "object"
},
"ImportDiffResult": {
"type": "object"
},
"ImportDiffInfo": {
"type": "object"
},
"ImportSaveInfo": {
"type": "object"
},
"TransferOwnershipRequest": {
"type": "object"
},
"NotificationData": {
"type": "object"
},
"AddPricesRequest": {
"type": "object"
},
"ManagementExtension": {
"type": "object"
},
"PricePointHistoryRequest": {
"type": "object"
},
"ServiceTemplateInfo": {
"type": "object"
},
"PricingGroupType": {
"type": "object"
},
"PricingGroupStatus": {
"type": "object"
},
"PricingGroupInfo": {
"type": "object"
},
"PricingGroupResponse": {
"type": "object"
},
"PricingGroupRequest": {
"type": "object"
},
"SystemPricingGroupsRequest": {
"type": "object"
},
"PricingGroupContentStatus": {
"type": "object"
},
"PricingGroupContentRequest": {
"type": "object"
},
"SystemPricingGroupStatusResponse": {
"type": "object"
},
"SystemPricingGroupStatusRequest": {
"type": "object"
},
"ApplyRequest": {
"type": "object"
},
"AccountStatus": {
"type": "object"
},
"PriceBookRequest": {
"type": "object"
},
"ContentRequest": {
"type": "object"
},
"AssignmentsRequest": {
"type": "object"
},
"PricingSegmentType": {
"type": "object"
},
"PriceBookSegmentRequest": {
"type": "object"
},
"PricingSegmentInfo": {
"type": "object"
},
"PricingSegmentRequest": {
"type": "object"
},
"PricingSegmentUpdateRequest": {
"type": "object"
},
"PricingSegmentPriorityRequest": {
"type": "object"
},
"ContentAccountType": {
"type": "object"
},
"PricingSegmentContentRequest": {
"type": "object"
},
"PricingSegmentContentDeleteRequest": {
"type": "object"
}
}
}
The APS type is used to manage a collection of APS resources. To get a list of resources from that collection, use the following API call:
GET /aps/2/collections/applications?<RQL-filter>
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
|---|---|---|---|---|
uiState |
Enum |
Not Required |
disabled |
OPERATION |
VERB |
PATH |
RETURNS |
Description |
|---|---|---|---|---|
GET |
/products |
Deprecated. Retained for backward compatibility only; do not use in new integrations. |
||
POST |
/api/prices |
Prices grouped per requested plan |
Returns prices for the requested plans and accounts. Resolves prices according to plan ownership, applicable pricing segments, and any applied price book. |
|
GET |
/api/mode |
Mode identifier (prod or proxy) |
Returns the current PriceManager runtime mode. |
|
PUT |
/api/mode |
Sets the PriceManager runtime mode. |
||
POST |
/import/{vendorId} |
Deprecated. Replaced by POST /management/import/upload. |
||
POST |
/management/import/upload |
Wizard id, parsed row counts, and any validation messages |
Uploads an XLSX price file as the first step of the import wizard. Validates the file format and parses its contents; subsequent calls to /management/import/diff and /management/import/save. |
|
POST |
/parse/{dataId} |
Deprecated. Retained for backward compatibility only; do not use in new integrations. |
||
POST |
/prepare-proposals/{dataId} |
Deprecated. Retained for backward compatibility only; do not use in new integrations. |
||
POST |
/management/import/diff |
Per-product price changes and any products missing from the catalog |
Generates price differences between an uploaded XLSX file and the currently effective prices. |
|
GET |
/product-diffs/{dataId} |
Deprecated. Replaced by POST /management/import/diff. |
||
GET |
/vendors |
Deprecated. Retained for backward compatibility only; do not use in new integrations. |
||
POST |
/set-prices/{dataId} |
Deprecated. Replaced by POST /management/import/save. |
||
POST |
/management/import/save |
Empty 200 OK on success |
Persists the imported prices computed by the previous diff step. |
|
GET |
/export/products-xlsx |
Deprecated. Replaced by GET /management/export. |
||
GET |
/management/export |
Base64-encoded XLSX file in the data field of ExportResponse |
Exports the currently effective prices for the caller’s account hierarchy as an XLSX file, optionally scoped to a service template, effective date, or pricing segment. |
|
POST |
/migrate |
200 OK when migration is complete; 202 Accepted while in progress; 403 if a migration is already in progress or completed |
Migrates legacy price records into the modern PriceManager schema in batches. Runs as an asynchronous APS task: the initial call returns 202 Accepted with a retry directive while batches remain, then 200 OK once complete. Restart is rejected with 403 if a migration is already in progress or has already completed. |
|
POST |
/management/transfer-ownership/{planId} |
Empty 200 OK on success |
Transfers ownership of all prices on a single plan. This means that all prices on the calling account level will be disabled for such plan. |
|
POST |
/management/transfer-ownership |
Empty 200 OK on success |
Transfers ownership of all prices on a list of plans. All current level prices for requested plans will be disabled. |
|
POST |
/write-notifications |
202 Accepted on initial dispatch; 200 OK once the batch is queued |
Schedules generation of price-change notifications for the supplied plans. Runs as an asynchronous APS task: the initial call returns 202 Accepted, then 200 OK once the notification batch is queued. |
|
POST |
/management/plans/add-prices |
Empty 200 OK on success |
Adds new prices for one or more plans in a single JSON call – the programmatic alternative to the XLSX import wizard. Each plan entry carries the plan id, an optional pricing segment, an effective date, a subscription period, and per-fee-type price values (wholesale, retail, vendor, purchase). |
|
GET |
/management/plans |
Plans with their effective prices and pagination metadata |
Lists plans with their currently effective prices for the management UI. |
|
POST |
/management/plans/history |
Ordered history entries with effective-from dates and the change source |
Returns the chronological history of price changes for a price point. |
|
GET |
/management/serviceTemplates |
Service templates with id and name |
Returns BSS service templates visible to the calling account, used by the management UI to scope pricing-group and price-book operations. |
|
GET |
/pricing-groups |
Paginated and filtered pricing groups |
Lists pricing groups visible to the calling account, with filtering and pagination. |
|
GET |
/pricing-groups/{groupId} |
Selected pricing group information |
Returns the information of selected pricing group. |
|
POST |
/pricing-groups |
Created pricing group with assigned id and metadata |
Creates a pricing group. |
|
POST |
/pricing-groups/sync |
202 Accepted on initial dispatch; 200 OK once synchronisation completes |
Synchronises system-managed pricing groups: creates, updates, or removes them to match the supplied request. Used by upstream catalog tooling; not for partner use. Runs as an asynchronous APS task – the initial call returns 202 Accepted with a synchronisation-started info header, then 200 OK with a completion message once the sync finishes. |
|
PUT |
/pricing-groups/{groupId} |
Updated pricing group |
Updates an existing pricing group’s name or description. |
|
DELETE |
/pricing-groups/{groupId} |
204 No Content on success |
Deletes a pricing group. |
|
GET |
/pricing-groups/serviceTemplates |
Paginated and filtered service templates |
Lists BSS service templates available to the calling account when creating or editing pricing groups. |
|
GET |
/pricing-groups/content |
Paginated and filtered resources |
Lists resources (products) of a service template or pricing group, with filtering and pagination. Supply serviceTemplateId or groupId (one of them) to scope the listing. |
|
POST |
/pricing-groups/content |
Updated pricing group |
Initializes or changes the content of a pricing group. INIT sets the pricing-group type, service template, and initial set of resources; CHANGE adds or removes resources on an already-initialized group. |
|
PUT |
/pricing-groups/sync-group-settings |
Updated enablement status |
Updates the system-managed pricing group enablement status for a tenant. Tenants must omit accountId in the body (the caller’s account is used; supplying it returns an error). Providers may set accountId explicitly to update another tenant, or leave it unset to update their own account. |
|
GET |
/pricing-groups/sync-group-settings |
Current enablement status |
Returns the system-managed pricing group enablement status for a tenant. Returns DISABLED when no setting exists for the account. Tenants must omit accountId – the caller’s account is used; supplying it as a non-provider returns an error. Providers may set accountId explicitly to query another tenant. |
|
GET |
/price-books |
Paginated and filtered price books |
Lists price books visible to the calling account. |
|
GET |
/price-books/{priceBookId} |
Price book details |
Returns the full details of a single price book (id, name, description, type, formulas). |
|
POST |
/price-books/{priceBookId}/apply |
202 Accepted on initial dispatch; 200 OK once recalculation completes; 500 on failure |
Calculates and applies the price book’s formulas to its currently assigned accounts at the given effective date. Runs as an asynchronous APS task – the initial call returns 202 Accepted with a “recalculation started” info header, then 200 OK once the calculation completes (or 500 on failure). |
|
GET |
/price-books/{priceBookId}/available-accounts |
Paginated accounts; total count returned in Content-Range response header |
Lists accounts that can be assigned to the given price book. |
|
POST |
/price-books |
201 Created with the new price book in the body |
Creates a new price book. |
|
POST |
/price-books/{priceBookId}/clone |
201 Created with the cloned price book info |
Creates a new price book by cloning an existing one. The clone copies content and formulas but starts with no account assignments. |
|
PUT |
/price-books/{priceBookId} |
200 if updated; 404 if no price book with the given id exists |
Updates an existing price book’s name or description. |
|
DELETE |
/price-books/{priceBookId} |
204 if deleted; 404 if no price book with the given id exists |
Deletes a price book. Fails if any account assignments still exist. |
|
GET |
/price-books/{priceBookId}/content |
Price book content |
Returns the content of a price book – the pricing groups it contains and the formulas applied to each group. |
|
PUT |
/price-books/{priceBookId}/content |
200 if updated; 400 on validation errors; 404 if no price book with the given id exists |
Updates the content of a price book – pricing groups and their formulas. Request represents the desired state of a content. |
|
GET |
/price-books/{priceBookId}/assignments |
List of assigned accounts |
Returns the account assignments of a price book. |
|
PUT |
/price-books/{priceBookId}/assignments |
200 if updated; 404 if no price book with the given id exists |
Replaces the account assignments of a price book. Request represents the desired state of assignments. |
|
GET |
/price-books/{priceBookId}/available-segments |
Paginated segments; total count returned in Content-Range response header |
Lists pricing segments the caller can assign to the given price book – segments the caller owns or inherits. Only the price book owner can call this. |
|
GET |
/price-books/{priceBookId}/segment |
Assigned segment information, or null when none is assigned |
Returns the pricing segment assigned to a price book, or null if no segment is assigned. |
|
PUT |
/price-books/{priceBookId}/segment |
200 if updated; 404 if no price book with the given id exists |
Assigns a pricing segment to a price book, or removes the assignment when segmentId is null. Only the price book owner can call this; the supplied segment must be available to the caller (owned or inherited). |
|
GET |
/pricing-segments |
Paginated and filtered pricing segments |
Lists pricing segments visible to the calling account. |
|
GET |
/pricing-segments/{segmentId} |
Pricing segment information |
Returns selected pricing segment information (id, name, type, priority, owner). |
|
POST |
/pricing-segments |
201 Created with the new pricing segment in the body |
Creates a new pricing segment. |
|
PUT |
/pricing-segments/{segmentId} |
200 if updated; 404 if no pricing segment with the given id exists |
Updates an existing pricing segment’s name or description. |
|
DELETE |
/pricing-segments/{segmentId} |
204 on success |
Deletes a pricing segment. Fails if the segment has any prices, memberships, or is linked to a custom price book. |
|
PUT |
/pricing-segments/{segmentId}/priority |
200 if updated; 404 if no pricing segment with the given id exists |
Updates the priority of an existing pricing segment. |
|
GET |
/pricing-segments/{segmentId}/content |
Paginated and filtered segment content |
Returns the content (assigned accounts and customer classes) of a pricing segment. |
|
PUT |
/pricing-segments/{segmentId}/content |
200 if updated; 404 if no pricing segment with the given id exists |
Adds content (accounts or customer classes) to a pricing segment. Only adds – to remove existing content use deletePricingSegmentContent. Passing an empty list is a no-op. |
|
POST |
/pricing-segments/{segmentId}/content-remove |
204 if removed; 404 if no pricing segment with the given id exists |
Removes specified content from a pricing segment. Skips parent-validation, so inconsistent content can be cleaned up. |
|
GET |
/pricing-segments/{segmentId}/available-accounts |
Paginated accounts; total count returned in Content-Range response header |
Lists accounts that can be added to a pricing segment as direct children of a given parent account. Defaults to the caller’s account as the parent when parentAccountId is omitted. |
|
GET |
/pricing-segments/{segmentId}/available-classes |
Paginated customer classes; total count returned in Content-Range response header |
Lists customer classes that can be added to a pricing segment. Returns classes owned by a given parent account; defaults to the caller’s account when parentAccountId is omitted. |
|
GET |
/pricing-segments/{segmentId}/price-books |
Paginated price books with their statuses; total count returned in Content-Range response header |
Lists price books that have the given pricing segment applied. |
HTTP Request
GET /aps/2/resources/{aps-id}/products
Description
Deprecated. Retained for backward compatibility only; do not use in new integrations.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/api/prices
Description
Returns prices for the requested plans and accounts. Resolves prices according to plan ownership, applicable pricing segments, and any applied price book.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
mode |
Optional override of the runtime mode for this call (prod or proxy); defaults to the platform setting |
|
request |
Plans, customer and reseller account ids, sales/transfer type, effective date |
Returns
Prices grouped per requested plan
HTTP Request
GET /aps/2/resources/{aps-id}/api/mode
Description
Returns the current PriceManager runtime mode.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
Returns
Mode identifier (prod or proxy)
HTTP Request
PUT /aps/2/resources/{aps-id}/api/mode
Description
Sets the PriceManager runtime mode.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
mode |
String |
Mode identifier (prod or proxy) |
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/import/{vendorId}
Description
Deprecated. Replaced by POST /management/import/upload.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
vendorId |
String |
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/management/import/upload
Description
Uploads an XLSX price file as the first step of the import wizard. Validates the file format and parses its contents; subsequent calls to /management/import/diff and /management/import/save.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceFileInfo |
File content, validation mode, and import scope |
Returns
Wizard id, parsed row counts, and any validation messages
HTTP Request
POST /aps/2/resources/{aps-id}/parse/{dataId}
Description
Deprecated. Retained for backward compatibility only; do not use in new integrations.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
dataId |
String |
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/prepare-proposals/{dataId}
Description
Deprecated. Retained for backward compatibility only; do not use in new integrations.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
dataId |
String |
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/management/import/diff
Description
Generates price differences between an uploaded XLSX file and the currently effective prices.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
diffsInfo |
Wizard id and diff scope |
Returns
Per-product price changes and any products missing from the catalog
HTTP Request
GET /aps/2/resources/{aps-id}/product-diffs/{dataId}
Description
Deprecated. Replaced by POST /management/import/diff.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
dataId |
String |
Returns
HTTP Request
GET /aps/2/resources/{aps-id}/vendors
Description
Deprecated. Retained for backward compatibility only; do not use in new integrations.
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/set-prices/{dataId}
Description
Deprecated. Replaced by POST /management/import/save.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
dataId |
String |
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/management/import/save
Description
Persists the imported prices computed by the previous diff step.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
saveInfo |
Wizard id of the upload to save |
Returns
Empty 200 OK on success
HTTP Request
GET /aps/2/resources/{aps-id}/export/products-xlsx
Description
Deprecated. Replaced by GET /management/export.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
Returns
HTTP Request
GET /aps/2/resources/{aps-id}/management/export
Description
Exports the currently effective prices for the caller’s account hierarchy as an XLSX file, optionally scoped to a service template, effective date, or pricing segment.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
serviceTemplateId |
Integer |
Service template id to scope the export to |
effectiveDate |
String |
Effective date in yyyy-MM-dd; defaults to now when omitted |
segmentId |
Integer |
Pricing segment id to scope the export to |
Returns
Base64-encoded XLSX file in the data field of ExportResponse
HTTP Request
POST /aps/2/resources/{aps-id}/migrate
Description
Migrates legacy price records into the modern PriceManager schema in batches. Runs as an asynchronous APS task: the initial call returns 202 Accepted with a retry directive while batches remain, then 200 OK once complete. Restart is rejected with 403 if a migration is already in progress or has already completed.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
batchSize |
Integer |
Records per database batch (default 5000) |
batchAmount |
Integer |
Number of batches per call (default 10) |
microBatchAmount |
Integer |
Number of micro-batches per batch (default 1) |
Returns
200 OK when migration is complete; 202 Accepted while in progress; 403 if a migration is already in progress or completed
HTTP Request
POST /aps/2/resources/{aps-id}/management/transfer-ownership/{planId}
Description
Transfers ownership of all prices on a single plan. This means that all prices on the calling account level will be disabled for such plan.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
planId |
Integer |
Plan id whose prices are transferred |
Returns
Empty 200 OK on success
HTTP Request
POST /aps/2/resources/{aps-id}/management/transfer-ownership
Description
Transfers ownership of all prices on a list of plans. All current level prices for requested plans will be disabled.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
request |
Plan ids whose prices are transferred |
Returns
Empty 200 OK on success
HTTP Request
POST /aps/2/resources/{aps-id}/write-notifications
Description
Schedules generation of price-change notifications for the supplied plans. Runs as an asynchronous APS task: the initial call returns 202 Accepted, then 200 OK once the notification batch is queued.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
batchSize |
Integer |
Plans to retrieve per batch (default 500) |
notificationData |
Per-plan effective dates to notify on |
Returns
202 Accepted on initial dispatch; 200 OK once the batch is queued
HTTP Request
POST /aps/2/resources/{aps-id}/management/plans/add-prices
Description
Adds new prices for one or more plans in a single JSON call – the programmatic alternative to the XLSX import wizard. Each plan entry carries the plan id, an optional pricing segment, an effective date, a subscription period, and per-fee-type price values (wholesale, retail, vendor, purchase).
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
request |
Plans with their periods, segments, effective dates, and per-fee prices |
Returns
Empty 200 OK on success
HTTP Request
GET /aps/2/resources/{aps-id}/management/plans
Description
Lists plans with their currently effective prices for the management UI.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
limit |
Integer |
Max plans to return per page (default 5) |
offset |
Integer |
Pagination offset (default 0) |
effectiveDate |
String |
Effective date in UTC ISO-8601; defaults to now if omitted |
planId |
Integer |
Plan id filter |
planName |
String |
Plan name filter |
resourceId |
Integer |
Resource id filter |
resourceName |
String |
Resource name filter |
serviceTemplateId |
Integer |
Service template id filter |
serviceTemplateName |
String |
Service template name filter |
published |
Boolean |
If true, return only published plans; if false, only unpublished |
mpn |
String |
Manufacturer part number filter |
sortBy |
String |
Sort field (default planId) |
sortType |
String |
Sort direction (ascending or descending) |
segmentId |
Integer |
Pricing segment id; resolves prices in the context of that segment when provided |
extendWith |
Array |
Optional response extensions (purchase prices etc.) |
Returns
Plans with their effective prices and pagination metadata
HTTP Request
POST /aps/2/resources/{aps-id}/management/plans/history
Description
Returns the chronological history of price changes for a price point.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
request |
Plan, resource, fee type, and subscription period identifying the price point |
Returns
Ordered history entries with effective-from dates and the change source
HTTP Request
GET /aps/2/resources/{aps-id}/management/serviceTemplates
Description
Returns BSS service templates visible to the calling account, used by the management UI to scope pricing-group and price-book operations.
Returns
Service templates with id and name
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-groups
Description
Lists pricing groups visible to the calling account, with filtering and pagination.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
searchText |
String |
Pricing group name or id |
type |
Array |
Pricing group type filter (multi-valued; repeat the parameter to combine) |
status |
Pricing group status filter |
|
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 20) |
sort |
Array |
Sort fields |
Returns
Paginated and filtered pricing groups
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-groups/{groupId}
Description
Returns the information of selected pricing group.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
groupId |
Integer |
Pricing group id |
Returns
Selected pricing group information
HTTP Request
POST /aps/2/resources/{aps-id}/pricing-groups
Description
Creates a pricing group.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
pricingGroupRequest |
Name and description of the new pricing group |
Returns
Created pricing group with assigned id and metadata
HTTP Request
POST /aps/2/resources/{aps-id}/pricing-groups/sync
Description
Synchronises system-managed pricing groups: creates, updates, or removes them to match the supplied request. Used by upstream catalog tooling; not for partner use. Runs as an asynchronous APS task – the initial call returns 202 Accepted with a synchronisation-started info header, then 200 OK with a completion message once the sync finishes.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
systemPricingGroupsRequest |
Snapshot of system-managed pricing groups to sync to |
Returns
202 Accepted on initial dispatch; 200 OK once synchronisation completes
HTTP Request
PUT /aps/2/resources/{aps-id}/pricing-groups/{groupId}
Description
Updates an existing pricing group’s name or description.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
groupId |
Integer |
Pricing group id |
pricingGroupRequest |
Updated name and description |
Returns
Updated pricing group
HTTP Request
DELETE /aps/2/resources/{aps-id}/pricing-groups/{groupId}
Description
Deletes a pricing group.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
groupId |
Integer |
Pricing group id |
Returns
204 No Content on success
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-groups/serviceTemplates
Description
Lists BSS service templates available to the calling account when creating or editing pricing groups.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
searchText |
String |
Service template id or name |
available |
Boolean |
If true, return only templates not yet used by an existing pricing group |
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 20) |
sort |
Array |
Sort fields |
Returns
Paginated and filtered service templates
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-groups/content
Description
Lists resources (products) of a service template or pricing group, with filtering and pagination. Supply serviceTemplateId or groupId (one of them) to scope the listing.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
serviceTemplateId |
Integer |
Service template id (mutually exclusive with groupId) |
groupId |
Integer |
Pricing group id (mutually exclusive with serviceTemplateId) |
searchText |
String |
Resource name or MPN |
vendorName |
String |
Vendor name |
available |
Boolean |
If true, return only resources not yet attached to any pricing group |
status |
Resource status filter |
|
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 20) |
sort |
Array |
Sort fields |
Returns
Paginated and filtered resources
HTTP Request
POST /aps/2/resources/{aps-id}/pricing-groups/content
Description
Initializes or changes the content of a pricing group. INIT sets the pricing-group type, service template, and initial set of resources; CHANGE adds or removes resources on an already-initialized group.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
pricingGroupContentRequest |
Action, type, service template id, group id, and resource ids to add or remove |
Returns
Updated pricing group
HTTP Request
PUT /aps/2/resources/{aps-id}/pricing-groups/sync-group-settings
Description
Updates the system-managed pricing group enablement status for a tenant. Tenants must omit accountId in the body (the caller’s account is used; supplying it returns an error). Providers may set accountId explicitly to update another tenant, or leave it unset to update their own account.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
request |
New enablement status (and optional accountId for providers) |
Returns
Updated enablement status
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-groups/sync-group-settings
Description
Returns the system-managed pricing group enablement status for a tenant. Returns DISABLED when no setting exists for the account. Tenants must omit accountId – the caller’s account is used; supplying it as a non-provider returns an error. Providers may set accountId explicitly to query another tenant.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
accountId |
Integer |
Target tenant account id (provider-only); leave unset to query the caller’s own account |
Returns
Current enablement status
HTTP Request
GET /aps/2/resources/{aps-id}/price-books
Description
Lists price books visible to the calling account.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
searchText |
String |
Price book name or id filter |
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 20) |
sort |
Array |
Sort fields |
Returns
Paginated and filtered price books
HTTP Request
GET /aps/2/resources/{aps-id}/price-books/{priceBookId}
Description
Returns the full details of a single price book (id, name, description, type, formulas).
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book id |
Returns
Price book details
HTTP Request
POST /aps/2/resources/{aps-id}/price-books/{priceBookId}/apply
Description
Calculates and applies the price book’s formulas to its currently assigned accounts at the given effective date. Runs as an asynchronous APS task – the initial call returns 202 Accepted with a “recalculation started” info header, then 200 OK once the calculation completes (or 500 on failure).
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book to apply |
applyRequest |
Effective date in yyyy-MM-dd; defaults to now when omitted |
Returns
202 Accepted on initial dispatch; 200 OK once recalculation completes; 500 on failure
HTTP Request
GET /aps/2/resources/{aps-id}/price-books/{priceBookId}/available-accounts
Description
Lists accounts that can be assigned to the given price book.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book whose available accounts are listed |
searchText |
String |
Account id or name filter |
status |
Account status filter |
|
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 10) |
sort |
Array |
Sort fields |
Returns
Paginated accounts; total count returned in Content-Range response header
HTTP Request
POST /aps/2/resources/{aps-id}/price-books
Description
Creates a new price book.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookRequest |
Name, description, and type of the new price book |
Returns
201 Created with the new price book in the body
HTTP Request
POST /aps/2/resources/{aps-id}/price-books/{priceBookId}/clone
Description
Creates a new price book by cloning an existing one. The clone copies content and formulas but starts with no account assignments.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Source price book to clone |
priceBookRequest |
Name, description, and type for the cloned book |
Returns
201 Created with the cloned price book info
HTTP Request
PUT /aps/2/resources/{aps-id}/price-books/{priceBookId}
Description
Updates an existing price book’s name or description.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book to update |
priceBookRequest |
Updated name and description |
Returns
200 if updated; 404 if no price book with the given id exists
HTTP Request
DELETE /aps/2/resources/{aps-id}/price-books/{priceBookId}
Description
Deletes a price book. Fails if any account assignments still exist.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book to delete |
Returns
204 if deleted; 404 if no price book with the given id exists
HTTP Request
GET /aps/2/resources/{aps-id}/price-books/{priceBookId}/content
Description
Returns the content of a price book – the pricing groups it contains and the formulas applied to each group.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book to fetch |
sort |
String |
Sort order for pricing groups by name (asc or desc; default asc) |
Returns
Price book content
HTTP Request
PUT /aps/2/resources/{aps-id}/price-books/{priceBookId}/content
Description
Updates the content of a price book – pricing groups and their formulas. Request represents the desired state of a content.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book, which content requires update |
request |
Pricing groups and formulas to set |
Returns
200 if updated; 400 on validation errors; 404 if no price book with the given id exists
HTTP Request
GET /aps/2/resources/{aps-id}/price-books/{priceBookId}/assignments
Description
Returns the account assignments of a price book.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book to fetch |
sort |
String |
Sort order (asc or desc; default asc) |
Returns
List of assigned accounts
HTTP Request
PUT /aps/2/resources/{aps-id}/price-books/{priceBookId}/assignments
Description
Replaces the account assignments of a price book. Request represents the desired state of assignments.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book to update |
request |
Accounts to set as assignments |
Returns
200 if updated; 404 if no price book with the given id exists
HTTP Request
GET /aps/2/resources/{aps-id}/price-books/{priceBookId}/available-segments
Description
Lists pricing segments the caller can assign to the given price book – segments the caller owns or inherits. Only the price book owner can call this.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Target price book |
searchText |
String |
Segment name filter |
type |
Pricing segment type filter |
|
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 10) |
sort |
Array |
Sort fields (id, name, or contentLastUpdateDate) |
Returns
Paginated segments; total count returned in Content-Range response header
HTTP Request
GET /aps/2/resources/{aps-id}/price-books/{priceBookId}/segment
Description
Returns the pricing segment assigned to a price book, or null if no segment is assigned.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Price book to fetch |
Returns
Assigned segment information, or null when none is assigned
HTTP Request
PUT /aps/2/resources/{aps-id}/price-books/{priceBookId}/segment
Description
Assigns a pricing segment to a price book, or removes the assignment when segmentId is null. Only the price book owner can call this; the supplied segment must be available to the caller (owned or inherited).
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
priceBookId |
Integer |
Target price book |
request |
Segment id to assign, or null to remove the assignment |
Returns
200 if updated; 404 if no price book with the given id exists
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-segments
Description
Lists pricing segments visible to the calling account.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
searchText |
String |
Segment name or id filter |
type |
Pricing segment type filter |
|
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 20) |
sort |
Array |
Sort fields |
Returns
Paginated and filtered pricing segments
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-segments/{segmentId}
Description
Returns selected pricing segment information (id, name, type, priority, owner).
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
segmentId |
Integer |
Pricing segment id |
Returns
Pricing segment information
HTTP Request
POST /aps/2/resources/{aps-id}/pricing-segments
Description
Creates a new pricing segment.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
pricingSegmentRequest |
Name, description and type of the new segment |
Returns
201 Created with the new pricing segment in the body
HTTP Request
PUT /aps/2/resources/{aps-id}/pricing-segments/{segmentId}
Description
Updates an existing pricing segment’s name or description.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
Pricing segment to update |
segmentId |
Integer |
|
pricingSegmentRequest |
Updated fields |
Returns
200 if updated; 404 if no pricing segment with the given id exists
HTTP Request
DELETE /aps/2/resources/{aps-id}/pricing-segments/{segmentId}
Description
Deletes a pricing segment. Fails if the segment has any prices, memberships, or is linked to a custom price book.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
segmentId |
Integer |
Pricing segment to delete |
Returns
204 on success
HTTP Request
PUT /aps/2/resources/{aps-id}/pricing-segments/{segmentId}/priority
Description
Updates the priority of an existing pricing segment.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
Pricing segment to update |
segmentId |
Integer |
|
priorityRequest |
New priority value |
Returns
200 if updated; 404 if no pricing segment with the given id exists
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-segments/{segmentId}/content
Description
Returns the content (assigned accounts and customer classes) of a pricing segment.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
segmentId |
Integer |
Pricing segment to fetch |
searchText |
String |
Account or customer-class id (numeric) or name filter |
type |
Account type filter (RESELLER or END_CUSTOMER) |
|
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 10) |
sort |
Array |
Sort fields |
Returns
Paginated and filtered segment content
HTTP Request
PUT /aps/2/resources/{aps-id}/pricing-segments/{segmentId}/content
Description
Adds content (accounts or customer classes) to a pricing segment. Only adds – to remove existing content use deletePricingSegmentContent. Passing an empty list is a no-op.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
segmentId |
Integer |
Pricing segment to update |
contentRequest |
Ids to add to the segment content |
Returns
200 if updated; 404 if no pricing segment with the given id exists
HTTP Request
POST /aps/2/resources/{aps-id}/pricing-segments/{segmentId}/content-remove
Description
Removes specified content from a pricing segment. Skips parent-validation, so inconsistent content can be cleaned up.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
segmentId |
Integer |
Pricing segment to update |
contentRequest |
Ids to remove from the segment content |
Returns
204 if removed; 404 if no pricing segment with the given id exists
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-segments/{segmentId}/available-accounts
Description
Lists accounts that can be added to a pricing segment as direct children of a given parent account. Defaults to the caller’s account as the parent when parentAccountId is omitted.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
segmentId |
Integer |
Pricing segment whose available accounts are listed |
searchText |
String |
Account id (numeric) or name filter |
type |
Account type filter (RESELLER or END_CUSTOMER) |
|
parentAccountId |
Integer |
Parent account whose direct children are returned; defaults to the caller’s account |
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 10) |
sort |
Array |
Sort fields (id or name) |
Returns
Paginated accounts; total count returned in Content-Range response header
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-segments/{segmentId}/available-classes
Description
Lists customer classes that can be added to a pricing segment. Returns classes owned by a given parent account; defaults to the caller’s account when parentAccountId is omitted.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
segmentId |
Integer |
Pricing segment whose available customer classes are listed |
searchText |
String |
Class id (numeric) or name filter |
parentAccountId |
Integer |
Parent account whose customer classes are returned; defaults to the caller’s account |
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 10) |
sort |
Array |
Sort fields (id or name) |
Returns
Paginated customer classes; total count returned in Content-Range response header
HTTP Request
GET /aps/2/resources/{aps-id}/pricing-segments/{segmentId}/price-books
Description
Lists price books that have the given pricing segment applied.
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
|---|---|---|
id |
String |
|
segmentId |
Integer |
Pricing segment whose price books are listed |
offset |
Integer |
Pagination offset |
limit |
Integer |
Max items per page (default 5) |
sort |
Array |
Sort fields (id, name, or contentLastUpdateDate) |
Returns
Paginated price books with their statuses; total count returned in Content-Range response header
Operating mode of the PriceManager UI and UI-driven flows. disabled: UI flows reject calls; non-UI write and read APIs remain available. enabled: UI flows allowed for operating-unit and reseller accounts under this hierarchy. global_enabled: UI flows allowed globally for all reseller hierarchies, not just this one.
Request body of the getPrices operation: plans, accounts, and effective date for which to resolve prices.
Result of the XLSX upload step of the import wizard. Carries the wizard id, parsed row counts, a flag indicating whether a pricing model is required, and any validation messages.
Payload of the import-upload step of the XLSX import wizard.
Result of the XLSX diff step of the import wizard. Carries the wizard id, the per-product price diffs, lists of unknown or duplicated products, and any validation messages.
Payload of the import-diff step of the XLSX import wizard.
Payload of the import-save step of the XLSX import wizard.
Request body of the bulk price-ownership transfer operation: Plan ids whose rates should be disabled.
Payload of the write-notifications operation: plan ids paired with the effective dates of the price changes to notify on.
Top-level payload of the JSON add-prices operation: a list of plans, each with their periods, segments, effective dates, and per-fee price values.
Request body of the price-history operation: identifies the price point whose history is returned. A null resourceId targets a plan-level price point; a non-null resourceId targets a resource-level price point.
BSS service template summary used to scope pricing-group and price-book operations.
Pricing group header and summary information returned by the pricing-groups list and get-by-id operations.
Pricing group summary returned by create/update and change-content pricing-group operations.
Create/update payload for a pricing group.
Resource items passed to the system-managed pricing-group synchronization operation.
Payload for the change-pricing-group-content operation: initializes a pricing group (INIT) or updates its resource set (CHANGE).
Current system-managed pricing-group enablement status for a tenant account. Returns DISABLED when no setting exists for the account.
Update payload for system-managed pricing-group enablement settings on a tenant account. Tenants must omit accountId (the caller’s account is used; supplying it returns an error). Providers may set accountId explicitly to target another tenant, or leave it unset.
Payload of the price-book apply operation.
Create/update/clone payload for a price book.
Update payload for the content of a price book – pricing groups it covers and the formulas applied to each.
Update payload for the account assignments of a price book – the full list of accounts the price book applies to.
Payload of the assign-segment-to-price-book operation. A null segmentId removes the existing assignment.
Represents the general information of a pricing segment for the main UI screen displaying the list of pricing segments or details of a specific pricing segment.
Create payload for a pricing segment.
Update payload for an existing pricing segment’s name and description.
Update payload for a pricing segment’s priority.
Add-content payload for a pricing segment. Only adds new entries – to remove existing content, use PricingSegmentContentDeleteRequest.
Remove-content payload for a pricing segment.
In this section:
A Diff structure is an auxiliary structure that contains an item such as a resource, service template, service plan,
a resource dependency, and so on that must be created or updated in the current plan configuration of a product line.
The value property of a Diff structure contains an item to be created or updated.
The other fields of a Diff structure define which action must be performed in the current plan configuration.
This Diff structure is used to update an existing item:
{
"value": {
...
},
"action": "EDIT",
"edit": true,
"add": false
}
This Diff structure is used to create an item:
{
"value": {
...
},
"action": "ADD",
"edit": false,
"add": true
}
You can update the current plan configuration of a product line by using any of the following approaches:
Approach 1
Prepare an Excel file with the target plan configuration. When preparing that Excel file, you must use the format provided at https://docs.cloudblue.com/cbc/21.0/Product-Lifecycle-Management/File-Requirements.htm.
Call the
parseConfigcustom operation of the PLM component’s APS application and pass that Excel file in the Base64 format. As a result, you receive aConfigurationInfoJSON object.Call the
applyConfigcustom operation of the PLM component’s APS application and pass thatConfigurationInfoJSON object. As a result, the current plan configuration is transformed into the target plan configuration.
Approach 2
Prepare a
ConfigurationInfoJSON object with the target plan configuration.Call the
applyConfigcustom operation of the PLM component’s APS application and pass thatConfigurationInfoJSON object. As a result, the current plan configuration is transformed into the target plan configuration.
Here is an example of the first approach:
Prepare an Excel file with the target plan configuration. When preparing that Excel file, use the format provided at https://docs.cloudblue.com/cbc/21.0/Product-Lifecycle-Management/File-Requirements.htm.
Note
In the example, this file is used as an Excel file with a target plan configuration.
Call the parseConfig custom operation of the PLM component’s APS application and pass that Excel file in the Base64 format. To do that, make
a request like this:
POST /aps/2/resources/ca9685cb-d067-441b-b14d-146325aa2e53/parseConfig
{
"excelConfig": "UEs...AAA="
}
Note
To prepare a value for the excelConfig property, you can use the base64 -w 0 YOUR_EXCEL_FILE command.
As a result, you will receive a response like this:
HTTP/1.1 200 OK
{
"owner": {
"accountId": 1,
"memberId": 1
},
"serviceTemplateId": 9,
"serviceTerms": {
"0/0 Service Terms": {
"bssId": 6,
"serviceTermsName": "0/0 Service Terms",
"holdPeriodInDays": 0,
"gracePeriodInDays": 0
},
"Default": {
"bssId": 0,
"serviceTermsName": "Default",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"Domain Service Terms": {
"bssId": 3,
"serviceTermsName": "Domain Service Terms",
"holdPeriodInDays": 0,
"gracePeriodInDays": 30
},
"Hosting Service Terms": {
"bssId": 2,
"serviceTermsName": "Hosting Service Terms",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"In-House Products for Resellers": {
"bssId": 4,
"serviceTermsName": "In-House Products for Resellers",
"holdPeriodInDays": 0,
"gracePeriodInDays": 0
}
},
"existingPdiPlans": {
"teamleader eu (monthly plan)": {
"aps": {
"id": "01431d51-b012-4558-91b1-468f7326531d",
"type": "http://com.odin.platform/inhouse-products/pdiPlan/1.0",
"status": "aps:ready",
"subscription": null,
"revision": 2,
"modified": 1649431014000,
"schema": null,
"package": null
},
"products": null,
"operatingUnits": null,
"account": null,
"productLine": null,
"name": {
"de_DE": "Teamleader EU (Monatsplan)",
"en_US": "Teamleader EU (Monthly Plan)",
"es_ES": "Teamleader EU (Monthly Plan)",
"fr_FR": "Teamleader EU (Monthly Plan)",
"it_IT": "Teamleader EU (Monthly Plan)",
"nl_NL": "Teamleader EU (Monthly Plan)",
"pt_BR": "Teamleader EU (Monthly Plan)",
"pt_PT": "Teamleader EU (Monthly Plan)",
"tr_TR": "Teamleader EU (Monthly Plan)"
},
"description": {
"de_DE": "Der monatliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"en_US": "The monthly service gives companies a majority of the same benefits that on-premises deployments provide.",
"es_ES": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr_FR": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it_IT": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl_NL": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt_BR": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"pt_PT": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr_TR": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"bssServicePlanId": 12,
"serviceTemplateId": 9,
"isDefault": false,
"customIconUrl": null,
"billingPeriod": 3,
"billingPeriodType": "psd",
"pricePeriodType": "billing period",
"planCategory": "Software & Licenses",
"appId": null,
"billingModel": "charge before billing period",
"autoRenewType": "Before Expiration",
"renewOrderInterval": 1,
"vendorTimezone": null,
"subscriptionPeriods": [
{
"bssId": 16,
"period": 6,
"periodType": "month",
"cancellationFeeType": "none",
"cancellationFeeValue": "10",
"afterRefundPeriod": "refund_prorated_recurring_fee",
"fullRefundPeriod": 1,
"cancelationPolicies": null,
"downsizePolicies": null,
"autoRenewPeriod": true,
"trial": false
},
{
"bssId": 17,
"period": 12,
"periodType": "month",
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"afterRefundPeriod": "no_refund",
"fullRefundPeriod": 3,
"cancelationPolicies": null,
"downsizePolicies": null,
"autoRenewPeriod": false,
"trial": false
}
],
"salesCategories": [
{
"id": 10,
"name": {
"de": "TeamleaderEU",
"en": "TeamleaderEU",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "Der Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten. Durch die Integration in den Cloud-Service können Unternehmen ihren Marktanteil ausbauen, wiederkehrende Umsätze automatisieren und steigern, die Kundenzufriedenheit steigern und gleichzeitig die Betriebskosten senken.",
"en": "The service gives companies a majority of the same benefits that on-premises deployments provide. By integrating with the cloud service, companies can expand their market share, automate and grow recurring revenue, increase customer satisfaction, and cut operational costs at the same time.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"parent": {
"id": 9,
"name": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"parent": null,
"expand": true,
"inCCP": true
},
"expand": true,
"inCCP": true
}
],
"serviceTerms": {
"bssId": 0,
"serviceTermsName": "Default",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"termsAndConditions": [
{
"id": null,
"bssId": 7,
"name": "Teamleader EU Additional Terms",
"value": "Teamleader EU Additional Terms Content",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "On first purchase and after every T&C change"
},
{
"id": null,
"bssId": 6,
"name": "Common",
"value": "Common",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "On first purchase and after every T&C change"
},
{
"id": null,
"bssId": 4,
"name": "Provider pre-existing TC",
"value": "kp8CVlZAOc",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "Always, on every purchase"
}
],
"availableNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome e-mail - Business Class Mail"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"enabledNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome e-mail - Business Class Mail"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"servicePlanUpdateNotificationId": null,
"alignWithStatementDay": true,
"isSalesOrderProrated": true,
"isFirstPeriodForFree": true,
"customStatementDay": 2,
"notificationScheduleId": 12,
"resellerGroups": [],
"volumePricingRatingMode": true,
"ratingMode": "Revenue only",
"default": false,
"isOneTimeFeeProduct": false,
"oneTimeFeePlan": false,
"salesOrderProrated": true,
"firstPeriodForFree": true,
"published": true,
"isPublished": true
},
"teamleader eu (yearly plan 2)": {
"aps": {
"id": "7f80c0a3-301e-4b1d-9dd2-09af4719f456",
"type": "http://com.odin.platform/inhouse-products/pdiPlan/1.0",
"status": "aps:ready",
"subscription": null,
"revision": 2,
"modified": 1649431015000,
"schema": null,
"package": null
},
"products": null,
"operatingUnits": null,
"account": null,
"productLine": null,
"name": {
"de_DE": "Teamleader EU (Jahresplan)",
"en_US": "Teamleader EU (Yearly Plan 2)",
"es_ES": "Teamleader EU (Yearly Plan 2)",
"fr_FR": "Teamleader EU (Yearly Plan 2)",
"it_IT": "Teamleader EU (Yearly Plan 2)",
"nl_NL": "Teamleader EU (Yearly Plan 2)",
"pt_BR": "Teamleader EU (Yearly Plan 2)",
"pt_PT": "Teamleader EU (Yearly Plan 2)",
"tr_TR": "Teamleader EU (Yearly Plan 2)"
},
"description": {
"de_DE": "Der jährliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"en_US": "The yearly service gives companies a majority of the same benefits that on-premises deployments provide.",
"es_ES": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr_FR": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it_IT": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl_NL": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt_BR": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"pt_PT": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr_TR": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"bssServicePlanId": 14,
"serviceTemplateId": 9,
"isDefault": false,
"customIconUrl": null,
"billingPeriod": 12,
"billingPeriodType": "psd",
"pricePeriodType": "month",
"planCategory": "Software & Licenses",
"appId": null,
"billingModel": "charge before billing period",
"autoRenewType": "On Last Statement Day",
"renewOrderInterval": 1,
"vendorTimezone": null,
"subscriptionPeriods": [
{
"bssId": 19,
"period": 5,
"periodType": "year",
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"afterRefundPeriod": "no_refund",
"fullRefundPeriod": 4,
"cancelationPolicies": null,
"downsizePolicies": null,
"autoRenewPeriod": true,
"trial": false
}
],
"salesCategories": [
{
"id": 10,
"name": {
"de": "TeamleaderEU",
"en": "TeamleaderEU",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "Der Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten. Durch die Integration in den Cloud-Service können Unternehmen ihren Marktanteil ausbauen, wiederkehrende Umsätze automatisieren und steigern, die Kundenzufriedenheit steigern und gleichzeitig die Betriebskosten senken.",
"en": "The service gives companies a majority of the same benefits that on-premises deployments provide. By integrating with the cloud service, companies can expand their market share, automate and grow recurring revenue, increase customer satisfaction, and cut operational costs at the same time.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"parent": {
"id": 9,
"name": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"parent": null,
"expand": true,
"inCCP": true
},
"expand": true,
"inCCP": true
}
],
"serviceTerms": {
"bssId": 0,
"serviceTermsName": "Default",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"termsAndConditions": [
{
"id": null,
"bssId": 7,
"name": "Teamleader EU Additional Terms",
"value": "Teamleader EU Additional Terms Content",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "On first purchase and after every T&C change"
}
],
"availableNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome Email - Wedge Networks"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"enabledNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome Email - Wedge Networks"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"servicePlanUpdateNotificationId": null,
"alignWithStatementDay": true,
"isSalesOrderProrated": false,
"isFirstPeriodForFree": false,
"customStatementDay": 1,
"notificationScheduleId": 12,
"resellerGroups": [],
"volumePricingRatingMode": false,
"ratingMode": null,
"default": false,
"isOneTimeFeeProduct": false,
"oneTimeFeePlan": false,
"salesOrderProrated": false,
"firstPeriodForFree": false,
"published": true,
"isPublished": true
},
"teamleader eu (yearly plan)": {
"aps": {
"id": "6b52c392-82e4-44f4-b0b8-4abb7ca0b082",
"type": "http://com.odin.platform/inhouse-products/pdiPlan/1.0",
"status": "aps:ready",
"subscription": null,
"revision": 2,
"modified": 1649431015000,
"schema": null,
"package": null
},
"products": null,
"operatingUnits": null,
"account": null,
"productLine": null,
"name": {
"de_DE": "Teamleader EU (Jahresplan)",
"en_US": "Teamleader EU (Yearly Plan)",
"es_ES": "Teamleader EU (Yearly Plan)",
"fr_FR": "Teamleader EU (Yearly Plan)",
"it_IT": "Teamleader EU (Yearly Plan)",
"nl_NL": "Teamleader EU (Yearly Plan)",
"pt_BR": "Teamleader EU (Yearly Plan)",
"pt_PT": "Teamleader EU (Yearly Plan)",
"tr_TR": "Teamleader EU (Yearly Plan)"
},
"description": {
"de_DE": "Der jährliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"en_US": "The yearly service gives companies a majority of the same benefits that on-premises deployments provide.",
"es_ES": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr_FR": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it_IT": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl_NL": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt_BR": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"pt_PT": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr_TR": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"bssServicePlanId": 13,
"serviceTemplateId": 9,
"isDefault": false,
"customIconUrl": null,
"billingPeriod": 12,
"billingPeriodType": "psd",
"pricePeriodType": "month",
"planCategory": "Software & Licenses",
"appId": null,
"billingModel": "charge before billing period",
"autoRenewType": "On Last Statement Day",
"renewOrderInterval": 1,
"vendorTimezone": null,
"subscriptionPeriods": [
{
"bssId": 18,
"period": 4,
"periodType": "year",
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"afterRefundPeriod": "no_refund",
"fullRefundPeriod": 2,
"cancelationPolicies": null,
"downsizePolicies": null,
"autoRenewPeriod": true,
"trial": true
}
],
"salesCategories": [
{
"id": 10,
"name": {
"de": "TeamleaderEU",
"en": "TeamleaderEU",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "Der Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten. Durch die Integration in den Cloud-Service können Unternehmen ihren Marktanteil ausbauen, wiederkehrende Umsätze automatisieren und steigern, die Kundenzufriedenheit steigern und gleichzeitig die Betriebskosten senken.",
"en": "The service gives companies a majority of the same benefits that on-premises deployments provide. By integrating with the cloud service, companies can expand their market share, automate and grow recurring revenue, increase customer satisfaction, and cut operational costs at the same time.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"parent": {
"id": 9,
"name": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"parent": null,
"expand": true,
"inCCP": true
},
"expand": true,
"inCCP": true
}
],
"serviceTerms": {
"bssId": 0,
"serviceTermsName": "Default",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"termsAndConditions": [
{
"id": null,
"bssId": 7,
"name": "Teamleader EU Additional Terms",
"value": "Teamleader EU Additional Terms Content",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "On first purchase and after every T&C change"
}
],
"availableNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome Email - Wedge Networks"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"enabledNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome Email - Wedge Networks"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"servicePlanUpdateNotificationId": null,
"alignWithStatementDay": true,
"isSalesOrderProrated": false,
"isFirstPeriodForFree": false,
"customStatementDay": 1,
"notificationScheduleId": 12,
"resellerGroups": [],
"volumePricingRatingMode": false,
"ratingMode": null,
"default": false,
"isOneTimeFeeProduct": false,
"oneTimeFeePlan": false,
"salesOrderProrated": false,
"firstPeriodForFree": false,
"published": true,
"isPublished": true
}
},
"excelConfig": {
"resources": [
{
"value": {
"resourceType": {
"name": {
"en": "Teamleader EU: Teamleader - monthly billing"
},
"resClass": null,
"actParams": null,
"description": {}
},
"resourceCategory": {
"id": 1,
"name": {
"de": "",
"pt": "",
"en": "Additional Resources",
"it": "",
"fr": "",
"es": "",
"nl": "",
"tr": ""
},
"description": {
"de": "",
"pt": "",
"en": "Additional Resources",
"it": "",
"fr": "Additional Resources",
"nl": "",
"tr": "",
"es": ""
},
"parent": null,
"taxCatId": "All products"
},
"uom": "unit",
"measurable": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"resourceType": {
"name": {
"en": "Teamleader EU: Teamleader - yearly billing"
},
"resClass": null,
"actParams": null,
"description": {}
},
"resourceCategory": {
"id": 11,
"name": {
"de": "",
"pt": "",
"en": "Other Resources",
"it": "",
"fr": "",
"es": "",
"nl": "",
"tr": ""
},
"description": {
"de": "",
"pt": "",
"en": "Other Resources",
"it": "",
"fr": "Other Resources",
"nl": "",
"tr": "",
"es": ""
},
"parent": {
"id": 5,
"name": {
"en": "Other Products"
},
"description": null,
"parent": null,
"taxCatId": null
},
"taxCatId": "All products"
},
"uom": "unit",
"measurable": null
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"serviceTemplates": [],
"servicePlans": [
{
"value": {
"name": {
"de": "Teamleader EU (Monatsplan)",
"pt": "Teamleader EU (Monthly Plan)",
"en": "Teamleader EU (Monthly Plan)",
"it": "Teamleader EU (Monthly Plan)",
"fr": "Teamleader EU (Monthly Plan)",
"tr": "Teamleader EU (Monthly Plan)",
"nl": "Teamleader EU (Monthly Plan)",
"es": "Teamleader EU (Monthly Plan)"
},
"planBillingPeriod": null,
"planBillingPeriodType": null,
"pricePeriodType": "billing period",
"autoRenewType": null,
"renewOrderInterval": null,
"vendorTimezone": null,
"billingModel": null,
"serviceTemplateId": null,
"serviceTemplateName": null,
"description": {
"de": "Der monatliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"en": "Testing renamed description",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo."
},
"resources": [],
"subscriptionPeriods": [
{
"value": {
"trial": false,
"periodType": "month",
"refundType": "refund_prorated_recurring_fee",
"period": 6,
"fullRefundPeriod": 1,
"renewalFee": 0,
"recurringFee": 0,
"depositFee": 0,
"setupFee": 0,
"transferFee": 0,
"cancellationFeeType": "none",
"cancellationFeeValue": "10",
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpRenewalFee": null,
"msrpTransferFee": null,
"isAutoRenewPeriod": true,
"cancelationPolicies": null,
"downsizePolicies": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"trial": false,
"periodType": "month",
"refundType": "no_refund",
"period": 12,
"fullRefundPeriod": 3,
"renewalFee": 0,
"recurringFee": 0,
"depositFee": 0,
"setupFee": 0,
"transferFee": 0,
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpRenewalFee": null,
"msrpTransferFee": null,
"isAutoRenewPeriod": false,
"cancelationPolicies": null,
"downsizePolicies": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"trial": true,
"periodType": "month",
"refundType": "refund_prorated_recurring_fee",
"period": 9,
"fullRefundPeriod": 6,
"renewalFee": 0,
"recurringFee": 0,
"depositFee": 0,
"setupFee": 0,
"transferFee": 0,
"cancellationFeeType": "none",
"cancellationFeeValue": "10",
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpRenewalFee": null,
"msrpTransferFee": null,
"isAutoRenewPeriod": false,
"cancelationPolicies": null,
"downsizePolicies": null
},
"action": "ADD",
"edit": false,
"add": true
}
],
"planCategory": null,
"salesCategories": [],
"serviceTerms": "Default",
"welcomeNotificationTemplate": "Welcome Email - Wedge Networks2",
"expirationNotificationTemplate": "Subscription has Expired - Wedge Networks2",
"notificationScheduleId": null,
"termsConditions": [],
"vendorId": 1,
"vendorName": null,
"isAvailableForSale": null,
"cloneFrom": null,
"delegatedServicePlans": [
{
"value": {
"name": {
"en": "Teamleader EU (Monthly Plan)"
},
"planBillingPeriod": null,
"planBillingPeriodType": null,
"pricePeriodType": null,
"autoRenewType": null,
"renewOrderInterval": null,
"vendorTimezone": null,
"billingModel": null,
"serviceTemplateId": null,
"serviceTemplateName": null,
"description": null,
"resources": [],
"subscriptionPeriods": [],
"planCategory": null,
"salesCategories": [],
"serviceTerms": null,
"welcomeNotificationTemplate": null,
"expirationNotificationTemplate": null,
"notificationScheduleId": null,
"termsConditions": [],
"vendorId": 1000002,
"vendorName": "MICHAEL Legros, Crona",
"isAvailableForSale": null,
"cloneFrom": null,
"delegatedServicePlans": [],
"isEnableVolumePricingModel": null,
"ratingMode": null,
"alignWithStatementDay": null,
"isSalesOrderProrated": null,
"isFirstPeriodForFree": null,
"customStatementDay": null,
"upgrades": [],
"isPublished": null,
"resellerGroups": [],
"enName": "Teamleader EU (Monthly Plan)"
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"isEnableVolumePricingModel": true,
"ratingMode": null,
"alignWithStatementDay": null,
"isSalesOrderProrated": null,
"isFirstPeriodForFree": null,
"customStatementDay": null,
"upgrades": [
{
"value": {
"toServicePlanId": null,
"toServicePlanName": "Teamleader EU (Yearly Plan)",
"remainCurrentSubscriptionStartDate": true
},
"action": "ADD",
"edit": false,
"add": true
}
],
"isPublished": null,
"resellerGroups": [],
"enName": "Teamleader EU (Monthly Plan)"
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"name": {
"de": "Teamleader EU (Jahresplan)",
"pt": "Teamleader EU (Yearly Plan)",
"en": "Teamleader EU (Yearly Plan)",
"it": "Teamleader EU (Yearly Plan)",
"fr": "Teamleader EU (Yearly Plan)",
"tr": "Teamleader EU (Yearly Plan)",
"nl": "Teamleader EU (Yearly Plan)",
"es": "Teamleader EU (Yearly Plan)"
},
"planBillingPeriod": null,
"planBillingPeriodType": null,
"pricePeriodType": "month",
"autoRenewType": null,
"renewOrderInterval": null,
"vendorTimezone": null,
"billingModel": null,
"serviceTemplateId": null,
"serviceTemplateName": null,
"description": {
"de": "Der jährliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"en": "Testing renamed description",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo."
},
"resources": [
{
"value": {
"name": {
"en": "Teamleader EU: Teamleader - monthly billing"
},
"description": null,
"composite": false,
"createPlanRatePeriods": false,
"unitOfMeasure": "unit",
"inCP": true,
"published": null,
"setupFee": null,
"overFee": null,
"rtID": null,
"resourceType": {
"name": {
"en": "Teamleader EU: Teamleader - monthly billing"
},
"resClass": "rc.saas.countedlenk",
"actParams": null,
"description": null
},
"billingResourceID": null,
"externalBillingResourceID": null,
"max": 5000,
"min": 1,
"measurable": false,
"instore": true,
"recFee": null,
"resourceCategory": {
"id": 1,
"name": {
"de": "",
"pt": "",
"en": "Additional Resources",
"it": "",
"fr": "",
"es": "",
"nl": "",
"tr": ""
},
"description": {
"de": "",
"pt": "",
"en": "Additional Resources",
"it": "",
"fr": "Additional Resources",
"nl": "",
"tr": "",
"es": ""
},
"parent": null,
"taxCatId": "All products"
},
"periods": [],
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpOveruseFee": null,
"rfeeShowZeroPrice": false,
"rfeePerUnit": false,
"ofeeShowZeroPrice": false,
"sfeePerUnit": false,
"sfeeShowZeroPrice": false
},
"action": "ADD",
"edit": false,
"add": true
}
],
"subscriptionPeriods": [
{
"value": {
"trial": true,
"periodType": "year",
"refundType": "no_refund",
"period": 4,
"fullRefundPeriod": 2,
"renewalFee": 0,
"recurringFee": 0,
"depositFee": 0,
"setupFee": 0,
"transferFee": 0,
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpRenewalFee": null,
"msrpTransferFee": null,
"isAutoRenewPeriod": true,
"cancelationPolicies": null,
"downsizePolicies": null
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"planCategory": null,
"salesCategories": [],
"serviceTerms": "Default",
"welcomeNotificationTemplate": "Welcome Email - Wedge Networks2",
"expirationNotificationTemplate": "Subscription has Expired - Wedge Networks2",
"notificationScheduleId": null,
"termsConditions": [],
"vendorId": 1,
"vendorName": null,
"isAvailableForSale": null,
"cloneFrom": null,
"delegatedServicePlans": [
{
"value": {
"name": {
"en": "Teamleader EU (Yearly Plan)"
},
"planBillingPeriod": null,
"planBillingPeriodType": null,
"pricePeriodType": null,
"autoRenewType": null,
"renewOrderInterval": null,
"vendorTimezone": null,
"billingModel": null,
"serviceTemplateId": null,
"serviceTemplateName": null,
"description": null,
"resources": [],
"subscriptionPeriods": [],
"planCategory": null,
"salesCategories": [],
"serviceTerms": null,
"welcomeNotificationTemplate": null,
"expirationNotificationTemplate": null,
"notificationScheduleId": null,
"termsConditions": [],
"vendorId": 1000002,
"vendorName": "MICHAEL Legros, Crona",
"isAvailableForSale": null,
"cloneFrom": null,
"delegatedServicePlans": [],
"isEnableVolumePricingModel": null,
"ratingMode": null,
"alignWithStatementDay": null,
"isSalesOrderProrated": null,
"isFirstPeriodForFree": null,
"customStatementDay": null,
"upgrades": [],
"isPublished": null,
"resellerGroups": [],
"enName": "Teamleader EU (Yearly Plan)"
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"isEnableVolumePricingModel": true,
"ratingMode": null,
"alignWithStatementDay": null,
"isSalesOrderProrated": null,
"isFirstPeriodForFree": null,
"customStatementDay": null,
"upgrades": [
{
"value": {
"toServicePlanId": null,
"toServicePlanName": "Teamleader EU (Yearly Plan 2)",
"remainCurrentSubscriptionStartDate": false
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"isPublished": null,
"resellerGroups": [],
"enName": "Teamleader EU (Yearly Plan)"
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"termsConditionsDetails": {
"Teamleader EU Additional Terms": {
"id": -2147483648,
"name": "Teamleader EU Additional Terms",
"acceptType": "On first purchase and after every T&C change",
"active": true,
"text": "<p><strong>Additional Terms and Conditions for TeamleaderEU Subscriptions</strong></p>\n<p><strong> </strong></p>\n<p>The following additional terms and conditions apply to Your purchase of WedgeARP™ Secure Home Office (“Vendor”) subscriptions and to the use of such Services by You and Your customers.</p>\n<p> </p>\n<h2><a name=\"_Toc381085506\"></a><a name=\"_Toc342658188\"></a>1. Term and Termination</h2>\n<h2> </h2>\n<p><a name=\"_Toc294012771\"></a><a name=\"_Toc285537541\"></a>Services start once provisioned through the marketplace. You may cancel the Services through the marketplace so long as no Service commitments are active hereunder (i.e. You or one or more of Your customers are employing any active Services). <a name=\"_Toc362955805\"></a><a name=\"_Toc362955620\"></a>You may only terminate the Service if there are no existing term commitments for Services. If You or Your customer terminates its use of a Service prior to the expiration of the term commitment for the selected service, You will remain responsible to Ingram Micro for all remaining and accrued charges for such Service pursuant to the selected term commitment. </p>\n<p> </p>\n<p><a name=\"_Toc362955804\"></a><a name=\"_Toc362955619\"></a>Services are available for minimum commitment of one month. Services will auto renew for an additional month, unless You cancel the Services one (1) business days prior to the expiration of the term commitment for the selected Service.</p>\n<p> </p>\n<h2>2. Fees</h2>\n<h2> </h2>\n<p><a name=\"_Toc320601176\"></a><a name=\"_Toc329005647\"></a><a name=\"_Toc328553059\"></a><a name=\"_Toc328552976\"></a><a name=\"_Toc327868816\"></a><a name=\"_Toc320697822\"></a>You agree to pay the fees and charges for the Services as outlined in the registration process and that appear on the Site, as may be amended from time to time. If You or Your customer exceeds the usage limits applicable to the Service subscription, You agree to pay for the fees and charges for such over usage. For any extension of a subscription term or the provisioning of a Service upgrade, the then-current price will apply, unless otherwise mutually agreed in writing by You and Ingram Micro. Ingram Micro, may, from time to time in its sole discretion, change the fees it charges for the Service. Any increase in the fees will take effect at the beginning of the new subscription term. Ingram Micro will notify You of any such changes by updating the Site or sending notice by e-mail or regular mail.</p>\n<p> </p>\n<h2>3. Territory Restriction</h2>\n<p> </p>\n<p>You may only resell and/or market the Services in Canada.</p>\n<h2> </h2>\n<h2>4. Terms of Sale & Terms of Use</h2>\n<h2> </h2>\n<p><strong>All purchases are subject to the sales terms set forth at </strong><a href=\"https://ca.cloud.im/legal\"><strong>https://at.cloud.im/legal</strong></a><strong> and service setup information, including but not limited to pricing, (where applicable) set forth in the marketplace. </strong>For the avoidance of doubt, notwithstanding the presence or acceptance by Ingram Micro of Your order, such shall be for administrative purposes only and the parties agree that the governing terms and conditions shall be those set forth at <a href=\"https://at.cloud.im/legal\"><strong>https://at.cloud.im/legal</strong></a> unless otherwise agreed to in writing by Ingram Micro and You.</p>\n<h2> </h2>\n<p><strong>The Services are provided by the Vendor. All terms of use and/or service as established by the Vendor and as set forth at </strong><a href=\"https://wedgenetworks.com/eula.aspx\">https://wedgenetworks.com/eula.aspx</a></p>\n<p><strong>shall apply, as applicable, to Your resale activity and to You and Your customers’ use of the Services (“Terms of Use”). You covenant, represent and warrant that You will present the Terms of Use to each of Your customers and obtain their enforceable agreement to the Terms of Use before permitting them to access or use the Service. You covenant, represent and warrant that no subscription for the Services shall be activated for or used by Your customers before the customer agrees to the Terms of Use. </strong>You will track and record acceptance by Your customers of the Terms of Use and will provide such information to Ingram Micro upon request.</p>\n<p> </p>\n<p>Ingram Micro may at any time modify these terms and conditions. You and Your customers must regularly monitor the Site for any such modifications. The modified terms and conditions will be effective immediately after it is posted on the Site. Your purchase and resale of the Services and You and Your customers’ use of the Services after any such modification will be deemed acceptance of such modification.</p>"
},
"Common": {
"id": -2147483647,
"name": "Common",
"acceptType": "On first purchase and after every T&C change",
"active": true,
"text": "On first purchase and after every T&C change"
}
},
"subscriptionNotificationTemplates": [
{
"name": "Welcome Email - Wedge Networks2",
"locale": "en",
"messageCategory": "RENEWAL_AND_EXPIRATION_NOTICES",
"htmlText": "<title>Welcome Email - Wedge Networks2</title>",
"plainText": "Welcome Email - Wedge Networks2",
"subject": "Your account for @@Subscription_Name@ is ready!",
"toAddress": "@@Cust_Account_BillingContact_Email@",
"toName": "@@Cust_Account_CompanyName@",
"bccAddress": "",
"fromAddress": "@@Vend_Account_TechContact_Email@",
"fromName": "@@Vend_Account_CompanyName@",
"pdfAttachmentName": "",
"active": true,
"condition": "",
"visibleToResellers": true,
"secureBody": false
},
{
"name": "Welcome Email - Wedge Networks2",
"locale": "fr",
"messageCategory": "RENEWAL_AND_EXPIRATION_NOTICES",
"htmlText": "<title>Welcome Email - Wedge Networks2 fr</title>",
"plainText": "Welcome Email - Wedge Networks2 fr",
"subject": "Votre compte @@ nom_souscription @ est prêt !",
"toAddress": "@@Cust_Account_BillingContact_Email@",
"toName": "@@Cust_Account_CompanyName@",
"bccAddress": "",
"fromAddress": "@@Vend_Account_TechContact_Email@",
"fromName": "@@Vend_Account_CompanyName@",
"pdfAttachmentName": "",
"active": true,
"condition": "",
"visibleToResellers": true,
"secureBody": false
},
{
"name": "Subscription has Expired - Wedge Networks2",
"locale": "en",
"messageCategory": "RENEWAL_AND_EXPIRATION_NOTICES",
"htmlText": "<title>Subscription has Expired - Wedge Networks2</title>",
"plainText": "Subscription has Expired - Wedge Networks2",
"subject": "Subscription has expired",
"toAddress": "@@Cust_Account_BillingContact_Email@",
"toName": "@@Cust_Account_CompanyName@",
"bccAddress": "",
"fromAddress": "@@Vend_Account_TechContact_Email@",
"fromName": "@@Vend_Account_CompanyName@",
"pdfAttachmentName": "",
"active": true,
"condition": "",
"visibleToResellers": true,
"secureBody": false
},
{
"name": "Subscription has Expired - Wedge Networks2",
"locale": "fr",
"messageCategory": "RENEWAL_AND_EXPIRATION_NOTICES",
"htmlText": "<title>Subscription has Expired - Wedge Networks2 fr</title>",
"plainText": "Subscription has Expired - Wedge Networks2 fr",
"subject": "L'abonnement a expiré",
"toAddress": "@@Cust_Account_BillingContact_Email@",
"toName": "@@Cust_Account_CompanyName@",
"bccAddress": "",
"fromAddress": "@@Vend_Account_TechContact_Email@",
"fromName": "@@Vend_Account_CompanyName@",
"pdfAttachmentName": "",
"active": true,
"condition": "",
"visibleToResellers": true,
"secureBody": false
}
],
"resourceDependencies": [
{
"value": {
"childResourceName": "Teamleader EU: Teamleader - monthly billing",
"parentResourceName": "Teamleader EU: Teamleader - yearly billing",
"dependenceKind": "CONFLICTS_ON_SUBSCRIPTION_LEVEL",
"childResourceId": null,
"parentResourceId": null,
"dependenceMultiplier": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"childResourceName": "Teamleader EU: Teamleader - monthly billing",
"parentResourceName": "Teamleader EU: Teamleader - yearly billing 2",
"dependenceKind": "CONFLICTS_ON_ACCOUNT_LEVEL",
"childResourceId": null,
"parentResourceId": null,
"dependenceMultiplier": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"childResourceName": "Teamleader EU: Teamleader - yearly billing",
"parentResourceName": "Teamleader EU: Teamleader - yearly billing 2",
"dependenceKind": "REQUIRES",
"childResourceId": null,
"parentResourceId": null,
"dependenceMultiplier": null
},
"action": "EDIT",
"edit": true,
"add": false
}
]
},
"appInfo": {
"appId": null,
"appCustomIconUrl": "/aps/2/applications/7047edc8-bcdb-4c42-9350-a2a0534c6200/aps/icon",
"impersonationUid": "cdd11205-aa5e-4d43-9e6e-64e62f947fef"
}
}
Call the applyConfig custom operation of the PLM component’s APS application and pass the ConfigurationInfo JSON object that you received in the previous
step. To do that, make a request like this:
POST /aps/2/resources/ca9685cb-d067-441b-b14d-146325aa2e53/applyConfig
{
"owner": {
"accountId": 1,
"memberId": 1
},
"serviceTemplateId": 9,
"serviceTerms": {
"0/0 Service Terms": {
"bssId": 6,
"serviceTermsName": "0/0 Service Terms",
"holdPeriodInDays": 0,
"gracePeriodInDays": 0
},
"Default": {
"bssId": 0,
"serviceTermsName": "Default",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"Domain Service Terms": {
"bssId": 3,
"serviceTermsName": "Domain Service Terms",
"holdPeriodInDays": 0,
"gracePeriodInDays": 30
},
"Hosting Service Terms": {
"bssId": 2,
"serviceTermsName": "Hosting Service Terms",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"In-House Products for Resellers": {
"bssId": 4,
"serviceTermsName": "In-House Products for Resellers",
"holdPeriodInDays": 0,
"gracePeriodInDays": 0
}
},
"existingPdiPlans": {
"teamleader eu (monthly plan)": {
"aps": {
"id": "01431d51-b012-4558-91b1-468f7326531d",
"type": "http://com.odin.platform/inhouse-products/pdiPlan/1.0",
"status": "aps:ready",
"subscription": null,
"revision": 2,
"modified": 1649431014000,
"schema": null,
"package": null
},
"products": null,
"operatingUnits": null,
"account": null,
"productLine": null,
"name": {
"de_DE": "Teamleader EU (Monatsplan)",
"en_US": "Teamleader EU (Monthly Plan)",
"es_ES": "Teamleader EU (Monthly Plan)",
"fr_FR": "Teamleader EU (Monthly Plan)",
"it_IT": "Teamleader EU (Monthly Plan)",
"nl_NL": "Teamleader EU (Monthly Plan)",
"pt_BR": "Teamleader EU (Monthly Plan)",
"pt_PT": "Teamleader EU (Monthly Plan)",
"tr_TR": "Teamleader EU (Monthly Plan)"
},
"description": {
"de_DE": "Der monatliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"en_US": "The monthly service gives companies a majority of the same benefits that on-premises deployments provide.",
"es_ES": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr_FR": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it_IT": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl_NL": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt_BR": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"pt_PT": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr_TR": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"bssServicePlanId": 12,
"serviceTemplateId": 9,
"isDefault": false,
"customIconUrl": null,
"billingPeriod": 3,
"billingPeriodType": "psd",
"pricePeriodType": "billing period",
"planCategory": "Software & Licenses",
"appId": null,
"billingModel": "charge before billing period",
"autoRenewType": "Before Expiration",
"renewOrderInterval": 1,
"vendorTimezone": null,
"subscriptionPeriods": [
{
"bssId": 16,
"period": 6,
"periodType": "month",
"cancellationFeeType": "none",
"cancellationFeeValue": "10",
"afterRefundPeriod": "refund_prorated_recurring_fee",
"fullRefundPeriod": 1,
"cancelationPolicies": null,
"downsizePolicies": null,
"autoRenewPeriod": true,
"trial": false
},
{
"bssId": 17,
"period": 12,
"periodType": "month",
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"afterRefundPeriod": "no_refund",
"fullRefundPeriod": 3,
"cancelationPolicies": null,
"downsizePolicies": null,
"autoRenewPeriod": false,
"trial": false
}
],
"salesCategories": [
{
"id": 10,
"name": {
"de": "TeamleaderEU",
"en": "TeamleaderEU",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "Der Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten. Durch die Integration in den Cloud-Service können Unternehmen ihren Marktanteil ausbauen, wiederkehrende Umsätze automatisieren und steigern, die Kundenzufriedenheit steigern und gleichzeitig die Betriebskosten senken.",
"en": "The service gives companies a majority of the same benefits that on-premises deployments provide. By integrating with the cloud service, companies can expand their market share, automate and grow recurring revenue, increase customer satisfaction, and cut operational costs at the same time.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"parent": {
"id": 9,
"name": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"parent": null,
"expand": true,
"inCCP": true
},
"expand": true,
"inCCP": true
}
],
"serviceTerms": {
"bssId": 0,
"serviceTermsName": "Default",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"termsAndConditions": [
{
"id": null,
"bssId": 7,
"name": "Teamleader EU Additional Terms",
"value": "Teamleader EU Additional Terms Content",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "On first purchase and after every T&C change"
},
{
"id": null,
"bssId": 6,
"name": "Common",
"value": "Common",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "On first purchase and after every T&C change"
},
{
"id": null,
"bssId": 4,
"name": "Provider pre-existing TC",
"value": "kp8CVlZAOc",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "Always, on every purchase"
}
],
"availableNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome e-mail - Business Class Mail"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"enabledNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome e-mail - Business Class Mail"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"servicePlanUpdateNotificationId": null,
"alignWithStatementDay": true,
"isSalesOrderProrated": true,
"isFirstPeriodForFree": true,
"customStatementDay": 2,
"notificationScheduleId": 12,
"resellerGroups": [],
"volumePricingRatingMode": true,
"ratingMode": "Revenue only",
"default": false,
"isOneTimeFeeProduct": false,
"oneTimeFeePlan": false,
"salesOrderProrated": true,
"firstPeriodForFree": true,
"published": true,
"isPublished": true
},
"teamleader eu (yearly plan 2)": {
"aps": {
"id": "7f80c0a3-301e-4b1d-9dd2-09af4719f456",
"type": "http://com.odin.platform/inhouse-products/pdiPlan/1.0",
"status": "aps:ready",
"subscription": null,
"revision": 2,
"modified": 1649431015000,
"schema": null,
"package": null
},
"products": null,
"operatingUnits": null,
"account": null,
"productLine": null,
"name": {
"de_DE": "Teamleader EU (Jahresplan)",
"en_US": "Teamleader EU (Yearly Plan 2)",
"es_ES": "Teamleader EU (Yearly Plan 2)",
"fr_FR": "Teamleader EU (Yearly Plan 2)",
"it_IT": "Teamleader EU (Yearly Plan 2)",
"nl_NL": "Teamleader EU (Yearly Plan 2)",
"pt_BR": "Teamleader EU (Yearly Plan 2)",
"pt_PT": "Teamleader EU (Yearly Plan 2)",
"tr_TR": "Teamleader EU (Yearly Plan 2)"
},
"description": {
"de_DE": "Der jährliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"en_US": "The yearly service gives companies a majority of the same benefits that on-premises deployments provide.",
"es_ES": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr_FR": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it_IT": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl_NL": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt_BR": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"pt_PT": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr_TR": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"bssServicePlanId": 14,
"serviceTemplateId": 9,
"isDefault": false,
"customIconUrl": null,
"billingPeriod": 12,
"billingPeriodType": "psd",
"pricePeriodType": "month",
"planCategory": "Software & Licenses",
"appId": null,
"billingModel": "charge before billing period",
"autoRenewType": "On Last Statement Day",
"renewOrderInterval": 1,
"vendorTimezone": null,
"subscriptionPeriods": [
{
"bssId": 19,
"period": 5,
"periodType": "year",
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"afterRefundPeriod": "no_refund",
"fullRefundPeriod": 4,
"cancelationPolicies": null,
"downsizePolicies": null,
"autoRenewPeriod": true,
"trial": false
}
],
"salesCategories": [
{
"id": 10,
"name": {
"de": "TeamleaderEU",
"en": "TeamleaderEU",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "Der Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten. Durch die Integration in den Cloud-Service können Unternehmen ihren Marktanteil ausbauen, wiederkehrende Umsätze automatisieren und steigern, die Kundenzufriedenheit steigern und gleichzeitig die Betriebskosten senken.",
"en": "The service gives companies a majority of the same benefits that on-premises deployments provide. By integrating with the cloud service, companies can expand their market share, automate and grow recurring revenue, increase customer satisfaction, and cut operational costs at the same time.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"parent": {
"id": 9,
"name": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"parent": null,
"expand": true,
"inCCP": true
},
"expand": true,
"inCCP": true
}
],
"serviceTerms": {
"bssId": 0,
"serviceTermsName": "Default",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"termsAndConditions": [
{
"id": null,
"bssId": 7,
"name": "Teamleader EU Additional Terms",
"value": "Teamleader EU Additional Terms Content",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "On first purchase and after every T&C change"
}
],
"availableNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome Email - Wedge Networks"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"enabledNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome Email - Wedge Networks"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"servicePlanUpdateNotificationId": null,
"alignWithStatementDay": true,
"isSalesOrderProrated": false,
"isFirstPeriodForFree": false,
"customStatementDay": 1,
"notificationScheduleId": 12,
"resellerGroups": [],
"volumePricingRatingMode": false,
"ratingMode": null,
"default": false,
"isOneTimeFeeProduct": false,
"oneTimeFeePlan": false,
"salesOrderProrated": false,
"firstPeriodForFree": false,
"published": true,
"isPublished": true
},
"teamleader eu (yearly plan)": {
"aps": {
"id": "6b52c392-82e4-44f4-b0b8-4abb7ca0b082",
"type": "http://com.odin.platform/inhouse-products/pdiPlan/1.0",
"status": "aps:ready",
"subscription": null,
"revision": 2,
"modified": 1649431015000,
"schema": null,
"package": null
},
"products": null,
"operatingUnits": null,
"account": null,
"productLine": null,
"name": {
"de_DE": "Teamleader EU (Jahresplan)",
"en_US": "Teamleader EU (Yearly Plan)",
"es_ES": "Teamleader EU (Yearly Plan)",
"fr_FR": "Teamleader EU (Yearly Plan)",
"it_IT": "Teamleader EU (Yearly Plan)",
"nl_NL": "Teamleader EU (Yearly Plan)",
"pt_BR": "Teamleader EU (Yearly Plan)",
"pt_PT": "Teamleader EU (Yearly Plan)",
"tr_TR": "Teamleader EU (Yearly Plan)"
},
"description": {
"de_DE": "Der jährliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"en_US": "The yearly service gives companies a majority of the same benefits that on-premises deployments provide.",
"es_ES": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr_FR": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it_IT": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl_NL": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt_BR": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"pt_PT": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr_TR": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"bssServicePlanId": 13,
"serviceTemplateId": 9,
"isDefault": false,
"customIconUrl": null,
"billingPeriod": 12,
"billingPeriodType": "psd",
"pricePeriodType": "month",
"planCategory": "Software & Licenses",
"appId": null,
"billingModel": "charge before billing period",
"autoRenewType": "On Last Statement Day",
"renewOrderInterval": 1,
"vendorTimezone": null,
"subscriptionPeriods": [
{
"bssId": 18,
"period": 4,
"periodType": "year",
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"afterRefundPeriod": "no_refund",
"fullRefundPeriod": 2,
"cancelationPolicies": null,
"downsizePolicies": null,
"autoRenewPeriod": true,
"trial": true
}
],
"salesCategories": [
{
"id": 10,
"name": {
"de": "TeamleaderEU",
"en": "TeamleaderEU",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "Der Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten. Durch die Integration in den Cloud-Service können Unternehmen ihren Marktanteil ausbauen, wiederkehrende Umsätze automatisieren und steigern, die Kundenzufriedenheit steigern und gleichzeitig die Betriebskosten senken.",
"en": "The service gives companies a majority of the same benefits that on-premises deployments provide. By integrating with the cloud service, companies can expand their market share, automate and grow recurring revenue, increase customer satisfaction, and cut operational costs at the same time.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir."
},
"parent": {
"id": 9,
"name": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"description": {
"de": "",
"en": "Security",
"es": "",
"fr": "",
"it": "",
"nl": "",
"pt": "",
"tr": ""
},
"parent": null,
"expand": true,
"inCCP": true
},
"expand": true,
"inCCP": true
}
],
"serviceTerms": {
"bssId": 0,
"serviceTermsName": "Default",
"holdPeriodInDays": 30,
"gracePeriodInDays": 10
},
"termsAndConditions": [
{
"id": null,
"bssId": 7,
"name": "Teamleader EU Additional Terms",
"value": "Teamleader EU Additional Terms Content",
"isDeleted": false,
"type": "plain_text",
"ownerAccountId": 1,
"acceptType": "On first purchase and after every T&C change"
}
],
"availableNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome Email - Wedge Networks"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"enabledNotifications": [
{
"templateType": "welcome_email",
"templateName": "Welcome Email - Wedge Networks"
},
{
"templateType": "expiration_email",
"templateName": "Subscription has Expired - Wedge Networks"
}
],
"servicePlanUpdateNotificationId": null,
"alignWithStatementDay": true,
"isSalesOrderProrated": false,
"isFirstPeriodForFree": false,
"customStatementDay": 1,
"notificationScheduleId": 12,
"resellerGroups": [],
"volumePricingRatingMode": false,
"ratingMode": null,
"default": false,
"isOneTimeFeeProduct": false,
"oneTimeFeePlan": false,
"salesOrderProrated": false,
"firstPeriodForFree": false,
"published": true,
"isPublished": true
}
},
"excelConfig": {
"resources": [
{
"value": {
"resourceType": {
"name": {
"en": "Teamleader EU: Teamleader - monthly billing"
},
"resClass": null,
"actParams": null,
"description": {}
},
"resourceCategory": {
"id": 1,
"name": {
"de": "",
"pt": "",
"en": "Additional Resources",
"it": "",
"fr": "",
"es": "",
"nl": "",
"tr": ""
},
"description": {
"de": "",
"pt": "",
"en": "Additional Resources",
"it": "",
"fr": "Additional Resources",
"nl": "",
"tr": "",
"es": ""
},
"parent": null,
"taxCatId": "All products"
},
"uom": "unit",
"measurable": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"resourceType": {
"name": {
"en": "Teamleader EU: Teamleader - yearly billing"
},
"resClass": null,
"actParams": null,
"description": {}
},
"resourceCategory": {
"id": 11,
"name": {
"de": "",
"pt": "",
"en": "Other Resources",
"it": "",
"fr": "",
"es": "",
"nl": "",
"tr": ""
},
"description": {
"de": "",
"pt": "",
"en": "Other Resources",
"it": "",
"fr": "Other Resources",
"nl": "",
"tr": "",
"es": ""
},
"parent": {
"id": 5,
"name": {
"en": "Other Products"
},
"description": null,
"parent": null,
"taxCatId": null
},
"taxCatId": "All products"
},
"uom": "unit",
"measurable": null
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"serviceTemplates": [],
"servicePlans": [
{
"value": {
"name": {
"de": "Teamleader EU (Monatsplan)",
"pt": "Teamleader EU (Monthly Plan)",
"en": "Teamleader EU (Monthly Plan)",
"it": "Teamleader EU (Monthly Plan)",
"fr": "Teamleader EU (Monthly Plan)",
"tr": "Teamleader EU (Monthly Plan)",
"nl": "Teamleader EU (Monthly Plan)",
"es": "Teamleader EU (Monthly Plan)"
},
"planBillingPeriod": null,
"planBillingPeriodType": null,
"pricePeriodType": "billing period",
"autoRenewType": null,
"renewOrderInterval": null,
"vendorTimezone": null,
"billingModel": null,
"serviceTemplateId": null,
"serviceTemplateName": null,
"description": {
"de": "Der monatliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"en": "Testing renamed description",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo."
},
"resources": [],
"subscriptionPeriods": [
{
"value": {
"trial": false,
"periodType": "month",
"refundType": "refund_prorated_recurring_fee",
"period": 6,
"fullRefundPeriod": 1,
"renewalFee": 0,
"recurringFee": 0,
"depositFee": 0,
"setupFee": 0,
"transferFee": 0,
"cancellationFeeType": "none",
"cancellationFeeValue": "10",
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpRenewalFee": null,
"msrpTransferFee": null,
"isAutoRenewPeriod": true,
"cancelationPolicies": null,
"downsizePolicies": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"trial": false,
"periodType": "month",
"refundType": "no_refund",
"period": 12,
"fullRefundPeriod": 3,
"renewalFee": 0,
"recurringFee": 0,
"depositFee": 0,
"setupFee": 0,
"transferFee": 0,
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpRenewalFee": null,
"msrpTransferFee": null,
"isAutoRenewPeriod": false,
"cancelationPolicies": null,
"downsizePolicies": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"trial": true,
"periodType": "month",
"refundType": "refund_prorated_recurring_fee",
"period": 9,
"fullRefundPeriod": 6,
"renewalFee": 0,
"recurringFee": 0,
"depositFee": 0,
"setupFee": 0,
"transferFee": 0,
"cancellationFeeType": "none",
"cancellationFeeValue": "10",
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpRenewalFee": null,
"msrpTransferFee": null,
"isAutoRenewPeriod": false,
"cancelationPolicies": null,
"downsizePolicies": null
},
"action": "ADD",
"edit": false,
"add": true
}
],
"planCategory": null,
"salesCategories": [],
"serviceTerms": "Default",
"welcomeNotificationTemplate": "Welcome Email - Wedge Networks2",
"expirationNotificationTemplate": "Subscription has Expired - Wedge Networks2",
"notificationScheduleId": null,
"termsConditions": [],
"vendorId": 1,
"vendorName": null,
"isAvailableForSale": null,
"cloneFrom": null,
"delegatedServicePlans": [
{
"value": {
"name": {
"en": "Teamleader EU (Monthly Plan)"
},
"planBillingPeriod": null,
"planBillingPeriodType": null,
"pricePeriodType": null,
"autoRenewType": null,
"renewOrderInterval": null,
"vendorTimezone": null,
"billingModel": null,
"serviceTemplateId": null,
"serviceTemplateName": null,
"description": null,
"resources": [],
"subscriptionPeriods": [],
"planCategory": null,
"salesCategories": [],
"serviceTerms": null,
"welcomeNotificationTemplate": null,
"expirationNotificationTemplate": null,
"notificationScheduleId": null,
"termsConditions": [],
"vendorId": 1000002,
"vendorName": "MICHAEL Legros, Crona",
"isAvailableForSale": null,
"cloneFrom": null,
"delegatedServicePlans": [],
"isEnableVolumePricingModel": null,
"ratingMode": null,
"alignWithStatementDay": null,
"isSalesOrderProrated": null,
"isFirstPeriodForFree": null,
"customStatementDay": null,
"upgrades": [],
"isPublished": null,
"resellerGroups": [],
"enName": "Teamleader EU (Monthly Plan)"
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"isEnableVolumePricingModel": true,
"ratingMode": null,
"alignWithStatementDay": null,
"isSalesOrderProrated": null,
"isFirstPeriodForFree": null,
"customStatementDay": null,
"upgrades": [
{
"value": {
"toServicePlanId": null,
"toServicePlanName": "Teamleader EU (Yearly Plan)",
"remainCurrentSubscriptionStartDate": true
},
"action": "ADD",
"edit": false,
"add": true
}
],
"isPublished": null,
"resellerGroups": [],
"enName": "Teamleader EU (Monthly Plan)"
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"name": {
"de": "Teamleader EU (Jahresplan)",
"pt": "Teamleader EU (Yearly Plan)",
"en": "Teamleader EU (Yearly Plan)",
"it": "Teamleader EU (Yearly Plan)",
"fr": "Teamleader EU (Yearly Plan)",
"tr": "Teamleader EU (Yearly Plan)",
"nl": "Teamleader EU (Yearly Plan)",
"es": "Teamleader EU (Yearly Plan)"
},
"planBillingPeriod": null,
"planBillingPeriodType": null,
"pricePeriodType": "month",
"autoRenewType": null,
"renewOrderInterval": null,
"vendorTimezone": null,
"billingModel": null,
"serviceTemplateId": null,
"serviceTemplateName": null,
"description": {
"de": "Der jährliche Service bietet Unternehmen die meisten Vorteile, die lokale Bereitstellungen bieten.",
"pt": "O serviço oferece às empresas a maioria dos mesmos benefícios que as implantações locais fornecem. Ao integrar-se ao serviço de nuvem, as empresas podem expandir sua participação no mercado, automatizar e aumentar a receita recorrente, aumentar a satisfação do cliente e cortar custos operacionais ao mesmo tempo.",
"en": "Testing renamed description",
"it": "Il servizio offre alle aziende la maggior parte degli stessi vantaggi offerti dalle distribuzioni locali. Integrandosi con il servizio cloud, le aziende possono espandere la propria quota di mercato, automatizzare e aumentare i ricavi ricorrenti, aumentare la soddisfazione dei clienti e ridurre i costi operativi allo stesso tempo.",
"fr": "Le service offre aux entreprises la majorité des mêmes avantages que les déploiements sur site. En s'intégrant au service cloud, les entreprises peuvent accroître leur part de marché, automatiser et augmenter les revenus récurrents, augmenter la satisfaction client et réduire les coûts d'exploitation en même temps.",
"tr": "Hizmet, şirket içi dağıtımların sağladığı faydaların çoğunu şirketlere verir. Bulut hizmetine entegre olarak, şirketler pazar paylarını artırabilir, yinelenen geliri otomatikleştirip büyütebilir, müşteri memnuniyetini artırabilir ve aynı zamanda operasyonel maliyetleri azaltabilir.",
"nl": "De service biedt bedrijven een meerderheid van dezelfde voordelen die on-premises implementaties bieden. Door te integreren met de cloudservice kunnen bedrijven hun marktaandeel vergroten, terugkerende inkomsten automatiseren en laten groeien, de klanttevredenheid verhogen en tegelijkertijd de operationele kosten verlagen.",
"es": "El servicio brinda a las empresas la mayoría de los mismos beneficios que brindan las implementaciones locales. Al integrarse con el servicio en la nube, las empresas pueden ampliar su participación en el mercado, automatizar y aumentar los ingresos recurrentes, aumentar la satisfacción del cliente y reducir los costos operativos al mismo tiempo."
},
"resources": [
{
"value": {
"name": {
"en": "Teamleader EU: Teamleader - monthly billing"
},
"description": null,
"composite": false,
"createPlanRatePeriods": false,
"unitOfMeasure": "unit",
"inCP": true,
"published": null,
"setupFee": null,
"overFee": null,
"rtID": null,
"resourceType": {
"name": {
"en": "Teamleader EU: Teamleader - monthly billing"
},
"resClass": "rc.saas.countedlenk",
"actParams": null,
"description": null
},
"billingResourceID": null,
"externalBillingResourceID": null,
"max": 5000,
"min": 1,
"measurable": false,
"instore": true,
"recFee": null,
"resourceCategory": {
"id": 1,
"name": {
"de": "",
"pt": "",
"en": "Additional Resources",
"it": "",
"fr": "",
"es": "",
"nl": "",
"tr": ""
},
"description": {
"de": "",
"pt": "",
"en": "Additional Resources",
"it": "",
"fr": "Additional Resources",
"nl": "",
"tr": "",
"es": ""
},
"parent": null,
"taxCatId": "All products"
},
"periods": [],
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpOveruseFee": null,
"rfeeShowZeroPrice": false,
"rfeePerUnit": false,
"ofeeShowZeroPrice": false,
"sfeePerUnit": false,
"sfeeShowZeroPrice": false
},
"action": "ADD",
"edit": false,
"add": true
}
],
"subscriptionPeriods": [
{
"value": {
"trial": true,
"periodType": "year",
"refundType": "no_refund",
"period": 4,
"fullRefundPeriod": 2,
"renewalFee": 0,
"recurringFee": 0,
"depositFee": 0,
"setupFee": 0,
"transferFee": 0,
"cancellationFeeType": "none",
"cancellationFeeValue": "",
"msrpSetupFee": null,
"msrpRecurringFee": null,
"msrpRenewalFee": null,
"msrpTransferFee": null,
"isAutoRenewPeriod": true,
"cancelationPolicies": null,
"downsizePolicies": null
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"planCategory": null,
"salesCategories": [],
"serviceTerms": "Default",
"welcomeNotificationTemplate": "Welcome Email - Wedge Networks2",
"expirationNotificationTemplate": "Subscription has Expired - Wedge Networks2",
"notificationScheduleId": null,
"termsConditions": [],
"vendorId": 1,
"vendorName": null,
"isAvailableForSale": null,
"cloneFrom": null,
"delegatedServicePlans": [
{
"value": {
"name": {
"en": "Teamleader EU (Yearly Plan)"
},
"planBillingPeriod": null,
"planBillingPeriodType": null,
"pricePeriodType": null,
"autoRenewType": null,
"renewOrderInterval": null,
"vendorTimezone": null,
"billingModel": null,
"serviceTemplateId": null,
"serviceTemplateName": null,
"description": null,
"resources": [],
"subscriptionPeriods": [],
"planCategory": null,
"salesCategories": [],
"serviceTerms": null,
"welcomeNotificationTemplate": null,
"expirationNotificationTemplate": null,
"notificationScheduleId": null,
"termsConditions": [],
"vendorId": 1000002,
"vendorName": "MICHAEL Legros, Crona",
"isAvailableForSale": null,
"cloneFrom": null,
"delegatedServicePlans": [],
"isEnableVolumePricingModel": null,
"ratingMode": null,
"alignWithStatementDay": null,
"isSalesOrderProrated": null,
"isFirstPeriodForFree": null,
"customStatementDay": null,
"upgrades": [],
"isPublished": null,
"resellerGroups": [],
"enName": "Teamleader EU (Yearly Plan)"
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"isEnableVolumePricingModel": true,
"ratingMode": null,
"alignWithStatementDay": null,
"isSalesOrderProrated": null,
"isFirstPeriodForFree": null,
"customStatementDay": null,
"upgrades": [
{
"value": {
"toServicePlanId": null,
"toServicePlanName": "Teamleader EU (Yearly Plan 2)",
"remainCurrentSubscriptionStartDate": false
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"isPublished": null,
"resellerGroups": [],
"enName": "Teamleader EU (Yearly Plan)"
},
"action": "EDIT",
"edit": true,
"add": false
}
],
"termsConditionsDetails": {
"Teamleader EU Additional Terms": {
"id": -2147483648,
"name": "Teamleader EU Additional Terms",
"acceptType": "On first purchase and after every T&C change",
"active": true,
"text": "<p><strong>Additional Terms and Conditions for TeamleaderEU Subscriptions</strong></p>\n<p><strong> </strong></p>\n<p>The following additional terms and conditions apply to Your purchase of WedgeARP™ Secure Home Office (“Vendor”) subscriptions and to the use of such Services by You and Your customers.</p>\n<p> </p>\n<h2><a name=\"_Toc381085506\"></a><a name=\"_Toc342658188\"></a>1. Term and Termination</h2>\n<h2> </h2>\n<p><a name=\"_Toc294012771\"></a><a name=\"_Toc285537541\"></a>Services start once provisioned through the marketplace. You may cancel the Services through the marketplace so long as no Service commitments are active hereunder (i.e. You or one or more of Your customers are employing any active Services). <a name=\"_Toc362955805\"></a><a name=\"_Toc362955620\"></a>You may only terminate the Service if there are no existing term commitments for Services. If You or Your customer terminates its use of a Service prior to the expiration of the term commitment for the selected service, You will remain responsible to Ingram Micro for all remaining and accrued charges for such Service pursuant to the selected term commitment. </p>\n<p> </p>\n<p><a name=\"_Toc362955804\"></a><a name=\"_Toc362955619\"></a>Services are available for minimum commitment of one month. Services will auto renew for an additional month, unless You cancel the Services one (1) business days prior to the expiration of the term commitment for the selected Service.</p>\n<p> </p>\n<h2>2. Fees</h2>\n<h2> </h2>\n<p><a name=\"_Toc320601176\"></a><a name=\"_Toc329005647\"></a><a name=\"_Toc328553059\"></a><a name=\"_Toc328552976\"></a><a name=\"_Toc327868816\"></a><a name=\"_Toc320697822\"></a>You agree to pay the fees and charges for the Services as outlined in the registration process and that appear on the Site, as may be amended from time to time. If You or Your customer exceeds the usage limits applicable to the Service subscription, You agree to pay for the fees and charges for such over usage. For any extension of a subscription term or the provisioning of a Service upgrade, the then-current price will apply, unless otherwise mutually agreed in writing by You and Ingram Micro. Ingram Micro, may, from time to time in its sole discretion, change the fees it charges for the Service. Any increase in the fees will take effect at the beginning of the new subscription term. Ingram Micro will notify You of any such changes by updating the Site or sending notice by e-mail or regular mail.</p>\n<p> </p>\n<h2>3. Territory Restriction</h2>\n<p> </p>\n<p>You may only resell and/or market the Services in Canada.</p>\n<h2> </h2>\n<h2>4. Terms of Sale & Terms of Use</h2>\n<h2> </h2>\n<p><strong>All purchases are subject to the sales terms set forth at </strong><a href=\"https://ca.cloud.im/legal\"><strong>https://at.cloud.im/legal</strong></a><strong> and service setup information, including but not limited to pricing, (where applicable) set forth in the marketplace. </strong>For the avoidance of doubt, notwithstanding the presence or acceptance by Ingram Micro of Your order, such shall be for administrative purposes only and the parties agree that the governing terms and conditions shall be those set forth at <a href=\"https://at.cloud.im/legal\"><strong>https://at.cloud.im/legal</strong></a> unless otherwise agreed to in writing by Ingram Micro and You.</p>\n<h2> </h2>\n<p><strong>The Services are provided by the Vendor. All terms of use and/or service as established by the Vendor and as set forth at </strong><a href=\"https://wedgenetworks.com/eula.aspx\">https://wedgenetworks.com/eula.aspx</a></p>\n<p><strong>shall apply, as applicable, to Your resale activity and to You and Your customers’ use of the Services (“Terms of Use”). You covenant, represent and warrant that You will present the Terms of Use to each of Your customers and obtain their enforceable agreement to the Terms of Use before permitting them to access or use the Service. You covenant, represent and warrant that no subscription for the Services shall be activated for or used by Your customers before the customer agrees to the Terms of Use. </strong>You will track and record acceptance by Your customers of the Terms of Use and will provide such information to Ingram Micro upon request.</p>\n<p> </p>\n<p>Ingram Micro may at any time modify these terms and conditions. You and Your customers must regularly monitor the Site for any such modifications. The modified terms and conditions will be effective immediately after it is posted on the Site. Your purchase and resale of the Services and You and Your customers’ use of the Services after any such modification will be deemed acceptance of such modification.</p>"
},
"Common": {
"id": -2147483647,
"name": "Common",
"acceptType": "On first purchase and after every T&C change",
"active": true,
"text": "On first purchase and after every T&C change"
}
},
"subscriptionNotificationTemplates": [
{
"name": "Welcome Email - Wedge Networks2",
"locale": "en",
"messageCategory": "RENEWAL_AND_EXPIRATION_NOTICES",
"htmlText": "<title>Welcome Email - Wedge Networks2</title>",
"plainText": "Welcome Email - Wedge Networks2",
"subject": "Your account for @@Subscription_Name@ is ready!",
"toAddress": "@@Cust_Account_BillingContact_Email@",
"toName": "@@Cust_Account_CompanyName@",
"bccAddress": "",
"fromAddress": "@@Vend_Account_TechContact_Email@",
"fromName": "@@Vend_Account_CompanyName@",
"pdfAttachmentName": "",
"active": true,
"condition": "",
"visibleToResellers": true,
"secureBody": false
},
{
"name": "Welcome Email - Wedge Networks2",
"locale": "fr",
"messageCategory": "RENEWAL_AND_EXPIRATION_NOTICES",
"htmlText": "<title>Welcome Email - Wedge Networks2 fr</title>",
"plainText": "Welcome Email - Wedge Networks2 fr",
"subject": "Votre compte @@ nom_souscription @ est prêt !",
"toAddress": "@@Cust_Account_BillingContact_Email@",
"toName": "@@Cust_Account_CompanyName@",
"bccAddress": "",
"fromAddress": "@@Vend_Account_TechContact_Email@",
"fromName": "@@Vend_Account_CompanyName@",
"pdfAttachmentName": "",
"active": true,
"condition": "",
"visibleToResellers": true,
"secureBody": false
},
{
"name": "Subscription has Expired - Wedge Networks2",
"locale": "en",
"messageCategory": "RENEWAL_AND_EXPIRATION_NOTICES",
"htmlText": "<title>Subscription has Expired - Wedge Networks2</title>",
"plainText": "Subscription has Expired - Wedge Networks2",
"subject": "Subscription has expired",
"toAddress": "@@Cust_Account_BillingContact_Email@",
"toName": "@@Cust_Account_CompanyName@",
"bccAddress": "",
"fromAddress": "@@Vend_Account_TechContact_Email@",
"fromName": "@@Vend_Account_CompanyName@",
"pdfAttachmentName": "",
"active": true,
"condition": "",
"visibleToResellers": true,
"secureBody": false
},
{
"name": "Subscription has Expired - Wedge Networks2",
"locale": "fr",
"messageCategory": "RENEWAL_AND_EXPIRATION_NOTICES",
"htmlText": "<title>Subscription has Expired - Wedge Networks2 fr</title>",
"plainText": "Subscription has Expired - Wedge Networks2 fr",
"subject": "L'abonnement a expiré",
"toAddress": "@@Cust_Account_BillingContact_Email@",
"toName": "@@Cust_Account_CompanyName@",
"bccAddress": "",
"fromAddress": "@@Vend_Account_TechContact_Email@",
"fromName": "@@Vend_Account_CompanyName@",
"pdfAttachmentName": "",
"active": true,
"condition": "",
"visibleToResellers": true,
"secureBody": false
}
],
"resourceDependencies": [
{
"value": {
"childResourceName": "Teamleader EU: Teamleader - monthly billing",
"parentResourceName": "Teamleader EU: Teamleader - yearly billing",
"dependenceKind": "CONFLICTS_ON_SUBSCRIPTION_LEVEL",
"childResourceId": null,
"parentResourceId": null,
"dependenceMultiplier": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"childResourceName": "Teamleader EU: Teamleader - monthly billing",
"parentResourceName": "Teamleader EU: Teamleader - yearly billing 2",
"dependenceKind": "CONFLICTS_ON_ACCOUNT_LEVEL",
"childResourceId": null,
"parentResourceId": null,
"dependenceMultiplier": null
},
"action": "EDIT",
"edit": true,
"add": false
},
{
"value": {
"childResourceName": "Teamleader EU: Teamleader - yearly billing",
"parentResourceName": "Teamleader EU: Teamleader - yearly billing 2",
"dependenceKind": "REQUIRES",
"childResourceId": null,
"parentResourceId": null,
"dependenceMultiplier": null
},
"action": "EDIT",
"edit": true,
"add": false
}
]
},
"appInfo": {
"appId": null,
"appCustomIconUrl": "/aps/2/applications/7047edc8-bcdb-4c42-9350-a2a0534c6200/aps/icon",
"impersonationUid": "cdd11205-aa5e-4d43-9e6e-64e62f947fef"
}
}
As a result, you will receive HTTP status code 202.
To obtain a list of notification templates used by PLM, make a request like this:
GET /aps/2/resources?implementing(http://com.odin.platform/inhouse-products/notificationTemplate/1.0)
As a result, you will receive a response like this:
HTTP/1.1 200 OK
[
{
"content": "...",
"templateName": "Welcome e-mail - other products",
"templateType": "welcome_email",
"aps": {
"modified": "2022-04-21T07:13:16Z",
"id": "b22b0399-cfe7-433b-b128-ede173887b52",
"type": "http://com.odin.platform/inhouse-products/notificationTemplate/1.0",
"status": "aps:ready",
"revision": 3
}
},
{
"content": "...",
"templateName": "Subscription has Expired - other products",
"templateType": "expiration_email",
"aps": {
"modified": "2022-04-21T07:13:16Z",
"id": "526d8c2e-5910-4c05-8828-2c763c60d2c0",
"type": "http://com.odin.platform/inhouse-products/notificationTemplate/1.0",
"status": "aps:ready",
"revision": 3
}
}
]