Requirements
The only software a ReportingCloud application needs on your side is the client that sends the requests: your own code, a script or one of the SDKs. The service itself runs on Text Control's servers, and a client needs an account, credentials and a way to send HTTPS requests with JSON. The SDKs add requirements of their own, a .NET target framework, a PHP version, a JDK or a Ruby gem, which the tables below list.
What Every Client Needs
| Requirement | Details |
|---|---|
| A ReportingCloud account | A 30-day trial, a Free account or an account with a subscription. See Creating an Account. |
| Credentials | An API key of the account or its user name (the email address you signed up with) and password. See API Keys. |
| HTTPS | Every endpoint is below https://api.reporting.cloud/v1/. The Web API answers on HTTPS only and accepts TLS 1.2 and TLS 1.3, not TLS 1.0 or 1.1, so the client must be able to open outgoing HTTPS connections with TLS 1.2 or later to api.reporting.cloud. |
| An HTTP client | It sends GET, POST, PUT and DELETE requests with an Authorization header and JSON bodies, and reads JSON responses. |
| Base64 | Templates and documents travel as Base64 strings in the JSON, so the client encodes the files it sends and decodes the documents it gets back. |
| A web browser | For the ReportingCloud portal at https://portal.reporting.cloud/, where you create API keys, edit templates and add subscriptions. |
Any language that can send such requests works without an SDK: the Web API tutorial creates a first document with curl.
SDK Requirements
The SDKs wrap the HTTP requests of the Web API in classes and methods. Each has its own runtime requirements, and two of them authenticate with the user name and password of the account only:
| SDK | Package | Newest version | Runs on | Authentication |
|---|---|---|---|---|
| .NET | TXTextControl.ReportingCloud on nuget.org | 1.205.500, September 2, 2019 | .NET Framework 4.5 or later, .NET Core and .NET 5 or later, .NET Standard 1.3 | API key or user name and password |
| PHP | textcontrol/textcontrol-reportingcloud on Packagist | 4.0.5, June 27, 2024 | PHP 8.3 or a later 8.x version, with the dom, json and libxml extensions | API key; user name and password are deprecated |
| Java | None. You build it from its source code on GitHub. | 1.3 in the build file, last changed in March 2019 | Compiled for Java 8, built with JDK 8; needs the Gson 1.7.2 library and JavaFX | User name and password only |
| Ruby | txtextcontrol-reportingcloud on RubyGems | 1.2.1, March 4, 2019 | No minimum Ruby version declared, no runtime dependencies | User name and password only |
Installing an SDK installs each of them, and SDKs compares what they offer.
.NET
TXTextControl.ReportingCloud is a multi-target package. NuGet picks the build that fits your project:
| Build in the package | Used by | Dependencies |
|---|---|---|
net45 | .NET Framework 4.5 or later | Microsoft.AspNet.WebApi 5.2.6, Newtonsoft.Json 10.0.3 |
netcoreapp1.1 | .NET Core and .NET 5 or later, including .NET 10 | Microsoft.NETCore.App 1.1.2, Newtonsoft.Json 10.0.3 |
netstandard1.3 | Platforms that implement .NET Standard 1.3 | NETStandard.Library 1.6.1, Newtonsoft.Json 10.0.3 |
- .NET 10. A .NET 10 console application references the
netcoreapp1.1build, compiles and sends its requests with it. - .NET Framework. A .NET Framework 4.8 project references the
net45build. - Vulnerability warnings. Restoring the package in a .NET 10 project reports
NU1903warnings for its dependenciesMicrosoft.NETCore.App1.1.2,Microsoft.NETCore.Jit1.1.2 andNewtonsoft.Json10.0.3. Installing an SDK shows what you can do about them.
PHP
The Composer package textcontrol/textcontrol-reportingcloud states its PHP version per release, and Composer installs the newest release your PHP version allows:
| Release | Published | PHP | Dependencies |
|---|---|---|---|
| 4.0.3 to 4.0.5 | June 2024 | 8.3 or a later 8.x version | guzzlehttp/guzzle 7 with ctw/ctw-http 4 |
| 4.0.0 to 4.0.2 | September 2023 | 8.1 or a later 8.x version | guzzlehttp/guzzle 7 with ctw/ctw-http 3 |
On PHP 8.1 and 8.2, composer require textcontrol/textcontrol-reportingcloud:^4.0 installs 4.0.2. Below PHP 8.1, no 4.x release installs.
Every release needs the PHP extensions dom, json and libxml.
Releases for older PHP versions were published under the earlier package name textcontrol/txtextcontrol-reportingcloud: 3.0.0 for PHP 7.4 and 8.0, and 2.0.0 to 2.6.2 for PHP 7.1 and later 7.x versions. Packagist also lists the releases 2.6.3 to 2.6.8 and 4.0.0 to 4.0.6 under that name, all dated July 7, 2022. Packagist marks that package as abandoned in favor of textcontrol/textcontrol-reportingcloud, and the README of the SDK says that these versions are no longer maintained.
Java
The Java SDK is not published to Maven Central or another package repository. You build it from the repository txtextcontrol-reportingcloud-java:
- JDK 8. The README of the repository names the Java JDK 8 for the build, and the build file compiles for Java 1.8.
- Gradle. The repository contains the Gradle wrapper, which downloads Gradle 2.9 for the build.
- Gson and JavaFX. Your application needs
com.google.code.gson:gson1.7.2 on its classpath next to the SDK, and JavaFX for the classFindAndReplaceBody, which usesjavafx.util.Pair: a JDK that includes JavaFX, or the libraryorg.openjfx:javafx-base.
Ruby
The gem txtextcontrol-reportingcloud declares no runtime dependencies. It loads the libraries net/http, json, ostruct and cgi, which it expects Ruby to provide. Its gem specification declares no minimum Ruby version. Version 1.2.1 of March 4, 2019 is the newest release, and the repository txtextcontrol-reportingcloud-ruby contains the same version.
Next Steps
- Creating an Account: sign up for the 30-day trial.
- API Keys: create the key your client sends.
- Installing an SDK: add the .NET, PHP, Java or Ruby SDK to your project.
- Architecture: how your client, the Web API and the portal fit together.