Ինքնուրույն ԱԿՀ-ի API-ն և MCP-ն
Ձեր սեփական Cenaly ԱԿՀ-ն բաց է ձեր ծրագրերի և ԱԲ օգնականների համար.
- CRM, հաշվառման համակարգ, ձեր կայք — REST API՝ զանգերի մատյան, ձայնագրումներ և վերծանումներ, զանգ մեկ սեղմումով, ներքին համարներ, փոխանցում, զանգերի կանոններ;
- Claude Code, Claude Desktop, Cursor — հեռավոր MCP սերվեր բանալիով;
- ChatGPT, claude.ai, Perplexity, Cursor և VS Code — նույն MCP սերվերը առանց բանալու. Դուք մուտք եք գործում ձեր հաշիվ և թույլատրում հասանելիությունը (OAuth):
Ամեն ինչ աշխատում է հաշվի սեփականատիրոջ անունից և միայն նրա տված իրավունքներով։ Յուրաքանչյուր փոփոխություն երևում է ԱԿՀ-ի գործողությունների մատյանում՝ բանալու կամ հավելվածի անվանմամբ։
Հասցեներ#
| Ինչ | Հասցե |
|---|---|
| REST API | https://api.cenaly.com/pbx-api/v1 |
| MCP սերվեր (streamable HTTP) | https://api.cenaly.com/pbx-api/mcp |
| Մեթոդների փաստաթղթեր | api.cenaly.com/pbx-api/v1/docs |
| OpenAPI 3.1 նկարագրություն | api.cenaly.com/pbx-api/v1/openapi.json |
| OAuth մետատվյալներ | https://api.cenaly.com/.well-known/oauth-authorization-server/pbx-api |
Բանալին և իրավունքները#
Բանալին ստեղծում է միայն հաշվի սեփականատերը․ Հեռախոսակապ → API և MCP → Բանալիներ → Ստեղծել բանալի։ «ԱԿՀ-ի ադմինիստրատոր» դերով աշխատակիցը բանալիներ չի տեսնում․ բանալին գործում է սեփականատիրոջ անունից։
cpx_…տեսքի բանալին ցուցադրվում է մեկ անգամ՝ ստեղծելուց անմիջապես հետո, միացման պատրաստի ներդիրների հետ միասին։ Մեզ մոտ պահվում է միայն դրա մատնահետքը (SHA-256), բանալին վերականգնել հնարավոր չէ․ միայն նորը թողարկել։- Բանալին կարելի է սահմանափակել մասնաճյուղերով (հակառակ դեպքում՝ բոլոր մասնաճյուղերը, ներառյալ ապագաները) և ժամկետով (30, 90, 365 օր կամ անժամկետ)։
- «Իրավունքները» փոխում են բանալու իրավունքներն ու մասնաճյուղերը ընթացքի մեջ․ ինտեգրումները շարունակում են աշխատել, նոր իրավունքները գործում են հաջորդ հարցումից։
- «Հետ կանչել»՝ անմիջապես և ընդմիշտ․ այս բանալիով հաջորդ հարցումը կստանա 401։
- Գործող բանալիների և միացումների քանակը՝ մինչև 20 մեկ հաշվի համար։
Իրավունքներն ընտրվում են պատրաստի հավաքածուով կամ նշատուփերով․
| Իրավունք | Ինչ է տալիս | Հավաքածուներ |
|---|---|---|
calls:read |
զանգերի մատյան և զանգի քարտ՝ երթուղով | CRM, ԱԲ օգնական, միայն ընթերցում, ամեն ինչ |
recordings:read |
զրույցի ձայնագրման հղում (10 րոպե) և վերծանում | CRM, ԱԲ օգնական, միայն ընթերցում, ամեն ինչ |
calls:dial |
զանգ մեկ սեղմումով․ սկզբում զանգահարում է աշխատակցի հեռախոսը, պատասխանից հետո ԱԿՀ-ն հավաքում է համարը | CRM, ԱԲ օգնական, ամեն ինչ |
extensions:read |
ներքին համարներ, խմբեր, փոխանցում, «մի անհանգստացնել» | CRM, ԱԲ օգնական, միայն ընթերցում, ամեն ինչ |
extensions:write |
փոխել անձնական փոխանցումը և «մի անհանգստացնել» | ԱԲ օգնական, ամեն ինչ |
presence:read |
ով ազատ է, զանգում է, խոսում է | ԱԲ օգնական, միայն ընթերցում, ամեն ինչ |
reports:read |
զանգերի կենտրոնի չափանիշները ժամանակահատվածի համար․ սպասարկման մակարդակ, սպասում, կորցրած զանգեր, AHT, FCR, CSAT, որտեղ ենք կորցնում զանգերը, կտրվածքներ ըստ հերթերի, գծերի, աշխատակիցների | միայն ընթերցում, ամեն ինչ |
routes:read |
համարներ, մուտքային և ելքային կանոններ, կանոնների պատմություն | միայն ընթերցում, ամեն ինչ |
routes:write |
ստեղծել, փոխել, ջնջել և վերադասավորել զանգերի կանոնները, հետ վերադարձնել պատմությունից | միայն առանձին նշատուփով |
config:export |
ԱԿՀ-ի կարգավորումների արտահանում ֆայլի ձևաչափով | միայն առանձին նշատուփով |
config:import |
կարգավորումների ներմուծում աղյուսակներից․ նախադիտում, ապա կիրառում | միայն առանձին նշատուփով |
webhooks:write |
զանգերի իրադարձությունների վեբհուքեր ստեղծել, փոխել, ստուգել և ջնջել | միայն առանձին նշատուփով |
daynight:write |
փակել մասնաճյուղը մինչև օրվա վերջ կամ մինչև ամսաթիվ, բացել՝ նույնը, ինչ հեռախոսից *28 |
միայն առանձին նշատուփով |
Իրավունքները, որոնք ինչ-որ բան փոխում են կամ րոպեներ ծախսում, պատուհանում նշված են սաթագույնով։ Վերջին երեք իրավունքները չեն մտնում ոչ մի հավաքածուի մեջ, նույնիսկ «Ամեն ինչի»․ դրանք կարելի է տալ միայն գիտակցված՝ առանձին նշատուփով։
ChatGPT, claude.ai, Perplexity, Cursor, VS Code․ միացում առանց բանալու#
Ամպային օգնականները չեն կարողանում բանալին ներդնել վերնագրում․ նրանք MCP սերվերը միացնում են OAuth-ով։ Բանալի ստեղծել պետք չէ։
claude.ai․ Կարգավորումներ → Կոնեկտորներ → Ավելացնել սեփական կոնեկտոր → ներդրեք https://api.cenaly.com/pbx-api/mcp → Միացնել։
ChatGPT․ Կարգավորումներ → Հավելվածներ և կոնեկտորներ → Լրացուցիչ → միացրեք մշակողի ռեժիմը → Ստեղծել → ներդրեք https://api.cenaly.com/pbx-api/mcp, նույնականացումը՝ OAuth։
Perplexity․ Հաշվի կարգավորումներ → Կոնեկտորներ → «+ Սեփական կոնեկտոր» → Հեռավոր → ներդրեք https://api.cenaly.com/pbx-api/mcp, նույնականացումը՝ OAuth։
Cursor և VS Code․ ավելացրեք հեռավոր (HTTP) MCP սերվեր https://api.cenaly.com/pbx-api/mcp հասցեով՝ առանց բանալիով վերնագրի․ մուտքի պատուհանը կբացվի զննարկիչում։ Cursor-ում՝ .cursor/mcp.json → {"mcpServers": {"cenaly-pbx": {"url": "https://api.cenaly.com/pbx-api/mcp"}}}; VS Code-ում՝ «MCP: Add Server» հրամանը → HTTP։
Այնուհետև օգնականը կբացի Cenaly-ի մուտքի պատուհանը։ Մուտքից հետո դուք կտեսնեք․
- ով է հասանելիություն խնդրում՝ հավելվածը կոչվում է ըստ այն հասցեի, ուր կվերադառնա պատասխանը․ «Ստուգված կոնեկտոր · chatgpt.com» (նույն կերպ՝ claude.ai, perplexity.ai, vscode.dev, Cursor), «Ծրագիր այս համակարգչում» կամ «Անծանոթ հասցե» նախազգուշացումը։ Հավելվածի ուղարկած անվանումը ցուցադրվում է մանր տառերով․ այն կարող է գրել ցանկացած ոք;
- իրավունքները՝ նշված է այն, ինչ խնդրում է հավելվածը (եթե այն խնդրում է «ամեն ինչ անընդմեջ», նշված է «ԱԲ օգնական» հավաքածուն); «միայն առանձին նշատուփով» իրավունքները նախապես երբեք չեն նշվում;
- մասնաճյուղերը՝ բոլորը կամ ընտրվածները։
«Թույլատրել»-ը ձեզ վերադարձնում է օգնականի մոտ, և նա անմիջապես տեսնում է ԱԿՀ-ի գործիքները։ Միացումը հայտնվում է Հեռախոսակապ → API և MCP → Բանալիներ բաժնում՝ OAuth պիտակով և հավելվածի հասցեով տողով․ այնտեղ էլ փոխվում են իրավունքները և հետ կանչվում հասանելիությունը։ Նույն հավելվածի կրկնակի միացումը թարմացնում է դրա իրավունքները, այլ ոչ թե ստեղծում երկրորդ միացում։
Միացումները կարող է թույլատրել միայն հաշվի սեփականատերը։
Claude Code, Claude Desktop, Cursor. միացում բանալիով#
Claude Code — մեկ հրամանով.
claude mcp add --transport http telephony https://api.cenaly.com/pbx-api/mcp --header "Authorization: Bearer cpx_…"
Claude Desktop, Cursor (.cursor/mcp.json) և կարգավորումների ֆայլ ունեցող այլ հաճախորդներ.
{
"mcpServers": {
"telephony": {
"type": "http",
"url": "https://api.cenaly.com/pbx-api/mcp",
"headers": { "Authorization": "Bearer cpx_…" }
}
}
}
Ձեր բանալիով պատրաստի ներդիրները ցուցադրվում են բանալին ստեղծելուց անմիջապես հետո։ Օգնականը տեսնում է միայն բանալիով թույլատրված գործիքները և կարող է պատասխանել «ով է այսօր զանգահարել ու չի կապվել», «հետ զանգահարիր այս հյուրին Աննայի հեռախոսից», «միացրու ինձ բջջայինի վրա փոխանցումը» հարցերին։
REST API#
Բանալին՝ Authorization: Bearer <բանալի> վերնագրում (կամ X-Api-Key)։ Եթե բանալին ունի մեկ մասնաճյուղ, location պարամետրը կարելի է չփոխանցել. եթե մի քանիսը՝ 400 location_required պատասխանը կթվարկի դրանք։
| Մեթոդ | Ուղի | Իրավունք | Ինչ է անում |
|---|---|---|---|
| GET | /v1/me |
— | բանալու իրավունքները, մասնաճյուղերը և սահմանաչափերը |
| GET | /v1/locations |
— | բանալու մասնաճյուղերը և դրանց ԱՀԿ-ները |
| GET | /v1/calls |
calls:read |
զանգերի մատյան. since, until, direction, status (answered, missed, ai), number, extension, limit մինչև 100, cursor |
| GET | /v1/calls/{id} |
calls:read |
զանգ՝ երթուղով. որ կանոնն է գործել, ում հեռախոսն է զանգել, ով է պատասխանել |
| GET | /v1/calls/{id}/recording |
recordings:read |
հղում ձայնագրմանը 10 րոպեով |
| GET | /v1/calls/{id}/transcript |
recordings:read |
զրույցի ապակոդավորումը և ամփոփումը |
| POST | /v1/dial |
calls:dial |
զանգ մեկ սեղմումով. { "extension": "101", "number": "+995555123456" } |
| GET | /v1/dial/{commandId} |
calls:dial |
ինչպես է ընթանում զանգը մեկ սեղմումով |
| GET | /v1/extensions |
extensions:read |
լրացուցիչներ, խմբեր, փոխանցում, «մի անհանգստացնել» |
| PUT | /v1/extensions/{ext}/forwarding |
extensions:write |
լրացուցիչի անձնական փոխանցում |
| PUT | /v1/extensions/{ext}/dnd |
extensions:write |
«մի անհանգստացնել». { "on": true } |
| GET | /v1/presence |
presence:read |
ով է ազատ հենց հիմա |
| GET | /v1/metrics |
reports:read |
զանգերի կենտրոնի չափանիշները ժամանակահատվածի համար. from, to (մասնաճյուղի տեղական ամսաթվերը YYYY-MM-DD, լռելյայն՝ վերջին 7 օրը), compare (prev, year, prev,year կամ դատարկ), sections (metrics,loss,queues,lines,operators,directions,heatmap,daily), callbacks=true — նաև հետզանգի արագությունը |
| GET | /v1/routes |
routes:read |
համարները, մուտքային և ելքային կանոնները |
| GET | /v1/routes/history |
routes:read |
կանոնների փոփոխությունների պատմությունը |
| POST, PUT, DELETE | /v1/routes/inbound…, /v1/routes/outbound… |
routes:write |
զանգերի կանոնները մեկ առ մեկ. ստեղծել, փոխել փոխանցված դաշտերը, ջնջել, վերադասավորել, հետ շրջել |
| GET, POST | /v1/config/export, /v1/config/import |
config:export, config:import |
կարգավորումները ֆայլի ձևաչափով. բեռնումը՝ նախադիտում, ապա կիրառում |
| GET | /v1/events |
calls:read |
մասնաճյուղի զանգերի իրադարձությունները 7 օրվա համար (մինչև 2000). since (իրադարձության id կամ ժամանակ), types, limit (մինչև 500 մեկ պատասխանի համար) |
| GET, POST, PATCH, DELETE | /v1/webhooks… |
webhooks:write |
վեբհուքեր. ցանկ, ստեղծել, փոխել, ջնջել. …/rotate-secret, …/test, …/deliveries |
| GET, PUT | /v1/open-closed |
routes:read, daynight:write |
փակ է արդյոք և մինչև երբ. փակել մինչև օրվա վերջ { "closed": true }, մինչև ամսաթիվ { "closed": true, "until": "2026-10-05T09:00" } կամ բացել |
Դաշտերի ամբողջական նկարագրությունը՝ փաստաթղթերի էջում և OpenAPI-ում։
Ով է այսօր զանգահարել ու չի կապվել.
curl -H "Authorization: Bearer cpx_…" \
"https://api.cenaly.com/pbx-api/v1/calls?status=missed&since=$(date -u +%Y-%m-%dT00:00:00Z)"
Հետ զանգահարել հաճախորդին 101 լրացուցիչի հեռախոսից.
curl -X POST -H "Authorization: Bearer cpx_…" -H "Content-Type: application/json" \
-d '{"extension":"101","number":"+995555123456"}' "https://api.cenaly.com/pbx-api/v1/dial"
Սեպտեմբերի չափանիշները՝ օգոստոսի և անցյալ տարվա սեպտեմբերի համեմատությամբ — ձեր BI վահանակի համար.
curl -H "Authorization: Bearer cpx_…" \
"https://api.cenaly.com/pbx-api/v1/metrics?from=2026-09-01&to=2026-09-30&compare=prev,year"
Պատասխանում metrics-ը՝ նույն թվերը, ինչ Հեռախոսակապ → Զանգերի մատյան → Վերլուծություն էկրանին. մուտքային, ընդունված և բաց թողնված, սպասարկման մակարդակ (շեմը և նպատակը՝ հերթի կարգավորումներից), միջին և առավելագույն սպասում, կարճերով չընդհատված թողնվածների մասնաբաժինը, AHT, FCR, փոխանցումների և բոտի մասնաբաժինը, CSAT։ compare.prev-ը և compare.year-ը՝ նույն դաշտերը նախորդ ժամանակահատվածի և անցյալ տարվա նույն ժամանակահատվածի համար։ Անցյալ տարվա հետ համեմատությունը հաշվարկվում է մինչև 400 օր ժամանակահատվածների համար։
Միացնել փոխանցումը բջջայինի վրա, եթե աշխատակիցը 15 վայրկյանում չի պատասխանել.
curl -X PUT -H "Authorization: Bearer cpx_…" -H "Content-Type: application/json" \
-d '{"forward":{"noAnswer":{"kind":"number","number":"+995599000111"},"noAnswerSec":15}}' \
"https://api.cenaly.com/pbx-api/v1/extensions/101/forwarding"
MCP գործիքներ#
Նույն գործողությունները, ինչ REST-ում։ Հաճախորդը տեսնում է միայն այն գործիքները, որոնք թույլատրված են բանալիով կամ միացմամբ.
| Գործիքներ | Իրավունք |
|---|---|
list_locations |
— |
list_calls, get_call |
calls:read |
get_call_recording, get_call_transcript |
recordings:read |
call_number, get_dial_status |
calls:dial |
list_extensions |
extensions:read |
set_forwarding, set_do_not_disturb |
extensions:write |
get_presence |
presence:read |
get_call_metrics |
reports:read |
list_routes, list_route_history |
routes:read |
save_inbound_rule, delete_inbound_rule, move_inbound_rule, save_outbound_rule, delete_outbound_rule, move_outbound_rule, set_outbound_calls, restore_route_version |
routes:write |
export_config |
config:export |
import_config |
config:import |
get_call_events |
calls:read |
list_webhooks, save_webhook, delete_webhook, rotate_webhook_secret, test_webhook, list_webhook_deliveries |
webhooks:write |
get_open_closed |
routes:read |
set_open_closed |
daynight:write |
Սերվերն աշխատում է առանց սեսիաների (streamable HTTP, JSON-RPC 2.0)․ initialize, tools/list, tools/call։
OAuth սեփական կոնեկտորներ մշակողների համար#
Ավտորիզացիայի սերվերը հետևում է MCP ավտորիզացիայի սպեցիֆիկացիային․ կհամապատասխանի ցանկացած հաճախորդ, որը դա աջակցում է.
- MCP-ին առանց թոքենի հարցումը ստանում է 401
WWW-Authenticate: Bearer resource_metadata="https://api.cenaly.com/.well-known/oauth-protected-resource/pbx-api/mcp"վերնագրով։ - Ռեսուրսի մետատվյալները (RFC 9728) նշում են ավտորիզացիայի սերվերը՝
https://api.cenaly.com/pbx-api․ նրա մետատվյալները (RFC 8414)՝https://api.cenaly.com/.well-known/oauth-authorization-server/pbx-apiհասցեով (և…/pbx-api/.well-known/openid-configuration)։ - Հաճախորդի դինամիկ գրանցում (RFC 7591)․
POST /pbx-api/oauth/register։ Վերադարձի հասցեն՝ միայնlocalhost/127.0.0.1(ցանկացած պորտ) կամ հայտնի կոնեկտորի հասցե (claude.ai, claude.com, chatgpt.com, chat.openai.com, vscode.dev, www.perplexity.ai, enterprise.perplexity.ai․ Cursor-ի դեպքում՝ նաև ճիշտcursor://anysphere.cursor-mcp/oauth/callback)։ Հաճախորդի մուտքի եղանակը՝none(հանրային հաճախորդ),client_secret_postկամclient_secret_basic։ - Ավտորիզացիայի կոդ PKCE-ով (միայն
S256)․GET /pbx-api/oauth/authorize→ սեփականատիրոջ մուտքի և համաձայնության պատուհան → վերադարձ ձեր հասցեինcode,stateևiss-ով։resourceպարամետրը MCP սերվերի հասցեն է։ - Թոքեններ․
POST /pbx-api/oauth/token։ Կոդը մեկանգամյա է և ապրում է 2 րոպե (սխալcode_verifier-ը մարում է այն)․ մուտքի թոքենը՝ 1 ժամ․ թարմացման թոքենը՝ 90 օր, ամեն թարմացման ժամանակ տրվում է նորը, նախորդը դադարում է աշխատել։ - Չեղարկում․
POST /pbx-api/oauth/revoke(RFC 7009) մարում է միացումն ամբողջությամբ՝ ինչպես «API և MCP» պատուհանի «Չեղարկել»-ը։
Մուտքի թոքենն ընդունվում է ամենուր, որտեղ բանալին՝ և՛ MCP-ում, և՛ REST-ում, սեփականատիրոջ թույլատրած իրավունքներով և մասնաճյուղերով։
Սահմանափակումներ և սխալներ#
- Մեկ բանալու կամ միացման համար՝ րոպեում 120 հարցում և օրական 20 000 (REST-ը և MCP-ն միասին)։
- Զանգահարումը մեկ սեղմումով՝ առանձին․ րոպեում 10 և օրական 300։
- Մատյանը՝ մինչև 100 զանգ մեկ հարցման համար․ ԱՏՍ-ի մատյանում մասնաճյուղերը՝ վերջին 400 զանգը 90 օրվա ընթացքում։
| Կոդ | Սխալ | Ինչ անել |
|---|---|---|
| 401 | api_key_missing, api_key_invalid |
բանալին չկա, չեղարկված է կամ ժամկետանց է․ OAuth թոքենը ժամկետանց է՝ թարմացրեք այն |
| 403 | scope_required |
բանալին իրավունք չունի՝ ավելացրեք այն «Իրավունքներ»-ում |
| 400 | location_required |
բանալին ունի մի քանի մասնաճյուղ՝ փոխանցեք location |
| 404 | location_not_found |
մասնաճյուղ չկա կամ բանալին սահմանափակված է այլ մասնաճյուղերով |
| 429 | rate_limited |
սահմանաչափը սպառված է, կրկնեք Retry-After վայրկյանից հետո |
Զանգերի իրադարձություններ#
Իրական ժամանակում — ԱՀՏ-ի վեբհուքեր՝ Հեռախոսակապ → API և MCP → Վեբհուքեր կամ POST /v1/webhooks webhooks:write իրավունքով բանալիով։ Ձեր https-հասցեին վայրկյանների ընթացքում գալիս է POST յուրաքանչյուր իրադարձության համար՝ call.started (սկսվել է՝ ուղղություն, ով, ուր, գիծ), call.ringing (ում մոտ է զանգում՝ մեկական յուրաքանչյուր հեռախոսի համար), call.answered (ով պատասխանեց), call.transferred (ով ում փոխանցեց), call.ended (արդյունք, տևողություն, զրույց, ով պատասխանեց)։ Վեբհուքը կարելի է սահմանափակել մասնաճյուղերով և իրադարձությունների տեսակներով։
{ "id": "1727771234.56:2", "type": "call.answered", "createdAt": "2026-10-01T10:00:05Z",
"locationId": "…", "webhookId": "wh_…", "attempt": 1,
"data": { "callId": "1727771234.56", "seq": 2, "direction": "inbound",
"from": { "number": "+995555123456" }, "party": { "extension": "101", "name": "Анна" } } }
Ստորագրություն — X-Cenaly-Signature: t=<unix ժամանակ>,v1=<HMAC-SHA256 «t.մարմին»-ից՝ վեբհուքի գաղտնիքով> վերնագիրը։ Վերահաշվարկեք, համեմատեք հաստատուն ժամանակում և մերժեք 5 րոպեից հին t-ն։ whsec_… գաղտնիքը ցուցադրվում է մեկ անգամ․ «Նոր գաղտնիք»-ը նախորդը մարում է անմիջապես։
Առաքում — պատասխանեք 2xx 10 վայրկյանի ընթացքում։ Հակառակ դեպքում կրկնում ենք 10 վրկ, 30 վրկ, 2, 5, 10, 15 և 15 րոպե դադարներով (8 փորձ, մոտ մեկ ժամ)․ կրկնությունը կրում է նույն id-ն — դրանով դեն նետեք կրկնօրինակները։ Առաքումների մատյանը (պատասխանի կոդ, ժամանակ, փորձ)՝ վեբհուքի պատուհանում և GET /v1/webhooks/{id}/deliveries-ում․ «Ստուգել»-ը ուղարկում է ծառայողական webhook.ping։ Հասցեն 3 օր անընդմեջ ոչ մի առաքում չի ընդունել — վեբհուքն ինքն է անջատվում․ սեփականատիրոջը գալիս է նամակ, «Վեբհուքեր» պատուհանում՝ «Անջատված է ավտոմատ» նշումը և «Միացնել» կոճակը (կամ PATCH /v1/webhooks/{id}՝ { "enabled": true }-ով)։
Առանց սեփական սերվերի — նույն հոսքը հարցումով՝ GET /v1/events?since=<վերջին իրադարձության id> կամ MCP գործիք get_call_events (մասնաճյուղի իրադարձությունները վերջին 7 օրվա համար, մինչև 2000․ պատասխանի համար՝ մինչև 500, more: true — շարունակեք թերթել նույն since-ով)։
Ձայնագրության մշակումից հետո — զանգը՝ արտագրությամբ և վերլուծությամբ, գալիս է «Վեբհուք» աղբյուրի վեբհուքով «Զանգեր» բաժնում։
«Բաց / փակ» — PUT /v1/open-closed՝ { "closed": true }-ով փակում է մասնաճյուղը մինչև օրվա վերջ (ինչպես հեռախոսից *28․ զանգերն անցնում են «աշխատանքային ժամերից դուրս» կանոններով), false-ը՝ բացում է․ GET-ը ցույց է տալիս՝ փակ է արդյոք և ում կողմից։ "until"-ով՝ փակ է մինչև այդ պահը (ոչ ավելի քան 30 օր), հետո ինքն է բացվում․ առանց տեղաշարժի ժամանակը (2026-10-05T09:00) ընթերցվում է մասնաճյուղի գոտու ժամանակով․ false-ը հանում է նաև այն։ Անհրաժեշտ է միացված «Փակել *28 կոդով» նշիչը երթուղավորման մեջ (հակառակ դեպքում՝ 409)։
Անվտանգություն#
- Բանալին ցուցադրվում է մեկ անգամ և մեզ մոտ պահվում է միայն մատնահետքով․ արտահոսած բանալին չեղարկվում է մեկ կոճակով։
- OAuth-միացումը թույլատրում է միայն սեփականատերը, և երևում է, թե որ հասցեին է գնում հասանելիությունը․ թույլատրված միացումը կարելի է սահմանափակել իրավունքներով և մասնաճյուղերով ու չեղարկել ցանկացած պահի։
- Հեռախոսահամարները ձեր հաճախորդների անձնական տվյալներն են․ մատյանի և ձայնագրումների իրավունքներ տվեք միայն այն ինտեգրումներին, որոնց դրանք իսկապես անհրաժեշտ են։
- Բանալիով կամ միացումով բոլոր փոփոխությունները՝ ԱՀՏ-ի գործողությունների մատյանում՝ բանալու կամ հավելվածի անվանմամբ։