Overview
Accounts represent your users' accounts in third-party services. They hold credentials, such as access tokens, that Fiber uses to interact with the source API on your behalf. You can manage accounts via the Fiber dashboard or programatically via the API.
Credentials
The credential format of each account will depend on the authorization
mechanisms of the source API. For example, adding a Shopify account will require
a myShopifyDomain
and an accessToken
value. (You can obtain those by taking
your users through the Shopify OAuth
flow.) Similarly, you
can add a Xero account to Fiber by providing a refreshToken
(because Xero
tokens expire after a while) as well as a tenantId
to identify the
organization you want to pull data from.
Some sources in Fiber support more than one credential type, to account for the different ways to authenticate with the source API. For example, you can add Stripe accounts to Fiber using either a secret key (created manually by the end-user in their Stripe dashboard) or using the account ID of a Stripe account that instaled your app.
Account identifiers
Accounts have an identifier
attribute, which Fiber uses to populate the
account_id
column in the destination tables or documents.
By default, Fiber sources compute the identifier for you, based on the
third-party object that corresponds to each account. For example, each Shopify account
in Fiber maps to a Shop
object.
So the default identifier for Shopify accounts is Shop.id
. For Stripe
accounts, the default identifier is
Account.id
.
For Plaid accounts, the default identifier is
Item.id
. And so on.
You can specify a custom identifier
when creating an account, and Fiber will
use this custom value to populate the account_id
column instead.
identifier
value to point to a
user or team ID in your database. Uniqueness constraint
Identifiers are unique within the accounts of a given source type in an environment. In database terms, we have a unique constraint on:
(identifier, sourceType, envId)
and Fiber will prevent you from creating an account if it violates this constraint.
You may find this limiting if you have multiple accounts on Fiber tied to the
same third-party tenant. (This can happen if you let multiple users in the same
organization go through individual OAuth flows.) Use custom identifier
values
to get around this limitation.
Account states
Accounts can exist in two states: enabled or disabled. You can manually disable accounts to pause all data syncing from them. This is useful to deal with inactive users. Fiber can also automatically disable accouts when it detects that the underlying credentials have been revoked or permanently expired.
You can toggle an account state via the dashboard. See below for instructions.
Managing accounts
Use the Fiber dashboard to manage the accounts in your environment. Accounts are listed under the Accounts tab:
Accounts tab in the Fiber dashboard.
There you can see the account's identifier, source and associated syncs. You can also create, edit, and delete accounts via the dashboard.
Creating Accounts
There are two ways to create accounts: via the dashboard or the API. The API method is most common: you will likely want to create accounts programmatically as users sign up for your app.
Dashboard
API
Follow these steps to create an account via the dashboard:
- Go to the Accounts tab on the dashboard.
Account creation modal.
- Click the Add account button.
- Choose the source API you want to create an account for.
- If prompted, choose an existing platform app to associate with this account.
- Finally, populate the dynamic credential fields.
- Click Add account.
Fiber will then attempt to verify the credentials you provided. If they are invalid, you will see an error message and have the chance to try again.
Deleting / Disabling Accounts
You can delete accounts via the dashboard by navigating to an account's page and clicking "Delete Account" button. Likewise, you can toggle the account state by clicking the "Enable"/"Disable" button.