Gazelle connections is a list of the OAuth connections Sapera uses to communicate with Gazelle's E-Bike Connect platform. The integration enables Sapera to send sales data and stock data to Gazelle as well as import product data from Gazelle.
One connection is created per stock unit. A connection contains an access token and a refresh token that Sapera uses to authenticate against Gazelle's platform without a manual login at each data exchange.
The connections are used by background jobs that periodically send sales data and stock data to Gazelle and import product data from Gazelle. The connection screen itself is an administration screen where you create and maintain the access tokens that the synchronization processes consume.
If a refresh token expires, the connection's row is shown with a red highlight in the list, and the authentication info must be renewed.
From the hamburger menu at the top left of Sapera, open Financial. In the left menu select Setup → Product catalog setup → Gazelle connections.
You now see an overview of all created Gazelle connections.
If you cannot see the menu item, you probably do not have permission for it. Contact support.
Click the plus button at the top right to add a new connection.
A window opens where you select the stock unit the connection should be created for. Stock units that already have a connection are not shown and cannot be selected again — the system automatically fetches the stock unit ids of existing connections before the selector opens.
After selecting a stock unit you are forwarded to Gazelle's login page (via the Okta/Gazelle OAuth flow), where you log in with your Gazelle account. After a successful login you are returned to Sapera, and a confirmation is shown: "Authentication info registered for stock organizational unit {name}".
If the login flow fails, an error message is shown. Possible errors are:
Invalid callback content: The response from Gazelle's login page could not be parsed correctly.
Invalid authentication state: The internal state parameter sent to Gazelle and back to Sapera was invalid.
No stock organizational unit: The selected stock unit could not be identified in the callback response.
Code exchange error: The exchange of the authorization code for an access token failed.
No refresh token: Gazelle did not return a refresh token in the response.
No tenant: The tenant information was missing in the callback response.
Contact support if the error recurs.
Select a connection in the list and click Update authentication info (button on the left in the toolbar — requires that a row is selected) to start a new Gazelle login flow and renew the tokens for the selected connection.
This is necessary if the connection's refresh token has expired (red row highlight). The possible error messages are the same as on creation — see the section above.
Select the desired connection in the list and click the delete button at the top right. A confirmation dialog is shown before the connection is deleted.
The column Is refresh token expired has an active boolean filter dropdown. Click the column's filter icon to choose:
Yes: Show only connections where the refresh token has expired (red highlight).
No: Show only connections with valid tokens.
All: Remove the filter and show all connections.
This makes it easy to get a quick overview of which connections require action.
Column sorting is supported on Stock unit, Created on and Updated on. Click the column header to toggle between ascending and descending sorting.
Stock unit: The stock unit in Sapera the connection is linked to.
Created on: Date and time (with seconds) for when the connection was created.
Created by: The user who created the connection.
Updated on: Date and time (with seconds) for the latest update of the connection's tokens.
Sales sent on: Date of the latest successful sending of sales data to Gazelle.
Stock data sent on: Date of the latest successful sending of stock data to Gazelle.
Products imported on: Date of the latest successful import of product data from Gazelle.
Is refresh token expired: Shows whether the connection's refresh token has expired. If the field has a date value, the entire row is highlighted in red, and the authentication info must be renewed. The column has a boolean filter dropdown (Yes/No/All).
If you have questions, you are welcome to contact support.
Want to know more?
Read more in these related articles:
Relation types
Set up and manage the types of relations that can be created between actors in Sapera.
Relation roles
Create and maintain relation roles used to describe the parties' role in an actor relation
Actor library (customers and suppliers)
Search, create and edit customers and suppliers in Sapera Financial.