`Plans` секциясы
plans секциясында сервис тарифтік жоспарларын келесі құрылым бойынша сипаттаңыз:
"plans": [{<PLAN_PARAMETERS>,"display": {},"billing": {},"schemas": {}},...]
Мұнда:
<PLAN_PARAMETERS>— жоспар параметрлері (толығырақ Тарифтік жоспар параметрлері бөлімінде).displayсекциясы — нақты тарифтік жоспардың конфигурация шеберін сипаттайды (толығырақdisplayсекциясы бөлімінде).billingсекциясы — жоспардың және оның опцияларының құнын сипаттайды (толығырақbillingсекциясы бөлімінде).schemasсекциясы — жоспардың тарифтік опцияларын сипаттайды (толығырақschemasсекциясы бөлімінде).
Тарифтік жоспар үшін 2 кестесінде келтірілген параметрлерді көрсетіңіз.
Атауы | Сипаттамасы | Форматы | Міндетті | Әдепкі мәні |
|---|---|---|---|---|
id | UUID4 генераторының көмегімен жасалған UUID4 тарифтік жоспар идентификаторы (ID) | string (UUID4) | ||
revision | Тарифтік жоспар ревизиясы. Тарифтік жоспар ревизиясы мен ID тіркесімі оның сервистегі бірегейлігін анықтайды. Қалған параметрлер тарифтік жоспардың нақты ревизиясының сипаттамаларын сипаттайды | string, 255 таңбаға дейін | ||
name | Дүкен интерфейсінде көрсетілмейтін тарифтік жоспардың техникалық атауы. Бос орындардың орнына төменгі сызықша белгісін пайдаланып, латын әріптерімен көрсетілуі тиіс | string, 255 таңбаға дейін | ||
description | Дүкен интерфейсінде көрсетілетін тарифтік жоспар атауы | string, 255 таңбаға дейін | ||
free | Тарифтік жоспардың тегін екенін не еместігін анықтайды | boolean | ||
plan_updateable | Пайдаланушы сервисті жоймай-ақ бір тарифтік жоспардан екіншісіне өте ала ма, соны анықтайды. Сервистің осы аттас параметрінде берілген мәнді қайта анықтайды | boolean | ||
metadata | Тарифтік жоспар қолжетімді болатын дүкеннің тестілік және ашық атаулар кеңістіктерін анықтайды. Тестілік атаулар кеңістіктері Ашық атаулар кеңістіктері Атаулар кеңістіктерінің атауларын алу үшін marketplace@cloud.vk.com мекенжайына хат жіберіңіз. Егер атаулар кеңістіктері берілмесе, сервистің осы аттас параметрінде көрсетілген мәндер пайдаланылады (толығырақ — Сервис параметрлері бөлімінде) | map, кілттер — string |
display секциясында тарифтік жоспардың конфигурация шеберін (толығырақ Тарифтік жоспар конфигурациясының шебері бөлімінде) келесі құрылым бойынша сипаттаңыз:
"display": {"pages": [{<PAGE_PARAMETERS>,"groups": [{<GROUP_PARAMETERS>,"parameters": [{<OPTION_PARAMETERS>},...]}...]},...]}
Мұнда:
-
pagesсекциясы — тарифтік жоспар конфигурациясы шеберінің беттерін сипаттайды. Бос болуы мүмкін. -
<PAGE_PARAMETERS>— бір беттің параметрлері. -
groupsсекциясы — бір бет шеңберіндегі тарифтік опциялар топтарын сипаттайды. -
<GROUP_PARAMETERS>— тарифтік опциялар тобының параметрлері. -
parametersсекциясы — бір топ шеңберіндегі тарифтік опцияларды анықтайды. -
<OPTION_PARAMETERS>— тарифтік опциялар параметрлері.
display секциясында тарифтік жоспар конфигурациясы шеберінің бірінші және соңғы беттерінен басқа барлық беттері сипатталады. Беттердің ең көп саны — 5.
Беттердің, топтардың және топтардағы тарифтік опциялардың параметрлері бірдей және 2 кестесінде келтірілген.
Атауы | Сипаттамасы | Форматы | Міндетті |
|---|---|---|---|
name | JSON-файлдағы беттің, топтың немесе тарифтік опцияның атауы. | string. Бет атауы — 32 таңбаға дейін. Топ атауы — 255 таңбаға дейін | |
index | Беттің, беттегі топтың немесе топтағы тарифтік опцияның реттік нөмірі | integer |
1 суретінде келтірілген тарифтік жоспар конфигурациясы шебері display секциясының келесі мазмұнына сәйкес келеді:
"display": {"pages": [{"name": "Настройки", // Имя страницы"index": 0,"groups": [{"name": "", // Имя группы"index": 0,"parameters": [{"name": "api_requests_daily_limit", // Имя тарифной опции в JSON-файле"index": 0,},{"name": "groups","index": 1,},{"name": "products","index": 2,},{"name": "reports","index": 3}]}]}]}

Әдепкі бойынша тарифтік жоспар конфигурациясы шеберінде groups тарифтік опцияларының барлық топтары көрсетіліп, бапталады. Топ тек белгілі бір шарттарда ғана көрсетілуі үшін when конструкциясын қолданыңыз. Конструкция сипаттамасы Конструкция when бөлімінде келтірілген.
{"when": {"in": { // Или "not_in""key": {"param": "<OPTION>" // Или "const": "<VALUE>"},"values": [{"const": "<VALUE>"},{"param": "<OPTION>"},...]}},"parameters": [...]}
Мұнда:
<OPTION>— JSON-файлдағы тарифтік опцияның атауы.<VALUE>— тұрақтының мәні.
pages секциясындағы when конструкциясы image-based қосымшалардағыдай қолданылады (толығырақ Массив pages ішінде бөлімінде).
{"pages": [{"name": "Настройки бекапа", // Имя страницы"groups": [{"name": "High-frequency бекап", // Имя группы тарифных опций"parameters": [{"name": "frequency_per_day" // Имя тарифной опции в JSON-файле}],"when": {"in": {"key": {"param": "backup_method" // Имя тарифной опции в JSON-файле},"values": [{"const": "high-frequency"}]}}}]}]}
Жоғарыдағы мысалда high-frequency әдісі үшін бэкаптарды жасау жиілігі бапталады: егер backup_method тарифтік опциясының мәні high-frequency болса, тарифтік жоспар конфигурациясы шеберінде frequency_per_day тарифтік опциясы бар High-frequency бекап тобын көрсету керек.
backup_method тарифтік опциясы:
- Басқа топтарда
whenконструкциясында қолданылуы мүмкін. - Басқа топтағы
parametersішінде берілуі тиіс.
frequency_per_day тарифтік опциясын басқа топтарда қолдануға болмайды:
whenконструкциясында, себебі тәуелділіктер иерархиясының бір деңгейі ғана қолдау көрсетіледі.parametersішінде, себебі бір тарифтік опция тек бір топта ғана көрсетілуі мүмкін.
billing секциясында мыналар көрсетіледі:
-
Нақты тарифтік жоспардың құны.
-
Тарификацияға арналған есептік кезеңнің ұзақтығы.
-
Marketplace брокерден ресурстарды пайдалану туралы есептерді қандай жиілікпен сұрататыны.
-
Пайдаланылмаған бонустармен жасалатын әрекеттер тәртібі.
-
integerтипті тарифтік опциялар үшін пайдаланушылық өзгерту қадамы. -
Жоспардың тарифтік опцияларының құны. Келесі типтегі опциялар ақылы болуы мүмкін:
- Сандық (
integer,number). Алдын ала төленетін және кейін төленетін тарификацияға қолдау көрсетіледі. - Логикалық (
boolean). Алдын ала төленетін тарификацияға қолдау көрсетіледі.
- Сандық (
Тарификация түрлері туралы толығырақ Тарифтеу бөлімінде сипатталған.
Қолданылатын тарификация тәсілі plans.schemas секциясындағы тарифтік опциялардың сипатталу орнына қарай анықталады (толығырақ schemas секциясы бөлімінде):
- Егер опциялар
service_instance.createжәнеservice_instance.updateсекцияларында сипатталса, алдын ала төленетін тарификация қолданылады. - Егер опциялар
service_instance.resource_usagesсекциясында сипатталса, кейін төленетін тарификация қолданылады.
billing секциясын келесі құрылым бойынша сипаттаңыз:
"billing": {"cost": <COST>,"billing_cycle_flat": <PERIOD>,"billing_cycle_step": <STEP>,"refundable": <IS_REFUNDABLE>,"options": {"<OPTION>": {<OPTION_BILLING>},...}}
Мұнда:
-
costпараметрі — ақылы тарифтік опцияларды есепке алмағанда,<COST>есептік кезеңіне арналған жоспар құнын анықтайды. Дүкен өрістетілген елдің валютасында беріледі. Егер жоспар тегін болса,0көрсетіледі. Тек алдын ала төленетін тарификацияға қолдау көрсетіледі. -
(Қосымша)
billing_cycle_flatпараметрі — тарификацияға арналған есептік кезеңнің ұзақтығын анықтайды. Тек алдын ала төленетін тарифтік жоспар үшін көрсетуге болады. Әдепкі бойынша —1 mons 0 days.Келесі форматта беріледі:
<АЙЛАР_САНЫ> mons <КҮНДЕР_САНЫ> days, мысалы:1 mons 15 days,30 days.monsайындағы күндер саны күнтізбелік мән негізінде есептеледі, сондықтан1 mons 0 daysжәне0 mons 31 daysкезеңдері өзара тең емес. -
(Қосымша)
billing_cycle_stepпараметрі — дүкен брокерден өңделмеген есептердің бар-жоғын қандай кезеңмен сұрайтынын анықтайды (толығырақ Тарификация бөлімінде). Тек кейін төленетін тарифтік опциялары бар тарифтік жоспар үшін көрсетуге болады. Әдепкі бойынша —1 mons 0 days.Келесі форматта беріледі:
<АЙЛАР_САНЫ> mons <КҮНДЕР_САНЫ> days, мысалы:1 mons 15 days,30 days.monsайындағы күндер саны күнтізбелік мән негізінде есептеледі, сондықтан1 mons 0 daysжәне0 mons 31 daysкезеңдері өзара тең емес. -
(Қосымша)
refundableпараметрі — егер пайдаланушы тарифтік жоспарды өзгерткен немесе сервис инстансын жойған болса, есептік кезеңнің қалған күндері үшін қаражатты жобаның бонустық шотына қайтару керек пе, соны анықтайды. Тек алдын ала төленетін тарифтік жоспар үшін көрсетуге болады. Әдепкі бойынша —true.Параметр пайдаланушы тарифтік жоспарды өзгерткен кезде (тарифтік опцияларды өңдегенде немесе жаңасына өткенде) сервис үшін төлемді есептен шығару күніне әсер етеді:
- Егер мән
trueболса, күн өзгермейді. - Егер мән
falseболса, күн тарифтік жоспар өзгерген күнге жаңартылады.
- Егер мән
-
(Қосымша)
optionsсекциясы — ақылы тарифтік опциялардың құнын сипаттайды.<OPTION>— JSON-файлдағы тарифтік опцияның атауы.<OPTION_BILLING>— тарифтік опция құны жәнеintegerтипті опция үшін өзгерту қадамының параметрлері. Тарифтік опцияның өзі (типі, мәнді баптау параметрлері)schemasсекциясы секциясында сипатталады.
<OPTION_BILLING> ішіндегі integer типті тарифтік опцияның өзгерту қадамы image-based қосымшадағыдай параметрлермен сипатталады (толығырақ billing секциясы бөлімінде).
Опция тегін болуы үшін billing.options.<OPTION>.cost параметрінде 0 көрсетіңіз.
"billing": {"cost": 2000, // Стоимость тарифного плана"options": {"quantity": { // Имя опции в JSON-файле"base": 25, // Стандартное значение опции"cost": 0, // Стоимость шага изменения опции"unit": {"size": 100 // Шаг изменения опции}}}}
Жоғарыда сипатталған тарифтік жоспар мен опция тарифтік жоспар конфигурациясы шеберінде қалай көрсетілетіні 1, 2, 3-суреттерде келтірілген.
<OPTION_BILLING> ішіндегі integer типті алдын ала төленетін тарифтік опцияның құны мен өзгерту қадамы image-based қосымшадағыдай параметрлермен сипатталады (толығырақ billing секциясы бөлімінде).
Опция алдын ала төленетін болуы үшін billing.options.<OPTION>.cost параметрінде 1 өзгерту қадамының құнын көрсетіңіз.
"billing": {"cost": 2000, // Стоимость тарифного плана"options": {"quantity": { // Имя опции в JSON-файле"base": 25, // Стандартное значение опции"cost": 150, // Стоимость шага изменения опции"unit": {"size": 100 // Шаг изменения опции}}}}
Жоғарыда сипатталған тарифтік жоспар мен опция тарифтік жоспар конфигурациясы шеберінде қалай көрсетілетіні 4, 5, 6-суреттерде келтірілген.
boolean ауыстырғыш опциясы алдын ала төленетін болуы үшін billing.options.<OPTION>.cost параметрінде құнын көрсетіңіз.
"billing": {"cost": 2000, // Стоимость тарифного плана"options": {"notifications": { // Имя опции в JSON-файле"cost": 50 // Стоимость опции}}}
8 суретінде жоғарыда сипатталған тарифтік жоспар мен опция тарифтік жоспар конфигурациясы шеберінде қалай көрсетілетіні келтірілген.
<OPTION_BILLING> ішіндегі integer немесе number типті кейін төленетін опцияның құны 3 кестесінде келтірілген параметрлермен сипатталады.
Атауы | Сипаттамасы | Форматы | Міндетті |
|---|---|---|---|
cost | Тарифтік опция бірлігінің құнын анықтайды. | float64, >= 0 | |
unit | Опцияның өлшем бірліктерін анықтайды | ||
| |||
unit.size | Опцияны тарификациялау қадамы. Мәні | integer | |
unit.measurement | Опцияның өлшем бірліктерін анықтайды | string, 255 таңбаға дейін | |
"billing": {"cost": 0, // Стоимость тарифного плана"options": {"storage": { // Имя опции в JSON-файле"cost": 7,"unit": {"size": 1,"measurement": "ГБ"}}}}
Жоғарыдағы мысалда тарифтік жоспар тегін, storage тарифтік опциясының бірлігі 7 ақша бірлігіне тең (9 сурет).
schemas секциясында нақты жоспардың тарифтік опцияларын (толығырақ Тарифтік опциялардың түрлері бөлімінде) келесі құрылым бойынша сипаттаңыз:
"schemas": {"service_instance": {"create": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {}}},"update": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {}}},"resource_usages": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {}}}},"service_binding": {"create": {"parameters": {"type": "object","properties": {}}}}}
Мұнда:
-
service_instanceсекциясы — жоспардың тарифтік опцияларын сипаттайды және ақылы опциялар үшін қаражатты есептен шығару тәсілін анықтайды.service_instance.createсекциясы — сервисті қосу кезінде тарифтік жоспар конфигурациясы шеберінде белсенді болатын тегін және алдын ала төленетін тарифтік опцияларды сипаттайды.service_instance.updateсекциясы — сервис тарифтік жоспарын жаңарту кезінде тарифтік жоспар конфигурациясы шеберінде белсенді болатын тегін және алдын ала төленетін тарифтік опцияларды сипаттайды.service_instance.resource_usagesсекциясы — кейін төленетін тарифтік опцияларды сипаттайды.
-
service_bindingсекциясы — сервистік байланыстарды жасауды сипаттайды.
schemas ішіндегі барлық секциялар JSON-файлда жариялануы міндетті. Секциялар бос болуы мүмкін.
Тарифтік опция параметрлері JSON-схемалармен сипатталады. Ақылы опциялардың құны, сондай-ақ integer типті опция үшін өзгерту қадамы plans.billing.options секциясында сипатталады (толығырақ billing секциясы бөлімінде).
SaaS-қосымша үшін datasource түрінен басқа барлық тарифтік опция типтеріне қолдау көрсетіледі (толығырақ Тарифтік опциялардың түрлері бөлімінде). Тарифтік опциялар image-based қосымшадағыдай параметрлермен сипатталады (толығырақ schema секциясы бөлімінде). Опция құны billing секциясы секциясында сипатталады.
Дүкен интерфейсінде әртүрлі опция типтерінің көрсетілу мысалдарымен schema секциясын толтыру YAML тарифтік опциялар файлдарын толтыру бөлімінде сипатталған.
Төменде JSON форматында әртүрлі опция типтерін сипаттау мысалдары келтірілген.
"schemas": {"service_instance": {"create": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {"int_const": { // Тарифная опция-константа типа integer"type": "integer","description": "Размер системного диска","hint": "В ГБ","const": 20},"int_enum": { // Тарифная опция типа integer с выбором значения из списка"type": "integer","description": "Количество серверов в кластере","enum": [3, 5, 7],"default": 5},"int_step_1": { // Тарифная опция типа integer с шагом изменения 1"type": "integer","description": "Количество участников","hint": "Количество сотрудников компании заказчика, которые могут использовать инфраструктуру тестирования и обрабатывать отчеты от тестировщиков VK Testers.","default": 20,"minimum": 20},"int_step_user": { // Тарифная опция типа integer с пользовательским шагом изменения. Параметры шага описываются в секции billing"type": "integer","description": "Объем загружаемых сборок","hint": "На платформу можно загружать тестовые сборки приложений для раздачи сотрудникам заказчика и тестировщикам VK Testers. Чем больше хранилище, тем больше версий ваших продуктов можно сохранять на платформе тестирования. Поддерживаемые платформы: iOS, Android, Windows, MacOS, Linux.","default": 0},"string_const": { // Тарифная опция-константа типа string"type": "string","description": "Логин администратора","const": "admin@example.ru"},"string_input": { // Тарифная опция типа string с вводом значения"type": "string","description": "Email администратора","hint": "Email для выпуска SSL-сертификата"},"string_enum": { // Тарифная опция типа string с выбором значения из списка"type": "string","description": "OS тип","hint": "Операционная система","enum": ["Ubuntu 20.4", "Windows 8.1", "Windows 10"],"default": "Windows 8.1"},"boolean_const": { // Тарифная опция-константа типа boolean"type": "boolean","description": "Premium поддержка","hint": "Техническая поддержка 24/7","const": false},"boolean": { // Тарифная опция-переключатель типа boolean"type": "boolean","description": "Уведомления об обновлениях","hint": "Получать ли на почту уведомления о новых версиях сервиса.","default": true}}}},"update": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {}}},"resource_usages": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {}}}},"service_binding": {"create": {"parameters": {"type": "object","properties": {}}}}}
"schemas": {"service_instance": {"create": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {}}},"update": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {}}},"resource_usages": {"parameters": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {"storage": {"description": "Хранение в ДЦ Киберпротект для продуктов Бэкап Облачный","type": "number"}}}}},"service_binding": {"create": {"parameters": {"type": "object","properties": {}}}}}