> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zixflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Document Message

#### Body

<ParamField body="to" type="string" required placeholder="Enter phone number">
  Specifies the recipient's phone number in international format (e.g.,
  "1xxxxxxxxxx").
</ParamField>

<ParamField body="botId" type="string" required placeholder="Enter bot ID">
  This is the unique identifier associated with the RCS bot. Find the BOT ID on
  the Zixflow RCS Settings page. [RCS
  Settings](https://app.zixflow.com/campaign/settings/rcs)
</ParamField>

<ParamField body="fileUrl" type="string" required placeholder="Enter Document URL">
  Document url which need to send
</ParamField>

<ParamField body="suggestions" type="array" required>
  A Suggestions Object includes the following fields and formatting options:

  <Expandable title="Suggestions" defaultOpen="false">
    <ParamField body="type" type="string" required initialValue="reply" default="reply">
      Suggestion Type Options: "reply", "open-url", "dialer", "location",
      "calendar-event"
    </ParamField>

    <ParamField body="text" type="string" required>
      Displayed as button text to the end user.
    </ParamField>

    <ParamField body="postback" type="string">
      (Optional) Used to track user interactions. When clicked, a unique
      postback event is triggered on the webhook.
    </ParamField>

    <ParamField body="url" type="string">
      Required if type is "open-url". Must be a valid URL. Example:
      [https://google.com](https://google.com)
    </ParamField>

    <ParamField body="phoneNumber" type="string">
      Required for "dialer" type. Must be a valid phone number with country code
      and "+" prefix. Example: +919876543210
    </ParamField>

    <ParamField body="label" type="string">
      Required for "location" type. Label for the location. Example: "Office
      Location"
    </ParamField>

    <ParamField body="latitude" type="number">
      Required for "location" type. Latitude value in numeric format. Example:
      12.9363301
    </ParamField>

    <ParamField body="longitude" type="number">
      Required for "location" type. Longitude value in numeric format. Example:
      77.6084231
    </ParamField>

    <ParamField body="title" type="string">
      Required for "calendar-event" type. Event title. Example: "Zixflow
      Appointment"
    </ParamField>

    <ParamField body="description" type="string">
      Required for "calendar-event" type. Event description. Example:
      "Appointment with Zixflow team to understand their application."
    </ParamField>

    <ParamField body="startTime" type="string">
      Required for "calendar-event" type. Start date and time in ISO format.
      Example: "2024-11-30T14:00:00Z"
    </ParamField>

    <ParamField body="endTime" type="string">
      Required for "calendar-event" type. End date and time in ISO format.
      Example: "2024-11-30T15:00:00Z"
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="source" type="string" placeholder="Enter Source Type" initialValue="API" default="API">
  If the "linkWithRecord" is set to true, the source from which the WhatsApp
  message is sent should be mentioned; otherwise, it defaults to API.
</ParamField>

<ParamField body="linkWithRecord" type="boolean" placeholder="Enter true or false">
  Specify whether to associate the current message with a record and display it
  in the inbox. Set it to "true" for linking with a record; otherwise, it
  defaults to "false."
</ParamField>

<ParamField body="reportURL" type="string" placeholder="Enter report URL">
  (Optional) Specify the URL where the user's report and deliveries should be
  delivered.
</ParamField>

<ParamField body="submissionStatus" type="boolean" placeholder="Enter true or false">
  (Optional) Indicates whether to wait for the submission status. Set it to
  "true" if you want to wait for the submission status; otherwise, it defaults
  to "false."
</ParamField>

#### Response

<ResponseField name="status" type="boolean">
  Indicates whether the call was successful. true if successful, false if not.
</ResponseField>

<ResponseField name="message" type="string">
  success or error response message
</ResponseField>

<ResponseExample>
  ```json 200-Success theme={null}
  {
    "status": true,
    "message": "Message sent successfully"
  }
  ```

  ```json 400-Bad Request theme={null}
  {
    "status": false,
    "message": "Invalid data Provided"
  }
  ```

  ```json 401-Unauthorised theme={null}
  {
    "status": false,
    "message": "Unauthorised"
  }
  ```
</ResponseExample>
