From 73dd29ee86d96af3125aefbaf183203ca4d12737 Mon Sep 17 00:00:00 2001 From: vkcom Date: Fri, 1 Nov 2024 07:02:26 +0000 Subject: [PATCH] JSON-schema for public 5.199 --- .github/workflows/php-sdk-generate.yml | 73 ++++++ account/methods.json | 4 + account/objects.json | 6 +- ads/objects.json | 17 +- audio/objects.json | 6 + base/objects.json | 17 +- bugtracker/methods.json | 4 + bugtracker/objects.json | 25 ++ callback/objects.json | 213 +++++++++++------ calls/objects.json | 12 + errors.json | 20 ++ groups/objects.json | 10 +- market/methods.json | 10 +- market/responses.json | 6 +- messages/methods.json | 45 ++++ messages/objects.json | 304 +++++++++++++------------ messages/responses.json | 3 +- package.json | 2 +- pages/objects.json | 8 + pages/responses.json | 54 ++++- stats/methods.json | 4 +- stories/methods.json | 3 - stories/objects.json | 15 ++ video/methods.json | 10 +- video/objects.json | 99 +++++++- video/responses.json | 4 + 26 files changed, 730 insertions(+), 244 deletions(-) create mode 100644 .github/workflows/php-sdk-generate.yml diff --git a/.github/workflows/php-sdk-generate.yml b/.github/workflows/php-sdk-generate.yml new file mode 100644 index 0000000..9552a7b --- /dev/null +++ b/.github/workflows/php-sdk-generate.yml @@ -0,0 +1,73 @@ +name: php-sdk-generate + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + environment: production + steps: + - name: Prepare generate + run: + echo SCHEMA_COMMENT=\"${{ github.event.head_commit.message }}\" >> $GITHUB_ENV + + - name: Checkout generator + uses: actions/checkout@v4 + with: + fetch-depth: 1 + repository: ${{ vars.SDK_GENERATOR_REPO }} + token: ${{ secrets.PHP_SDK_TOKEN }} + + - name: Checkout json schema + uses: actions/checkout@v4 + with: + fetch-depth: 1 + path: schema/ + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ vars.PHP_VERSION }} + extensions: mbstring, intl + ini-values: post_max_size=256M, max_execution_time=180 + tools: composer:v2 + env: + fail-fast: true + + - name: Run generator + run: | + touch .env + echo NAME=\"${{ vars.NAME }}\" >> .env + echo DESCRIPTION=\"${{ vars.DESCRIPTION }}\" >> .env + echo LICENSE=\"${{ vars.LICENSE }}\" >> .env + echo PHP_VERSION=\"${{ vars.PHP_VERSION }}\" >> .env + echo USER_AGENT=\"${{ vars.USER_AGENT }}\" >> .env + echo SCHEMA_DIRECTORY=\"schema/\" >> .env + echo SDK_REPO=\"${{ vars.SDK_REPO }}\" >> .env + echo HOMEPAGE=\"${{ vars.HOMEPAGE }}\" >> .env + cat .env + composer install + composer sdk:build + + - name: Prepare php-sdk + uses: actions/checkout@v4 + with: + fetch-depth: 1 + repository: ${{ vars.SDK_REPO }} + path: php-sdk + token: ${{ secrets.PHP_SDK_TOKEN }} + + - name: Run generator + shell: bash {0} + run: | + cd php-sdk + find . -path ./.git -prune -o -exec rm -rfv {} \; 2> /dev/null + cp -r ../generated/* . + git add . + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git commit -m "Autogenerate sdk on $SCHEMA_COMMENT" + git push diff --git a/account/methods.json b/account/methods.json index 81c0707..6304d5a 100644 --- a/account/methods.json +++ b/account/methods.json @@ -275,6 +275,10 @@ "name": "sandbox", "type": "boolean", "default": 0 + }, + { + "name": "pushes_granted", + "type": "boolean" } ], "responses": { diff --git a/account/objects.json b/account/objects.json index acf7f87..7d5d3a0 100644 --- a/account/objects.json +++ b/account/objects.json @@ -400,7 +400,8 @@ "description": "Settings parameters", "enum": [ "on", - "off" + "off", + "no_sound" ] }, "account_push_params_settings": { @@ -409,7 +410,8 @@ "enum": [ "on", "off", - "fr_of_fr" + "fr_of_fr", + "no_sound" ] }, "account_push_settings": { diff --git a/ads/objects.json b/ads/objects.json index 5df267c..81fdd3a 100644 --- a/ads/objects.json +++ b/ads/objects.json @@ -646,8 +646,7 @@ }, "ord_data": { "description": "Ord data", - "$ref": "../ads/objects.json#/definitions/ads_ord_data", - "required": false + "$ref": "../ads/objects.json#/definitions/ads_ord_data" } } }, @@ -1102,8 +1101,7 @@ "description": "Used requests per user", "items": { "$ref": "../ads/objects.json#/definitions/ads_flood_stats_by_user_item" - }, - "required": false + } } } }, @@ -1293,15 +1291,17 @@ "required": true }, "inn": { - "type": "string", - "required": false + "type": "string" }, "phone": { "type": "string", "required": true }, + "agency_phone": { + "type": "string", + "required": false + }, "subagent": { - "required": false, "$ref": "../ads/objects.json#/definitions/ads_ord_subagent" }, "contract_number": { @@ -1338,8 +1338,7 @@ "required": true }, "inn": { - "type": "string", - "required": false + "type": "string" }, "phone": { "type": "string", diff --git a/audio/objects.json b/audio/objects.json index e506786..3dd4f9e 100644 --- a/audio/objects.json +++ b/audio/objects.json @@ -64,6 +64,12 @@ "performer": { "type": "string", "description": "Performer name" + }, + "file_size": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Примерный объем памяти занимаемый аудио на устройстве. Реализовано только для эпизодов подкастов" } } } diff --git a/base/objects.json b/base/objects.json index f0e28d6..93b8435 100644 --- a/base/objects.json +++ b/base/objects.json @@ -473,6 +473,7 @@ "market_clear_recent_queries", "close_web_app", "open_search_tab", + "open_search_filters", "import_contacts", "add_friends", "onboarding", @@ -489,7 +490,13 @@ "secondary", "tertiary", "float_bottom", - "outline_with_chevron" + "cell_button_centered_icon", + "borderless_with_icon", + "gray", + "flat", + "outline_with_chevron", + "inline", + "modal" ], "enumNames": [ "updates", @@ -498,7 +505,13 @@ "secondary", "tertiary", "float_bottom", - "outline_with_chevron" + "cell_button_centered_icon", + "borderless_with_icon", + "gray", + "flat", + "outline_with_chevron", + "inline", + "modal" ] }, "base_link_no_product": { diff --git a/bugtracker/methods.json b/bugtracker/methods.json index 2dd7ad7..7aa19bb 100644 --- a/bugtracker/methods.json +++ b/bugtracker/methods.json @@ -159,6 +159,10 @@ "name": "hidden", "type": "boolean" }, + { + "name": "hidden_attachments", + "type": "boolean" + }, { "name": "force", "type": "boolean" diff --git a/bugtracker/objects.json b/bugtracker/objects.json index 71a9b75..f20663a 100644 --- a/bugtracker/objects.json +++ b/bugtracker/objects.json @@ -140,6 +140,9 @@ "hidden_docs": { "type": "boolean" }, + "is_confidential": { + "type": "boolean" + }, "private_comment": { "type": "string" }, @@ -163,6 +166,25 @@ "moderated": { "type": "integer", "minimum": 0 + }, + "screen_reader": { + "type": "integer", + "minimum": 0 + }, + "status_auto_update_ts": { + "type": "integer", + "minimum": 0 + }, + "status_auto_update_reason": { + "type": "integer", + "enum": [ + 1, + 2 + ], + "enumNames": [ + "need_correction_long_time", + "ready_for_testing_long_time" + ] } } }, @@ -235,6 +257,9 @@ }, "author": { "$ref": "../bugtracker/objects.json#/definitions/bugtracker_comment_author" + }, + "is_attachments_hidden": { + "type": "boolean" } } }, diff --git a/callback/objects.json b/callback/objects.json index aa76960..de57eeb 100644 --- a/callback/objects.json +++ b/callback/objects.json @@ -236,6 +236,38 @@ } } }, + "callback_foreign_message": { + "type": "object", + "allOf": [ + { + "$ref": "../messages/objects.json#/definitions/messages_foreign_message" + }, + { + "type": "object", + "properties": { + "is_cropped": { + "type": "boolean" + }, + "fwd_messages": { + "type": "array", + "items": { + "$ref": "../callback/objects.json#/definitions/callback_foreign_message" + } + }, + "reply_message": { + "$ref": "../callback/objects.json#/definitions/callback_foreign_message" + } + } + } + ] + }, + "callback_fwd_messages": { + "type": "array", + "description": "Forwarded messages", + "items": { + "$ref": "../callback/objects.json#/definitions/callback_foreign_message" + } + }, "callback_group_change_photo": { "type": "object", "properties": { @@ -623,29 +655,29 @@ } } }, - "callback_message_allow": { + "callback_message": { "type": "object", "allOf": [ { - "$ref": "../callback/objects.json#/definitions/callback_base" + "$ref": "../messages/objects.json#/definitions/messages_message" }, { "type": "object", "properties": { - "type": { - "type": "string", - "$ref": "../callback/objects.json#/definitions/callback_type", - "default": "message_allow" + "influence_score": { + "type": "number" + }, + "reply_message": { + "$ref": "../callback/objects.json#/definitions/callback_foreign_message" }, - "object": { - "$ref": "../callback/objects.json#/definitions/callback_message_allow_object", - "required": true + "fwd_messages": { + "$ref": "../callback/objects.json#/definitions/callback_fwd_messages" } } } ] }, - "callback_message_allow_object": { + "callback_message_allow": { "type": "object", "properties": { "user_id": { @@ -673,50 +705,38 @@ } } }, - "callback_message_edit": { + "callback_message_event": { "type": "object", - "allOf": [ - { - "$ref": "../callback/objects.json#/definitions/callback_base" + "properties": { + "user_id": { + "type": "integer", + "entity": "owner", + "format": "int64", + "required": true }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "$ref": "../callback/objects.json#/definitions/callback_type", - "default": "message_edit" - }, - "object": { - "$ref": "../messages/objects.json#/definitions/messages_message", - "required": true - } - } + "peer_id": { + "type": "integer", + "format": "int64", + "required": true + }, + "event_id": { + "type": "string", + "required": true + }, + "payload": { + "type": "string", + "required": true + }, + "conversation_message_id": { + "type": "integer", + "format": "int64", + "minimum": 1 } - ] + } }, "callback_message_new": { "type": "object", - "allOf": [ - { - "$ref": "../callback/objects.json#/definitions/callback_base" - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "$ref": "../callback/objects.json#/definitions/callback_type", - "default": "message_new" - }, - "object": { - "type": "object", - "$ref": "../callback/objects.json#/definitions/callback_message_object", - "required": true - } - } - } - ] + "$ref": "../callback/objects.json#/definitions/callback_message_object" }, "callback_message_object": { "type": "object", @@ -725,31 +745,90 @@ "$ref": "../callback/objects.json#/definitions/callback_info_for_bots" }, "message": { - "$ref": "../messages/objects.json#/definitions/messages_message" + "$ref": "../callback/objects.json#/definitions/callback_message" } } }, - "callback_message_reply": { + "callback_message_reaction_event": { "type": "object", - "allOf": [ - { - "$ref": "../callback/objects.json#/definitions/callback_base" + "properties": { + "reacted_id": { + "type": "integer", + "entity": "owner", + "format": "int64", + "required": true }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "$ref": "../callback/objects.json#/definitions/callback_type", - "default": "message_reply" - }, - "object": { - "$ref": "../messages/objects.json#/definitions/messages_message", - "required": true - } - } + "peer_id": { + "type": "integer", + "format": "int64", + "required": true + }, + "cmid": { + "type": "integer", + "minimum": 1, + "required": true + }, + "reaction_id": { + "type": "integer", + "minimum": 1, + "maximum": 64 } - ] + } + }, + "callback_message_read": { + "type": "object", + "properties": { + "from_id": { + "type": "integer", + "entity": "owner", + "format": "int64", + "required": true + }, + "peer_id": { + "type": "integer", + "format": "int64", + "required": true + }, + "read_message_id": { + "type": "integer", + "required": true + }, + "conversation_message_id": { + "type": "integer", + "minimum": 1, + "required": true + } + } + }, + "callback_message_typing_state": { + "type": "object", + "properties": { + "from_id": { + "type": "integer", + "entity": "owner", + "format": "int64", + "required": true + }, + "to_id": { + "type": "integer", + "entity": "owner", + "format": "int64", + "required": true + }, + "state": { + "type": "string", + "enum": [ + "message_typing_state", + "0", + "1", + "2", + "3", + "4", + "5" + ], + "required": true + } + } }, "callback_photo_comment": { "type": "object", diff --git a/calls/objects.json b/calls/objects.json index e6e60e8..6b827f3 100644 --- a/calls/objects.json +++ b/calls/objects.json @@ -82,6 +82,18 @@ "type": "string", "description": "Password that can be used to join a call by short numeric ID", "required": true + }, + "link_without_password": { + "type": "string", + "format": "uri", + "description": "Link without a password", + "required": true + }, + "link_with_password": { + "type": "string", + "format": "uri", + "description": "Link with a password", + "required": true } } } diff --git a/errors.json b/errors.json index 47f3d9b..e51b4d9 100644 --- a/errors.json +++ b/errors.json @@ -722,6 +722,18 @@ "code": 985, "description": "Cannot write to notifications only groups" }, + "api_error_messages_need_message_request": { + "code": 987, + "description": "Need message request" + }, + "api_error_messages_pending_message_request": { + "code": 988, + "description": "Pending message request" + }, + "api_error_messages_drop_device_cache": { + "code": 990, + "description": "Drop device cache" + }, "api_error_messages_invalid_reaction_id": { "code": 1009, "description": "Unknown reaction passed" @@ -970,6 +982,14 @@ "code": 1518, "description": "Item is not deleted" }, + "api_error_market_disabled": { + "code": 1525, + "description": "Market is disabled" + }, + "api_error_market_services_disabled": { + "code": 1526, + "description": "Market services are disabled" + }, "api_error_story_expired": { "code": 1600, "description": "Story has already expired" diff --git a/groups/objects.json b/groups/objects.json index 16f0058..5c712de 100644 --- a/groups/objects.json +++ b/groups/objects.json @@ -469,7 +469,10 @@ "stories_archive_count", "has_unseen_stories", "rating", - "unread_count" + "is_market_market_link_attachment_enabled", + "is_market_message_to_bc_attachment_enabled", + "unread_count", + "videos_count" ] }, "groups_filter": { @@ -1042,6 +1045,11 @@ ], "description": "Information about the status of video notifications for the current user.", "required": false + }, + "videos_count": { + "type": "integer", + "minimum": 0, + "description": "Community videos number" } } } diff --git a/market/methods.json b/market/methods.json index 256e536..18206ba 100644 --- a/market/methods.json +++ b/market/methods.json @@ -1381,7 +1381,15 @@ "extendedResponse": { "$ref": "../market/responses.json#/definitions/market_getById_extended_response" } - } + }, + "errors": [ + { + "$ref": "../errors.json#/errors/api_error_market_disabled" + }, + { + "$ref": "../errors.json#/errors/api_error_market_services_disabled" + } + ] }, { "name": "market.getCategories", diff --git a/market/responses.json b/market/responses.json index b050889..aa7c9c0 100644 --- a/market/responses.json +++ b/market/responses.json @@ -215,16 +215,14 @@ "description": "List of users, available only if extended=true exists in query params", "items": { "$ref": "../users/objects.json#/definitions/users_user_full" - }, - "required": false + } }, "groups": { "type": "array", "description": "List of groups, available only if extended=true exists in query params", "items": { "$ref": "../groups/objects.json#/definitions/groups_group_full" - }, - "required": false + } } }, "required": true diff --git a/messages/methods.json b/messages/methods.json index 7cc3824..7d26c81 100644 --- a/messages/methods.json +++ b/messages/methods.json @@ -728,11 +728,17 @@ } }, "errors": [ + { + "$ref": "../errors.json#/errors/api_error_messages_chat_disabled" + }, { "$ref": "../errors.json#/errors/api_error_messages_chat_unsupported" }, { "$ref": "../errors.json#/errors/api_error_messages_writing_disabled_for_chat" + }, + { + "$ref": "../errors.json#/errors/api_error_messages_chat_not_admin" } ] }, @@ -1523,6 +1529,9 @@ }, { "$ref": "../errors.json#/errors/api_error_messages_chat_not_exist" + }, + { + "$ref": "../errors.json#/errors/api_error_messages_drop_device_cache" } ], "timeout": 5 @@ -1905,6 +1914,36 @@ } } }, + { + "name": "messages.muteChatMentions", + "access_token_type": [ + "user" + ], + "parameters": [ + { + "name": "peer_id", + "description": "Chat id", + "type": "integer", + "required": true, + "format": "int64" + }, + { + "name": "mention_status", + "type": "string", + "required": true, + "enum": [ + "all", + "allOnline", + "none" + ] + } + ], + "responses": { + "response": { + "$ref": "../base/responses.json#/definitions/base_ok_response" + } + } + }, { "name": "messages.pin", "description": "Pin a message.", @@ -2420,6 +2459,12 @@ }, { "$ref": "../errors.json#/errors/api_error_messages_group_for_notifications_only" + }, + { + "$ref": "../errors.json#/errors/api_error_messages_need_message_request" + }, + { + "$ref": "../errors.json#/errors/api_error_messages_pending_message_request" } ] }, diff --git a/messages/objects.json b/messages/objects.json index 89a428e..fdd74a0 100644 --- a/messages/objects.json +++ b/messages/objects.json @@ -63,6 +63,113 @@ } } }, + "messages_base_message": { + "type": "object", + "properties": { + "action": { + "$ref": "../messages/objects.json#/definitions/messages_action_one_of" + }, + "admin_author_id": { + "type": "integer", + "format": "int64", + "entity": "owner", + "description": "Only for messages from community. Contains user ID of community admin, who sent this message." + }, + "attachments": { + "type": "array", + "items": { + "$ref": "../messages/objects.json#/definitions/messages_message_attachment" + } + }, + "conversation_message_id": { + "type": "integer", + "description": "Unique auto-incremented number for all messages with this peer", + "minimum": 0, + "required": true + }, + "date": { + "type": "integer", + "description": "Date when the message has been sent in Unixtime", + "required": true + }, + "deleted": { + "description": "Is it an deleted message", + "$ref": "../base/objects.json#/definitions/base_bool_int" + }, + "from_id": { + "type": "integer", + "format": "int64", + "entity": "owner", + "description": "Message author's ID", + "required": true + }, + "fwd_messages": { + "$ref": "../messages/objects.json#/definitions/messages_fwd_messages" + }, + "geo": { + "$ref": "../base/objects.json#/definitions/base_geo" + }, + "id": { + "type": "integer", + "description": "Message ID", + "required": true + }, + "is_cropped": { + "type": "boolean", + "description": "this message is cropped for bot" + }, + "keyboard": { + "$ref": "../messages/objects.json#/definitions/messages_keyboard" + }, + "payload": { + "type": "string" + }, + "text": { + "type": "string", + "description": "Message text", + "required": true + }, + "update_time": { + "type": "integer", + "description": "Date when the message has been updated in Unixtime" + }, + "is_silent": { + "type": "boolean", + "description": "Is silent message, push without sound" + }, + "is_unavailable": { + "type": "boolean", + "description": "Is message unavailable for some reason, including its id equals 0" + }, + "version": { + "type": "integer", + "required": true, + "format": "int64" + }, + "out": { + "description": "Information whether the message is outcoming", + "$ref": "../base/objects.json#/definitions/base_bool_int", + "required": true + }, + "peer_id": { + "type": "integer", + "format": "int64", + "entity": "peer", + "description": "Peer ID", + "required": true + }, + "random_id": { + "type": "integer", + "description": "ID used for sending messages. It returned only for outgoing messages" + }, + "ref": { + "type": "string" + }, + "ref_source": { + "type": "string" + } + } + }, "messages_chat": { "type": "object", "properties": { @@ -217,7 +324,8 @@ "type": "integer", "format": "int64", "entity": "owner", - "minimum": 0 + "minimum": 0, + "required": true }, "joined": { "type": "boolean" @@ -227,6 +335,7 @@ }, "members": { "type": "array", + "required": true, "items": { "type": "integer", "format": "int64", @@ -238,7 +347,8 @@ "minimum": 0 }, "title": { - "type": "string" + "type": "string", + "required": true }, "is_member": { "type": "boolean" @@ -1415,151 +1525,56 @@ }, "messages_message": { "type": "object", - "properties": { - "action": { - "$ref": "../messages/objects.json#/definitions/messages_action_one_of" - }, - "admin_author_id": { - "type": "integer", - "format": "int64", - "entity": "owner", - "description": "Only for messages from community. Contains user ID of community admin, who sent this message." - }, - "attachments": { - "type": "array", - "items": { - "$ref": "../messages/objects.json#/definitions/messages_message_attachment" - } - }, - "conversation_message_id": { - "type": "integer", - "description": "Unique auto-incremented number for all messages with this peer", - "minimum": 0, - "required": true - }, - "date": { - "type": "integer", - "description": "Date when the message has been sent in Unixtime", - "required": true - }, - "deleted": { - "description": "Is it an deleted message", - "$ref": "../base/objects.json#/definitions/base_bool_int" - }, - "from_id": { - "type": "integer", - "format": "int64", - "entity": "owner", - "description": "Message author's ID", - "required": true - }, - "fwd_messages": { - "$ref": "../messages/objects.json#/definitions/messages_fwd_messages" - }, - "geo": { - "$ref": "../base/objects.json#/definitions/base_geo" - }, - "id": { - "type": "integer", - "description": "Message ID", - "required": true - }, - "important": { - "type": "boolean", - "description": "Is it an important message" - }, - "is_hidden": { - "type": "boolean" - }, - "is_cropped": { - "type": "boolean", - "description": "this message is cropped for bot" - }, - "keyboard": { - "$ref": "../messages/objects.json#/definitions/messages_keyboard" - }, - "members_count": { - "type": "integer", - "description": "Members number" - }, - "out": { - "description": "Information whether the message is outcoming", - "$ref": "../base/objects.json#/definitions/base_bool_int", - "required": true - }, - "payload": { - "type": "string" - }, - "peer_id": { - "type": "integer", - "format": "int64", - "entity": "peer", - "description": "Peer ID", - "required": true - }, - "random_id": { - "type": "integer", - "description": "ID used for sending messages. It returned only for outgoing messages" - }, - "ref": { - "type": "string" - }, - "ref_source": { - "type": "string" - }, - "reply_message": { - "$ref": "../messages/objects.json#/definitions/messages_foreign_message" - }, - "reaction_id": { - "type": "integer", - "description": "Reaction id set on message" + "allOf": [ + { + "$ref": "../messages/objects.json#/definitions/messages_base_message" }, - "reactions": { - "type": "array", - "description": "Actual reactions counters on this message", - "items": { - "$ref": "../messages/objects.json#/definitions/messages_reaction_counter_response_item" + { + "properties": { + "important": { + "type": "boolean", + "description": "Is it an important message" + }, + "is_hidden": { + "type": "boolean" + }, + "members_count": { + "type": "integer", + "description": "Members number" + }, + "reply_message": { + "$ref": "../messages/objects.json#/definitions/messages_foreign_message" + }, + "reaction_id": { + "type": "integer", + "description": "Reaction id set on message" + }, + "reactions": { + "type": "array", + "description": "Actual reactions counters on this message", + "items": { + "$ref": "../messages/objects.json#/definitions/messages_reaction_counter_response_item" + } + }, + "last_reaction_id": { + "type": "integer", + "description": "Last reaction id set on this message" + }, + "is_pinned": { + "type": "boolean", + "description": "Is message pinned in its conversation" + }, + "was_listened": { + "type": "boolean", + "description": "Was the audio message inside already listened by you" + }, + "pinned_at": { + "type": "integer", + "description": "Date when the message has been pinned in Unixtime" + } } - }, - "last_reaction_id": { - "type": "integer", - "description": "Last reaction id set on this message" - }, - "is_pinned": { - "type": "boolean", - "description": "Is message pinned in its conversation" - }, - "text": { - "type": "string", - "description": "Message text", - "required": true - }, - "update_time": { - "type": "integer", - "description": "Date when the message has been updated in Unixtime" - }, - "was_listened": { - "type": "boolean", - "description": "Was the audio message inside already listened by you" - }, - "pinned_at": { - "type": "integer", - "description": "Date when the message has been pinned in Unixtime" - }, - "is_silent": { - "type": "boolean", - "description": "Is silent message, push without sound" - }, - "is_unavailable": { - "type": "boolean", - "description": "Is message unavailable for some reason, including its id equals 0" - }, - "version": { - "type": "integer", - "required": true, - "format": "int64" } - } + ] }, "messages_message_action": { "type": "object", @@ -1700,6 +1715,7 @@ "wall_reply", "article", "poll", + "podcasts", "call", "graffiti", "audio_message" diff --git a/messages/responses.json b/messages/responses.json index d7eb242..11712ee 100644 --- a/messages/responses.json +++ b/messages/responses.json @@ -236,7 +236,8 @@ "type": "object", "properties": { "preview": { - "$ref": "../messages/objects.json#/definitions/messages_chat_preview" + "$ref": "../messages/objects.json#/definitions/messages_chat_preview", + "required": true }, "profiles": { "type": "array", diff --git a/package.json b/package.json index 3820092..2a14d92 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vkontakte/api-schema", - "version": "5.199.68", + "version": "5.199.81", "description": "VK API JSON Schema", "repository": { "type": "git", diff --git a/pages/objects.json b/pages/objects.json index 306ecbd..e497615 100644 --- a/pages/objects.json +++ b/pages/objects.json @@ -70,6 +70,14 @@ "description": "View settings of the page", "$ref": "../pages/objects.json#/definitions/pages_privacy_settings", "required": true + }, + "created": { + "type": "integer", + "required": true + }, + "edited": { + "type": "integer", + "required": true } } }, diff --git a/pages/responses.json b/pages/responses.json index e46b309..967149b 100644 --- a/pages/responses.json +++ b/pages/responses.json @@ -33,7 +33,59 @@ "type": "object", "properties": { "response": { - "$ref": "../pages/objects.json#/definitions/pages_wikipage_full", + "type": "object", + "properties": { + "id": { + "type": "integer", + "required": true + }, + "page_id": { + "type": "integer", + "required": true + }, + "group_id": { + "type": "integer", + "format": "int32", + "required": true, + "entity": "groups" + }, + "title": { + "type": "string", + "required": true + }, + "source": { + "type": "string", + "required": true + }, + "current_user_can_edit": { + "type": "integer", + "required": true + }, + "who_can_view": { + "type": "integer", + "required": true + }, + "who_can_edit": { + "type": "integer", + "required": true + }, + "version_created": { + "type": "integer", + "required": true + }, + "creator_id": { + "type": "integer" + }, + "parent": { + "type": "string" + }, + "parent2": { + "type": "string" + }, + "html": { + "type": "string" + } + }, "required": true } } diff --git a/stats/methods.json b/stats/methods.json index 0e849ab..63309b7 100644 --- a/stats/methods.json +++ b/stats/methods.json @@ -28,12 +28,12 @@ }, { "name": "timestamp_from", - "type": "integer", + "type": "number", "minimum": 0 }, { "name": "timestamp_to", - "type": "integer", + "type": "number", "minimum": 0 }, { diff --git a/stories/methods.json b/stories/methods.json index a77f1fc..d584e82 100644 --- a/stories/methods.json +++ b/stories/methods.json @@ -475,9 +475,6 @@ "responses": { "response": { "$ref": "../stories/responses.json#/definitions/stories_getViewers_extended_V5115_response" - }, - "extendedResponse": { - "$ref": "../stories/responses.json#/definitions/stories_getViewers_extended_V5115_response" } }, "errors": [ diff --git a/stories/objects.json b/stories/objects.json index 249c3be..71f2dc9 100644 --- a/stories/objects.json +++ b/stories/objects.json @@ -317,6 +317,10 @@ "type": "string", "required": true }, + "type": { + "type": "string", + "required": true + }, "lines": { "type": "array", "items": { @@ -333,6 +337,10 @@ "type": "string", "required": true }, + "type": { + "type": "string", + "required": true + }, "counter": { "type": "integer", "minimum": 0 @@ -424,6 +432,10 @@ "photo": { "$ref": "../photos/objects.json#/definitions/photos_photo" }, + "blurred_preview": { + "type": "string", + "description": "url with blured preview image." + }, "replies": { "description": "Replies counters to current story.", "$ref": "../stories/objects.json#/definitions/stories_replies" @@ -460,6 +472,9 @@ "first_narrative_title": { "type": "string" }, + "first_narrative_id": { + "type": "integer" + }, "can_use_in_narrative": { "type": "boolean" } diff --git a/video/methods.json b/video/methods.json index 4e98c35..b84c0d3 100644 --- a/video/methods.json +++ b/video/methods.json @@ -766,7 +766,6 @@ "name": "sort", "description": "Sort order: 'asc' - oldest comment first, 'desc' - newest comment first", "type": "string", - "default": "asc", "enum": [ "asc", "desc", @@ -1314,6 +1313,10 @@ { "name": "ord_info", "type": "string" + }, + { + "name": "auto_publish", + "type": "boolean" } ], "responses": { @@ -1371,6 +1374,11 @@ "type": "integer", "format": "int32", "minimum": 1 + }, + { + "name": "set_thumb", + "description": "If flag passed uploaded thumb will automatically set to passed video. Work only with video_id.", + "type": "boolean" } ], "responses": { diff --git a/video/objects.json b/video/objects.json index 2516330..9edbf1c 100644 --- a/video/objects.json +++ b/video/objects.json @@ -19,6 +19,95 @@ } } }, + "video_info": { + "type": "object", + "properties": { + "united_video_id": { + "type": "integer", + "minimum": 1, + "description": "United Video ID", + "required": true + }, + "qualities": { + "type": "array", + "items": { + "$ref": "../video/objects.json#/definitions/video_info_qualities" + }, + "required": true + }, + "tracks": { + "type": "array", + "items": { + "$ref": "../video/objects.json#/definitions/video_info_track" + }, + "required": true + } + } + }, + "video_info_qualities": { + "type": "object", + "properties": { + "name": { + "type": "string", + "required": true + }, + "quality": { + "description": "one of: video_mp4, audio_mp4, dash, dash_audio, dash_webm, dash_webm_audio, dash_av1_webm, dash_hevc", + "type": "array", + "items": { + "$ref": "../video/objects.json#/definitions/video_info_quality" + }, + "required": true + } + } + }, + "video_info_quality": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "one of: mobile, lowest, low, medium, high, full_hd, quad_hd, ultra_hd", + "required": true + }, + "size": { + "type": "integer", + "minimum": 0, + "required": true + }, + "codec": { + "type": "string", + "required": true + } + } + }, + "video_info_track": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "video", + "audio" + ], + "required": true + }, + "language": { + "type": "string", + "required": true + }, + "title": { + "type": "string", + "required": true + }, + "qualities": { + "type": "array", + "items": { + "$ref": "../video/objects.json#/definitions/video_info_qualities" + }, + "required": true + } + } + }, "video_live_category": { "type": "object", "properties": { @@ -297,7 +386,9 @@ "music_video", "movie", "live", - "short_video" + "short_video", + "story", + "video_message" ] }, "views": { @@ -380,8 +471,7 @@ }, "track_code": { "type": "string", - "description": "Album trackcode", - "required": false + "description": "Album trackcode" }, "response_type": { "type": "string", @@ -543,8 +633,7 @@ "$ref": "../base/objects.json#/definitions/base_property_exists" }, "size": { - "type": "string", - "required": false + "type": "string" } } } diff --git a/video/responses.json b/video/responses.json index f48aa7b..e8b0ed8 100644 --- a/video/responses.json +++ b/video/responses.json @@ -311,6 +311,10 @@ "items": { "$ref": "../groups/objects.json#/definitions/groups_group_full" } + }, + "max_attached_short_videos": { + "type": "integer", + "description": "Max attached short videos" } }, "required": true