HTTP Requests

Every request is handled and tracked by a HTTP Request record.

HTTP Request records are created every time an HTTP Request is generated for sending to or receiving from an external system. They contain all the low-level data about the individual request; the headers, the payload, the URL, timings, etc.

These records are extremely useful for developing and debugging integrations because of the immediate availability and contextual relevance to the integration you are developing. You will often find that it is easier to debug an integration from within Unifi than it is from any external system.

State Control

The Request will be inserted in a ‘Ready’ state. Unifi will then asynchronously pick it up and process it. The following table defines the state field value choices:

Label

Sequence

Description

Pending*

0

The HTTP Request is waiting to be processed asynchronously, but in a retry scenario it is waiting for the synchronous timeout specified on the Integration.

Ready**

1

The HTTP Request is ready to be processed outbound.

OK

1

There are no errors with the HTTP Request.

Error

3

There was an error with the HTTP Request.

Cancelled

4

The HTTP Request was cancelled.

*Pending

(After a failure the HTTP Request is created straight away, but remains in a ‘Pending’ state until the timer has finished.)

**Ready

Inbound HTTP Requests are currently processed synchronously and therefore will only ever be ‘OK’ or ‘Error’.

HTTP Request Fields

The following table gives a description of the fields that are visible on the HTTP Request record:

Field

Type

Description

Number

String

The unique HTTP Request identifier.

Integration

Reference

The integration this record belongs to.

Connection

Reference

The connection this request will use.

Transaction

Reference

The transaction this record belongs to.

Message

Reference

The message used to process this record.

Response Action

Reference

The Response Action that handled this request.

Direction

Choice

The direction this record is travelling in.

Request state

Choice

The state of the request.

Attempt number

Integer

The number of HTTP Request attempts. Failed requests are retried up to the maximum attempts number as configured on the Integration.

Source type

String

The Source type that created this request.

Request Fields

The following table gives a description of the Request fields that are visible on the HTTP Request record:

Field

Type

Description

Endpoint URL

URL

The external system’s access URL.

Action method

String

The SOAP Action or the REST Method to use for this request.

Request headers

String

A JSON object containing the headers sent with this request.

Request payload

String

The payload of the request being sent or received.

Time

Glide date time

The time this request was processed.

Size (bytes)

Integer

The size in bytes of the request payload.

Mid server

Reference

The MID server used to send this request.

Response Fields

It is often far quicker and easier to tell what has been sent from the integrated system by looking at the values in the Response fields in Unifi than it is to get the same information from the system that has sent it.

The following table gives a description of the Response fields that are visible on the HTTP Request record:

Field

Type

Description

Status code

String

The response status code.

Time to send

Integer

The time taken in milliseconds to receive a response.

Status text

String

The HTTP status text.

Response headers

String

A JSON object containing the headers sent in response to this request.

Response payload

String

The payload of the response being sent or received.

Debugging

Unifi logs can be viewed by navigating to the 'Unifi Activity Logs' related list.

Activity Logs

The logs that relate to the HTTP Request are as follows:

RestHelper

An inbound request has been received and generated an inbound HTTP Request.

Request sending

Here Unifi is processing the outbound HTTP Request and sending it to the integrated system.

The logs that can be viewed from the HTTP Request record relate to the HTTP Request only.

Replay Request

You can click the Replay Request button on the HTTP Request record to replay that request.

This will be used when testing/debugging. For example, if the Request errors you may want to edit the payload & then replay the Request to check if the error clears.