Documentation

The complete knowledge base about ARender - How to install it and how to configure it as needed

Access

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:

  1. Start by logging at https://yousubdomain.saas.arender.io/auth/admin/yoursubdomain with your credentials.
  2. Go to the Identity provider section
  3. Click on Add provider and select one of the providers in the list.
  4. 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
  • Google
  • LinkedIn
  • Microsoft
  • Openshift
  • Paypal
  • StackOverflow
  • Twitter
Note
You can add as many providers as you want to connect your users. Then your users will have to choose between one of them in the login page.

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