Links

HTTP-request step

These cube allow send many http requests to another hosts.
HTTP-request step allows you to interact with HTTP & REST APIs

1. Set request method, paste URL and add parameters

You can add parameters both in URL input, like https://api.directual.com?param1=aaaa&param2={{field}} or using Parameters tab. Feel free to add {{fields}} using template system.
Remember that if parameter value contains characters like " ", "+", "–", wrap it in {{#encodeURIComponent}} parameter value {{/encodeURIComponent}}

2. Optional: Add headers and Body

You can add headers and body for your request, using template system.
Note that choosing the body type (json, x-www-form-urlencoded) you add specific headers.
If your JSON-body includes strings with special characters (like "), wrap it with {{#escape}}wrapped "text"{{/escape}}

3. Optional: Setup auth

Choose the proper auth (or no one) and the authorisation header will be automatically generated when you send the request.

4. Optional: Add custom options

  • Save API response to the field. Field should be type of json or string. It's easy to parse the response using JSON-step.
  • Ignore HTTP-errors. If this option is turned off, scenario will stop executing and call Catch error step, if any. If it is on, the scenario will continue executing.
  • Enable retry. Retry the request in case of error-code.
  • Retry non idempotent requests (e.g. POST). have a look at a nice explanation what is non idempotent requests.
  • Retry count. How many times retry connecting.
  • Read timeout, ms. Max 180000 — 180 sec.
  • Connect timeout, ms. Max 5000 — 5 sec.
  • Certificates. Add (if needed) .PEM text and key
  • Proxy. Add (if needed) proxy. You may have one here (choose IPv4).

5. Sending files

Set the content type to multipart/form-data
Body for that type of request should be the following:
{
"file": "{{ContextVar.fileUrl}}", // URL of your file
"__files_fields__":["file"]
}
​