Authentication
The steps below will guide you on how to authenticate on our API.
Autenticate the API Call
All API requests to Tilby endpoints must contain an authentication token in the HTTP Headers
Example
GET /v2/sales/ HTTP/1.1
Host: api.scloby.com
Authorization: Bearer m0J9lFG0tlUx2345DDGsVKyf57AK72G2VvcRuOF
Obtain a Token
You can get the token in two ways:
- Through the OAuth server according to the documentation described below (recommended for integrations used by multiple environments).
- Generate a static token using the app according to this guide (easy to use for integrations on individual customers)
Use of the OAuth server
Obtain a Client ID and Client Secret
Please note
It's mandatory that the integration work with the static token before requesting Client ID/Client Secret to our support service.
Send an email to [email protected] and ask for a new application Client ID/Client Secret
Please indicate:
- Application Name
- What would you exactly with your app
- Endpoints you want to access, and desired operations (for ex. if you want to read items ask for /items READ permissions)
- A Callback url for your app (for example http://app.mydomain.com/callback)
Call our login service
- Redirect your app to the following url:
https://login.tilby.com/signin.php?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_CALLBACK_URL
- Insert valid Scloby credentials (username/phone/email and password)
- Select a shop
- If credentials are valid, our login service redirects to your callback url and appends a GET variable called "code" in the request.
For example, redirects to
http://app.domain.com/callback?code=US3qQIataxOal0pjtReR2a2eBFhivLN4aSxaxyKa
Get the token
- Grab the "code" we sent to you, and put it into a variable
- Send a POST Request to:
https://login.tilby.com/accesstoken.php
with POST parameters:
client_id // the client id we assigned to your app
client_secret // the client secret we assigned to your app
redirect_uri // your redirect uri
code // code we sent to you in the callback
Example test form, if you're using PHP
<form action='https://login.tilby.com/accesstoken.php' method='post' accept-charset='UTF-8'>
<input type="hidden" name="client_id" value="YOUR_CLIENT_ID">
<input type="hidden" name="client_secret" value="YOUR_CLIENT_SECRET">
<input type="hidden" name="redirect_uri" value="YOUR_CALLBACK_URL">
<input type="hidden" name="code" value="<?php echo $_GET['code']; ?>">
<input type="submit" value="get token">
</form>
If everything is gonna be ok, the server will respond with a json contains:
- An access_token, valid for your app, your user, selected shop
- An expires parameter, which is the timestamp indicates when the token expires
- An expires_in parameter, indicates how your token lives
- A refresh_token you have to use for getting a new token when expires without relogin
Example:
{
access_token: "dvNOlrZtOaWVdpdFQK7EQS4aUcKSgBJPtuIJMvc9",
token_type: "bearer",
expires: 1394363325,
expires_in: 2592000,
refresh_token: "qFdGAgZiYkEIKXdYrJejBXWrk1bPvFWivX1Y5Qtn"
}
Refresh your token
If you want to get a new token (for example if the old token expires), you have to just send a request to:
https://login.tilby.com/accesstoken.php
with the following POST parameters:
grant_type="refresh_token" (fixed!)
client_id // the client id we assigned to your app
client_secret // the client secret we assigned to your app
refresh_token // refresh token
Example test form
<form action='https://login.tilby.com/accesstoken.php' method='post' accept-charset='UTF-8'>
<input type="hidden" name="grant_type" value="refresh_token">
<input type="hidden" name="client_id" value="YOUR_CLIENT_ID">
<input type="hidden" name="client_secret" value="YOUR_CLIENT_SECRET">
<input type="hidden" name="refresh_token" value="YOUR_REFRESH_TOKEN">
<input type="submit" value="refresh token">
</form>
Updated over 2 years ago