POST /copyMessage

Use this method to copy messages of any kind. The method is analogous to the method forwardMessages, but the copied message doesn't have a link to the original message. Returns the MessageId of the sent message on success.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
message_id Integer Yes

Message identifier in the chat specified in from_chat_id

reply_markup No

Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.

caption String No

New caption for media, 0-1024 characters after entities parsing. If not specified, the original caption is kept

disable_notification Boolean No

Sends the message silently. Users will receive a notification with no sound.

allow_sending_without_reply Boolean No

Pass True, if the message should be sent even if the specified replied-to message is not found

chat_id Yes

Unique identifier for the target chat or username of the target channel (in the format @channelusername)

from_chat_id Yes

Unique identifier for the chat where the original message was sent (or channel username in the format @channelusername)

parse_mode String No

Mode for parsing entities in the new caption. See formatting options for more details.

caption_entities[] Array No

List of special entities that appear in the new caption, which can be specified instead of parse_mode

caption_entities[].length Integer Yes

Length of the entity in UTF-16 code units

caption_entities[].url String No

Optional. For “text_link” only, url that will be opened after user taps on the text

caption_entities[].user Object No

This object represents a Telegram user or bot.

caption_entities[].user.id Integer Yes

Unique identifier for this user or bot

caption_entities[].user.username String No

Optional. User's or bot's username

caption_entities[].user.can_read_all_group_messages Boolean No

Optional. True, if privacy mode is disabled for the bot. Returned only in getMe.

caption_entities[].user.last_name String No

Optional. User's or bot's last name

caption_entities[].user.can_join_groups Boolean No

Optional. True, if the bot can be invited to groups. Returned only in getMe.

caption_entities[].user.first_name String Yes

User's or bot's first name

caption_entities[].user.is_bot Boolean Yes

True, if this user is a bot

caption_entities[].user.language_code String No

Optional. IETF language tag of the user's language

caption_entities[].user.supports_inline_queries Boolean No

Optional. True, if the bot supports inline queries. Returned only in getMe.

caption_entities[].type String Yes

Type of the entity. Can be “mention” (@username), “hashtag” (#hashtag), “cashtag” ($USD), “bot_command” (/start@jobs_bot), “url” (https://telegram.org), “email” (do-not-reply@telegram.org), “phone_number” (+1-212-555-0123), “bold” (bold text), “italic” (italic text), “underline” (underlined text), “strikethrough” (strikethrough text), “code” (monowidth string), “pre” (monowidth block), “text_link” (for clickable text URLs), “text_mention” (for users without usernames)

Possible values:

  • "text_mention"
  • "hashtag"
  • "italic"
  • "url"
  • "bot_command"
  • "bold"
  • "cashtag"
  • "mention"
  • "pre"
  • "email"
  • "underline"
  • "code"
  • "phone_number"
  • "strikethrough"
  • "text_link"
caption_entities[].language String No

Optional. For “pre” only, the programming language of the entity text

caption_entities[].offset Integer Yes

Offset in UTF-16 code units to the start of the entity

reply_to_message_id Integer No

If the message is a reply, ID of the original message

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.