HTTP Request

This topic provides an overview of the HTTP Request component, and describes its configuration, variables, as well as supported connections.

Component introduction

HTTP Request component allows you to send HTTP requests to external Web servers, enabling data exchange with third-party services. The response is stored in variables, which can be used as input for subsequent components or for condition evaluation.
Supported request types
  • GET

  • HEAD

  • OPTIONS

  • POST

  • PUT

  • TRACE

  • DELETE

Supported content types
  • application/javascript
  • application/json
  • application/x-www-form-urlencoded
  • application/pdf
  • application/xml
  • application/zip
  • multipart/form-data
  • text/css
  • text/html
  • text/plain
  • image/png
  • image/jpeg
  • image/gif

Component configuration

  1. After adding HTTP Request component to a message flow, click HTTP Request component to proceed with the configuration.

  2. In the pop-up right panel, configure the HTTP request and click Confirm.
    Note: The URI, Query Parameter, Content and Header can be defined via expressions that may include variables, constants, and functions.

    You can click to configure expressions. In expression editor, enter FX to view and select system‑supported functions, and enter $ to view and select variables already stored in the current message flow.

    For more information about functions and variables, see Variables and Functions in Yeastar Expression.

    Item Description
    URI

    Specify the target URI to which the HTTP request will be sent.

    Request Type Select the HTTP method to use.
    • GET

    • HEAD

    • OPTIONS

    • POST

    • PUT

    • TRACE

    • DELETE

    Content Type Select a content type.
    • application/javascript
    • application/json
    • application/x-www-form-urlencoded
    • application/pdf
    • application/xml
    • application/zip
    • multipart/form-data
    • text/css
    • text/html
    • text/plain
    • image/png
    • image/jpeg
    • image/gif
    Query Parameter Click Add to add query parameters.
    Note: It is recommended not to exceed 30 parameters.
    Content Enter the request body to be sent to the server.
    Note: If variables or functions are inserted in the content box, enclose them in single quotes ''.
    Timeout(s) Set the time in seconds to wait for the HTTP request to complete.
    Header Click Add to specify HTTP headers for the request.
    Note: It's recommended not to exceed 30 headers.

    The configured information appears on the component.

  3. Optional: To route the message session or trigger other actions when the component's branch conditions are met, hover over the desired branch and click to add the next component.

    For more information about components that support to be connected, see Component connections.

Component variables

When a HTTP Request component is added to a message flow, the system stores response information in variables. These variables can be referenced in expression-supported components (such as Condition) to retrieve the response information and respond accordingly based on the result.

Note: Since HTTP Request component can be added multiple times in a message flow, an index is appended to the unique ID of each component (e.g. HTTP Request 1, HTTP Request 2) based on the order in which the components are added. To retrieve data from the right component, the component variable must contain the corresponding index.
Variable Type Description Example Value
$HttpRequest{index}.responseContent String The body content returned from HTTP response.

{"authenticated": true, "user": "10000"}

$HttpRequest{index}.responseStatusCode String The HTTP status code returned from the request.
Note: When using functions to evaluate HTTP status code, ensure that the constant is a numeric code, without any accompanying text.
"200"

Component connections

HTTP Request component comes with two built-in branches Default Destination and Timeout Destination. Each branch can be connected on one component, which can be any of the components listed below.

Note: If a component is already connected to the branch, and you need to insert a new component between them, hover over the line, click and select the target component. The selected component is inserted between them with connections auto-established on both ends, without the need to delete the connection, add the component and reconnect manually.

End components Transfer and Close are unavailable for this insertion method.

Component Description
Send Message Send Message component enables the system to automatically send messages to customers.

For more information, see Send Message.

Send WhatsApp Template Message Send WhatsApp Template Message component enables the system to automatically send messages to customers using specified WhatsApp message templates.
Important: This component is available only when the message flow is only applicable to WhatsApp channel type.

For more information, see Send WhatsApp Template Message.

Wait for Reply Wait for Reply component allows you to set the reply timeout and route the message session depending on whether a reply is received.

For more information, see Wait for Reply.

Menu Menu component allows you to present the customer with a set of menu options, and route the message session based on the value that they reply.

For more information, see Menu.

Business Hours

Business Hours component allows you to route the message session to different destinations based on the time of day.

For more information, see Business Hours.

Wait Wait component enables the system to automatically route the message session to the connected component upon reply timeout.

For more information, see Wait.

Condition Condition component allows routing the message session based on logical expressions.

For more information, see Condition.

Loop Loop component allows a group of components to be executed repeatedly based on the loop strategy.

For more information, see Loop.

Internal Data Ops Internal Data Ops component allows you to query data from PBX-native database.
For more information, see the following topics:
Email Sender Email Sender component enables the system to automatically send emails to a recipient via configured email server and record the send logs, enabling real-time notifications.

For more information, see Email Sender.

Database Access Database Access component allows you to interact with database during a message flow. You can execute SQL operations to retrieve or update data as needed.

For more information, see Database Access.

HTTP Request HTTP Request component allows you to send HTTP requests to external web servers, enabling data exchange with third-party services.

For more information, see HTTP Request.

Transfer

Transfer component allows you to transfer the message session to a specific destination to terminate the current message flow.

For more information, see Transfer.

Close Close component enables the system to automatically disconnect the message session to terminate the current message flow.

For more information, see Close.