Powens Documentation
DocumentationChangelogConsoleWebsite
  • Documentation
  • Integration guides
    • Quick Start
      • API Overview
      • Add a first user and connection
    • ➖Bank
      • Introduction to Bank
      • Bank integration guide
    • ➖Check
    • ➖Wealth
    • ➖Pay
      • Getting started with Pay
      • Initiating a one-time payment with the Webview
      • Initiating a bulk payment with the Webview
      • Initiating a recurring payment with the Webview
      • Cancelling a payment
      • Validating your implementation with the test connector
      • Advanced
        • Listing connectors with Pay enabled programmatically
        • Implementing your own payment validation webview
        • Confirming payments manually
        • Changing the manual expiration time
        • Changing the maximum amounts for payments
    • ➖Trust
    • ➖Advisory (obsolete)
    • ➖Indicators
    • SCA & connection states
    • Webhooks
    • Advanced
      • Custom connection implementation
      • End-to-end encryption
      • Response signature
  • SDK
    • Connect SDK
    • Powens Connect iOS
  • Reference
    • API Reference
    • Console & Webview documentation
  • Ressources
    • Tools
      • Institutions & capabilities
      • Demo integration
      • Demo product
    • Glossary
  • Changelog
  • Legal notice
Powered by GitBook
On this page
  • Add a first user and connection
  • Prerequisites
  • Users and connections
  • Adding a new connection
  • Use the access token

Was this helpful?

  1. Integration guides
  2. Quick Start

Add a first user and connection

PreviousAPI OverviewNextBank

Last updated 8 months ago

Was this helpful?

Add a first user and connection

If you want to initiate payments, you do not need to add user/connection, please refer to the pay guide.

Prerequisites

To start interacting with our API, make sure you have setup a domain and a client application in the administration console.

Users and connections

User scope

Users of your application exist in our API. All data collected and exposed through our services is organized and scoped by users. We enforce isolated access to user data by issuing user-scoped access tokens, shared secrets that let you both authorize with our API and identify the relevant user you want to interact with.

You are responsible for keeping these tokens safe, and maintain the association with your own user registry.

Connections

User data arise from connections. A connection materializes the link between a user and one of the connectors (banks or billing providers) we support. Creating a connection requires the end-user to authenticate with the connector. As long as the connection is active, we take care of synchronizing user data and expose it.

You will need to let your users add a first connection before you can access its banking or billing data.

Adding a new connection

You can use our to experiment with the different steps described below.

The steps include:

  • generating a permanent user access token;

  • before opening the Webview, generating a temporary code from the permanent user access token;

  • redirecting the user to the Webview, providing the temporary code as parameter, to let him pick up a connector and add a connection;

  • handling redirection after the web steps.

You need to generate a permanent user access token for your new user which will create a new user on Powens side:

POST https://{domain}.biapi.pro/2.0/auth/init
{
  "client_id": "{clientId}",
  "client_secret": "{clientSecret}"
} 
{
  "auth_token": "{accessToken}",
  …
}

This step involves sending your client secret (a sensitive data), you must perform it from a secure environment.

Then before redirecting to the Webview generate a temporary code that you will provide to the Webview URL. This is so you're not opening the Webview using the permanent access token directly.

GET https://{domain}.biapi.pro/2.0/auth/token/code

Authenticate this request using the permanent access token you previously generated.

{
  "code": "{temporaryCode}",
  …
}

For the most simple configuration, present the following URL to your user (new lines are only added for clarity):

https://webview.powens.com/connect
  ?domain={domain}
  &client_id={clientId}
  &redirect_uri={yourCallbackUri}
  &code={temporaryCode}

You will need to provide the client_id of the client application created in the administration console, and a redirect_uri to use as a callback that must match the white-list defined in the console.

After the user has completed all steps in the webview, he will be redirected to your callback URL:

{yourCallbackUri}?connection_id={id}

Use the access token

Congratulations, you have been provided an access token that you must save, and that you can use to interact with all our products!

The simplest way to perform a connection setup is to use our , a set of web-based endpoints that complement your domain API. It will take care of letting the user choose his bank or provider, gather credentials for later sync and manage consent to the individual bank accounts or document subscriptions he wants to share with your service, enforcing GDPR requirements.

To optimize user experience, we encourage you to open the webview in a standalone fully-capable browser following . The webview appearance can be customized in the Administration console, and its behavior can be configured using .

The connection flow can also lead to errors, reported with the error and error_description parameters, your implementation must .

If eligible, you can instead of using our webview.

As soon as a connection is created, it gets synchronized (in background). If you have configured , data will be pushed as soon as the synchronization complete.

After creation, you should provide your users a way to manage their connections (add/delete, or manage consent to accounts). You can use our for this or create your own implementation. Also, you need to properly that may occur afterwards.

build your custom connection implementation
webhooks
integration demo
handle the various connection states
Connect webview
our best practices
additionnal parameters
handle them gracefully
Manage webview