In this start guide we’ll cover how to quickly get started with ARender SaaS.
Visit the subscription page
Go to insert subscription page here and place in all required information.
Remember: ARender SaaS is a paid per use service, which mean you’ll have plenty of time to test the product and won’t be receiving high bills each month while you’re just testing it.
Read and verify your credentials
Once your dedicated subdomain instance is ready, you’ll receive a notification email with the subdomain name, service account information and API key.
Verify that the email is valid and comes from our official email address. Always verify the links you receive and their information when opening emails.
Our subdomains are always of the form xxxx.saas.arender.io , where xxxx is your dedicated subdomain. Take care of any added domain after the .io or changes in the format !
Example of potential valid domain: client123.saas.arender.io
Example of invalid domain, please report this sender as a fishing attempt: client123.saas.arender.io.mydomain.com
Add your identity provider
To add your identity provider:
- Start by logging at
https://yousubdomain.saas.arender.io/auth/admin/yoursubdomain
with your credentials. - Go to the
Identity provider
section - Click on
Add provider
and select one of the providers in the list. - Complete the form with the provider requirements.
ARender Saas support any of the following SSO protocols:
- SAMLv2
- OpenID
- OAuth2.0
And allows connection from the following social login:
- Bitbucket
- GitHub
- GitLab
- Microsoft
- Openshift
- Paypal
- StackOverflow
Push your first document
Now that you possess a hostname, a configured identity provider and an API key you can start posting documents to ARender SaaS !
Here are a couple of examples, using different languages, pick your favorite!
Document Model:
{
"documentTitle": "Title of the document",
"documentData": "b64 encoded string of a document content",
"nameIdRead": ["nameIdOfUser1AllowedToReadWrite", "nameIdOfUser2AllowedToRead", "nameIdOfUser3AllowedToRead"],
"nameIdWrite": ["nameIdOfUser1AllowedToReadWrite"]
}
Java sample
// using spring web dependencies
String hostname = "https://mysubdomain.saas.arender.io/";
String apiKey = "xxx-xxx-xxx-xxx"
URI uri = UriComponentsBuilder.fromUri(hostname)
.path("/upload")
.query("api-key={apiKey}")
.buildAndExpand(apiKey);
.toUri();
HttpHeaders headers = new HttpHeaders();
headers.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
// getBasicAuth has to forge a basic auth valid header from your
// service account
headers.set(HttpHeaders.AUTHORIZATION, getBasicAuth());
// this is a class directly made from the model
// set your permission/data
Document document = new Document();
// prepare the request
HttpEntity<Document> request = new HttpEntity<>(document, headers);
// the restTemplate should be initialized only once, not every time
// auto wire it if possible
String documentId = template.postForObject(uri,request,String.class);
Curl sample:
$> curl --location --request POST 'https://mysubdomain.saas.arender.io/upload?api-key=xxx-xxx-xxx-xxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"documentTitle": "test.txt",
"documentData": "b64 encoded file content",
"nameIdRead": [
"nameIdOfUser1AllowedToReadWrite",
"nameIdOfUser2AllowedToRead",
"nameIdOfUser3AllowedToRead"
],
"nameIdWrite": [
"nameIdOfUser1AllowedToReadWrite"
]
}'
C# .NET sample:
using System;
using RestSharp;
namespace TestApplication
{
class ARenderSaasConnector
{
static void Main(string[] args)
{
var client = new RestClient("https://mysubdomain.saas.arender.io/upload?api-key=xxx-xxx-xxx-xxx");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"documentTitle\": \"test.txt\", \"documentData\": \"b64 encoded file content\", \"nameIdRead\": [\"nameIdOfUser1AllowedToReadWrite\", \"nameIdOfUser2AllowedToRead\", \"nameIdOfUser3AllowedToRead\"], \"nameIdWrite\": [\"nameIdOfUser1AllowedToReadWrite\"]}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
}
}
}
Ruby sample:
require "uri"
require "net/http"
url = URI("https://mysubdomain.saas.arender.io/upload?api-key=xxx-xxx-xxx-xxx")
https = Net::HTTP.new(url.host, url.port);
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request.body = "{\"documentTitle\": \"test.txt\", \"documentData\": \"b64 encoded file content\", \"nameIdRead\": [\"nameIdOfUser1AllowedToReadWrite\", \"nameIdOfUser2AllowedToRead\", \"nameIdOfUser3AllowedToRead\"], \"nameIdWrite\": [\"nameIdOfUser1AllowedToReadWrite\"]}"
response = https.request(request)
puts response.read_body