StreamText.Net provides a way for 3rd parties to directly ingest realtime text by receiving HTTP requests that include the text content. This article details the specifics of the HTTP request that is sent from the StreamText.Net servers to the 3rd party server for ingestion.
Providing a Caption URL
The only configuration parameter needed is a URL where the StreamText.Net servers will send the HTTP request. Any URL that is reachable on the public internet is valid. Each request will have a `seq` and a `lang` query string parameter appended to the URL when making the request. The `seq` parameter is the integer value current sequence (starting at 1) that is being sent.
HTTP Request Message
The StreamText.Net servers will send an HTTP POST message to the provided Caption URL after appending the `seq` and `lang` values. The `Content-Type` of the POST message will be plain text and will include all of the content since the last successful message was sent. NOTE: The content will be a UTF-8 string and may include non printable characters such as spaces, tabs, line feeds, carriage returns, and most importantly delete. The service receiving these message should think of the HTTP messages and the corresponding content as a stream and will be responsible for processing the delete characters against previous characters that were sent.
An example HTTP POST message
Content-Type: text/plain; charset=utf-8
Date: Sat, 20 Jun 2020 16:43:29 GMT
This is a test\n
With 2 lins\x08es and a delete character
Note: The content `\n` and `\x08` are not literal characters. They are place holders for a line feed byte and a delete byte since those characters can not be represented in a printable form.
HTTP Request Headers
- Content-Type: Value will always be `text/plain; charset=utf-8`.
- Content-Length: The length of the text in the body of the request.
- Content-Language: The language of the captions.
- Date: Standard HTTP Date header value or the time the request was generated.
- X-Timestamp: The ISO 8601 representation of the time the content was generated.
Questions and Support
Please contact support at firstname.lastname@example.org with any questions or for any clarifications. We will be happy to set up an account for you so you can test your integration.