Table of Contents

Getting Started

Authentication

As mentioned in the Getting Started Overview we provide two technology assets, Now let's delve deeper into the authentication.

We Suggest to Integrate our Apis with the Partner Backend, This can be achived using the following Authentication.

REST Api Authentication

We use Microsoft Identity Platform to retrieve the JWT using the OAuth2 protocol.

So you can retrieve the Token calling the follow Api REST:

curl --location 'https://login.microsoftonline.com/FLOWE_AZURE_TENANT/oauth2/v2.0/token' \
--form 'client_id="PARTNER_CLIENT_ID"' \
--form 'client_secret="PARTNER_CLIENT_SECRET"' \
--form 'scope="api://p1-FLOWE_TIER/.default"' \
--form 'grant_type="client_credentials"'

Further information at Microsoft Identity Platform Docs

The Token retrieved will contain all the permissions assigned to the Partner. Now the Partner can call our Apis using the token in a Bearer Authentication like following:

curl --location 'https://FLOWE_PREFIX_DNS_ENVIRONMENT.flowe.com/wp/FLOWE_GROUP_API_ROUTE/FLOWE_API_ROUTE' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'AuthKey: PARTNER_AUTHKEY' \
--header 'Partner: PARTNER_NAME' 

Message Broker Authentication

Using the same parameters (FLOWE_AZURE_TENANT, PARTNER_CLIENT_ID and the PARTNER_CLIENT_SECRET) you can get token and access to the Our Public Message Broker in which you will get Our Asynchronous Events.

Following an Example of C# Code

using Azure.Identity;
using Azure.Messaging.ServiceBus;

TokenCredential credential = new ClientSecretCredential(
    FLOWE_AZURE_TENANT,
    PARTNER_CLIENT_ID,
    PARTNER_CLIENT_SECRET);

var client = new ServiceBusClient(
    "FLOWE_PUBLIC_SERVICE_BUS.servicebus.windows.net",
    credential,
    options);

Once you have the ServiceBusClient instance you can Process Messages targeting topic PARTNER_NAME and subscription PARTNER_NAME.

Parameters to Access to the Environment (Sandbox/Test)

Contact Flowe to receive the following parameters:

Placeholder Description Provided by Flowe Admin
FLOWE_AZURE_TENANT Flowe Azure Tenant Id
PARTNER_CLIENT_ID Partner Client Id to get the Token
PARTNER_CLIENT_SECRET Partner Client Secret to get the Token
FLOWE_TIER Flowe Tier in which you are operating
FLOWE_PREFIX_DNS_ENVIRONMENT Flowe Prefix DNS based on the Tier
FLOWE_GROUP_API_ROUTE Flowe Group Api Route, Read the following table
FLOWE_API_ROUTE Flowe Api Route, Read it in Api Docs
JWT_TOKEN JWT Token Retrieved in the Auth Api Rest
PARTNER_AUTHKEY Partner Authentication Key
PARTNER_NAME Partner Name
FLOWE_PUBLIC_SERVICE_BUS Flowe Public Service Bus Namespace Endpoint

Set FLOWE_GROUP_API_ROUTE based on the following table:

Api Group Route Path
Wallet Management walletmanagement/v1
Operations operations/v1
Partner Management partnermanagement/v1
Movements movements/v1
Fees Manager feesmanager/v1
Business Router businessrouter/v1