APIs développeur Finexkap

Les APIs Developer Finexkap permettent à une application tierce d'interagir avec le compte d'un client Finexkap (ci-après nommé cédant).

Pré-requis : avoir un compte développeur Finexkap.
Si ce n'est pas le cas, vous pouvez créer votre compte développeur en vous inscrivant ici.


Chaque action disponible via ces APIs nécessitent un compte client Finexkap (cédant).
Les actions disponibles pour un cédant via ces APIs sont :


Documentation technique : ce site décrit en détail les APIs exposées.
Nous exposons également un Swagger si vous le souhaitez : https://api.finexkap.com/External/swagger/ui/index

Accès et authentification

L'utilisation de l'API nécessite une authentification forte à deux niveaux :

  • Via un Token développeur : elle donne à une application un accès global à l'API - c'est l'ApiToken
  • Via un Token d'accès au compte du cédant : elle permet d'identifier le cédant (une entreprise cédant des factures) - c'est l'AccessToken

Ces deux tokens doivent être placés dans l'en-tête de chaque requête.

Note : Le token développeur est obtenu en créant et en activant un compte développeur.


Compte développeur / création du Token développeur

Vous pouvez créer un compte développeur en vous inscrivant ici.
Après validation de votre compte par email, vous pourrez accéder à vos ApiTokens sur ce même site (https://developer.finexkap.com).


Un compte développeur est associé à deux ApiToken :

  • Test : Permet d'accéder à des données de test (donc fictives). Les APIs appelées avec ce token ne nécessitent pas d'authentification supplémentaire.
  • Production : Permet d'accéder aux données réelles. Les APIs appelées avec ce token nécessitent un authentification niveau accès.

L'authentification niveau accès se fait en fournissant un token appelé AccessToken (valable 2 heures). Ce token est obtenu en fournissant un token appelé RefreshToken (valable 60 jours). Le RefreshToken est obtenu en fournissant les identifiants (login et mot de passe) d'un compte cédant valide.
Note : le Refresh token est valable 60 jours glissants. C'est à dire qu'il est reprolongé à 60 jours à chaque utilisation. S'il reste inutilisé durant 60 jours il deviendra inutilisable.

code
Pour intéragir avec le compte d'un utilisateur, vous devez avoir un access token.
Pour récupérer un access token, vous devez au préalable récupérer un refresh token.
Un refresh token est récupéré en fournissant le login / mot de passe du compte cédant ainsi que votre API token.

Note : l'appel pour la récupération d'un refresh token renvoie également un access token directement utilisable.
Modèle d'appel pour générer un refresh token :
{
  "Username": "string", (login du cédant)
  "Password": "string", (mot de passe du cédant)
  "ApiTokenValue": "string" (API Token développeur)
}    
code
Génération de refresh token
LoginGetRefreshToken

Permet de récupérer un refresh token pour un compte cédant.

Lien Swagger UI

Méthode HTTP Post
URL https://api.finexkap.com/api/external/logingetrefreshtoken
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Content-Type application/json
Exemple d'appel :
  POST https://api.finexkap.com/api/external/logingetrefreshtoken
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Content-Type: application/json
code
Génération d'access token
GetAccessToken

Permet de récupérer un access token pour un compte cédant.

Lien Swagger UI

Méthode HTTP Post
URL https://api.finexkap.com/api/external/getaccesstoken
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Content-Type application/json
Exemple d'appel :
  POST https://api.finexkap.com/api/external/getaccesstoken
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Content-Type: application/json

Résultats renvoyés

La réponse retourne un code HTTP indiquant le résultat de l'appel :

200 L'appel s'est déroulé avec succès
400 Les données transmises contiennent des erreurs
401 Non autorisé
404 La ressource recherchée n'a pas été trouvée
500 Une erreur interne s'est produite

Le retour de l'appel définit une propriété status qui prend la valeur success ou fail selon le résultat de l'appel, et la propriété data qui contient les éventuelles données retournées par la fonction invoquée.

Gestion des comptes cédants

code
Les statuts des comptes cédants possibles sont les suivants :
New : Nouveau cédant
Pending : en attente
Accepted : accepté
Rejected : rejeté
code
Etat du compte cédant
GetAccountStatus

Permet de récupérer l'état du compte utilisateur du cédant.

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getaccountstatus
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getaccountstatus
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
code
Détails du compte cédant
GetAccountDetails

Permet de récupérer les détails du compte utilisateur du cédant.

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getaccountdetails
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getaccountdetails
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...

Gestion des débiteurs

code

Les débiteurs sont les clients des cédants.
Il est nécessaire de créer le débiteur de la créance afin de nous envoyer une nouvelle facture.

Modèle d'objet débiteur :
{
  "Id": "string",
  "Name": "string",
  "Address": {
    "Street": "string",
    "StreetComplementary": "string",
    "ZipCode": "string",
    "City": "string",
    "Region": "string",
    "Country": "string"
  },
  "Siren": "string",
  "Siret": "string",
  "Status": "Unknown"
}

Liste des statuts débiteurs : 
New : Nouveau débiteur
Pending : en attente
Accepted : accepté
Rejected : rejeté
code
Liste des débiteurs
GetDebtors

Permet d'obtenir l'ensemble des débiteurs du cédant.

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getdebtors
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getdebtors
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
code
Détails d'un débiteur
GetDebtor

Permet d'obtenir le détail d'un débiteur particulier.

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getdebtor
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getdebtor
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
code
Test d'éligibilité d'un débiteur
GetDebtorEligibility

Permet de tester l'éligibilité d'un débiteur.

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getdebtoreligibility
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getdebtoreligibility
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
code
Créer un débiteur
SendDebtor

Permet de créer un débiteur, et récupérer son identifiant.

Lien Swagger UI

Méthode HTTP Post
URL https://api.finexkap.com/api/external/senddebtor
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Content-Type application/json
Exemple d'appel :
  POST https://api.finexkap.com/api/external/senddebtor
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
  Content-Type: application/json

Gestion des factures

code
Les factures sont la base du financement proposé par Finexkap.

L'envoi d'une facture par les APIs à Finexkap démarre son analyse pour un packging en offre.
                    Id : string (Identifiant système de la facture)
                    ShortId : string (Identifiant court chez Finexkap)
                    CreatedAt : date (Date de création de la facture chez Finexkap)
                    UpdatedAt : date (Date de dernière mise à jour de la facture chez Finexkap)
                    InvoiceNumber : string (N° de la facture)
                    DebtorRegistrationNumber : string (SIRET du débiteur)
                    DebtorReference : string (référence du débiteur chez le cédant)
                    IssueDate : date (Date d'emmission de la facture par le cédant)
                    DueDate : date (Date d'échéance de la facture)
                    BillingContact : objet (Contact facturation chez le débiteur)
                    FirstName : string (Prénom du contact)
                    LastName : string (Nom de famille du contact)
                    Email : string (Email du contact)
                    Mobile : string (N° de téléphone mobile du contact) 
                    LandLine : string (N° de téléphone fixe du contact)
                    Address : objet (Adresse du contact)
                    Street : string (Rue)
                    StreetComplementary : string (Complément de rue)
                    ZipCode : string (Code postal)
                    City : string (Ville)
                    Region : string (Région / Etat / Province)
                    Country : string (Pays)
                    BillingAddress : objet (Adresse de facturation du débiteur)
                    Street : string (Rue)
                    StreetComplementary : string (Complément de rue)
                    ZipCode : string (Code postal)
                    City : string (Ville)
                    Region : string (Région / Etat / Province)
                    Country : string (Pays)
                    TotalBeforeTax : decimal (Montant de la facture hors taxes)
                    TaxAmount : decimal (Montant des taxes)
                    TotalInclTax : decimal (Montant toutes taxes comprises de la facture)
                    AmountLended : decimal (Montant financé par Finexkap)                 
                    Status : string
    
code
Liste des factures
GetInvoices

Permet d'obtenir l'ensemble des factures du cédant (avec pagination).

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getinvoices
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getinvoices
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
code
Obtenir le détail d'une facture
GetInvoice

Permet d'obtenir le détail d'une facture.

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getinvoice
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getinvoice
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
code
Soumettre une facture
SendInvoice

Permet de soumettre une facture pour demande de financement.

Lien Swagger UI

Méthode HTTP Post
URL https://api.finexkap.com/api/external/sendinvoice
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  POST https://api.finexkap.com/api/external/sendinvoice
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...

Gestion des offres

code
Les factures soumises par un cédant sont packagées en offres par Finexkap.
Une offre peut contenir une ou plusieurs factures.
Modèle d'objet offre :
{
  "Id": "string",
  "BuyingStatus": "string",
  "ProposedDate": "2018-02-13T15:47:22.395Z",
  "CanceledDate": "2018-02-13T15:47:22.395Z",
  "RefusedByFinexkapDate": "2018-02-13T15:47:22.395Z",
  "TreatedDate": "2018-02-13T15:47:22.395Z",
  "Invoices": [
    {
      "Id": "string",
      "ShortId": "string",
      "CreatedAt": "2018-02-13T15:47:22.395Z",
      "UpdatedAt": "2018-02-13T15:47:22.395Z",
      "InvoiceNumber": "string",
      "DebtorRegistrationNumber": "string",
      "DebtorReference": "string",
      "IssueDate": "2018-02-13T15:47:22.395Z",
      "DueDate": "2018-02-13T15:47:22.395Z",
      "BillingContact": {
        "FirstName": "string",
        "LastName": "string",
        "Email": "string",
        "Mobile": "string",
        "LandLine": "string",
        "Address": {
          "Street": "string",
          "StreetComplementary": "string",
          "ZipCode": "string",
          "City": "string",
          "Region": "string",
          "Country": "string"
        }
      },
      "BillingAddress": {
        "Street": "string",
        "StreetComplementary": "string",
        "ZipCode": "string",
        "City": "string",
        "Region": "string",
        "Country": "string"
      },
      "TotalBeforeTax": 0,
      "TaxAmount": 0,
      "TotalInclTax": 0,
      "AmountLended": 0,
      "Status": "string"
    }
  ]
}
code
Liste des offres
GetOffers

Permet d'obtenir l'ensemble des offres du cédant (avec pagination).

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getoffers
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getoffers
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
code
Obtenir le détail d'une offre
GetOffer

Permet d'obtenir le détail d'une offre.

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getoffer
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getoffer
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...

Gestion des données comptables

code
Vous pouvez nous transmettre les informations comptables des cédants sous forme de balances âgées.
Les balances âgées attendues sont mensuelles.

Description de l'objet Balance âgée :
{
  "Year": 0,
  "Month": 0,
  "TotalInvoicesNumber": 0,
  "TotalAssetsNumber": 0,
  "TotalInvoicesAmount": 0,
  "TotalAssetsAmount": 0,
  "NotYetDueInvoicesAmount": 0,
  "InvoicesIssuedFrom30DaysAgoAmount": 0,
  "InvoicesIssuedFrom60To31DaysAgoAmount": 0,
  "InvoicesIssuedFrom90To61DaysAgoAmount": 0,
  "InvoicesIssuedFrom120To91DaysAgoAmount": 0,
  "InvoicesIssuedFrom150To121DaysAgoAmount": 0,
  "InvoicesIssuedBefore150DaysAgoAmount": 0,
  "NotesReceivablesAmount": 0,
  "IsolatedAssetsAmount": 0,
  "YearEndProvisionAmount": 0,
  "DoubtfulOutstandingAmount": 0,
  "UnallocatedCashAmount": 0
}    
code
Envoi d'une balance âgée
SendAgedBalance

Cette API permet d'envoyer les balances âgées mensuelles d'un cédant.

Lien Swagger UI

Méthode HTTP Post
URL https://api.finexkap.com/api/external/agedbalances
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Content-Type application/json
Exemple d'appel :
  POST https://api.finexkap.com/api/external/agedbalances
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
  Content-Type: application/json

Gestion des données bancaires

code
Description de l'objet flux bancaire :
{
  "ExecutedAt": "2018-02-12T16:32:10.692Z",
  "Wording": "string",
  "Amount": 0,
  "IsCredit": true,
  "Currency": "string"
}
code
Envoi des flux bancaires
BankTransactions

Permet d'envoyer les flux bancaires du cédant (relevés de comptes bancaires).

Lien Swagger UI

Méthode HTTP Post
URL https://api.finexkap.com/api/external/bankTransactions
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Content-Type application/json
Exemple d'appel :
  POST https://api.finexkap.com/api/external/bankTransactions
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
  Content-Type: application/json

Métriques cédant

code
Cette API permet de récupérer des informations sur les cessions en cours d'un cédant :
- l'encours (montant des factures cédées en attente de recouvrement par Finexkap)
- l'encours à venir (encours + montant des factures sur offres proposées)
- l'encours en attente (encours à venir + montant des factures soumises - en cours d'analyse par Finexkap)

L'objet Analytics est défini de la façon suivante :
{
  "OutstandingAmount": decimal, (encours)
  "ComingOutstandingAmount": decimal, (encours à venir)
  "PendingOutstandingAmount": decimal (encours en attente)
}    
code
Métriques du cédant
GetAnalytics

Permet de récupérer les métriques du cédant (encours).

Lien Swagger UI

Méthode HTTP Get
URL https://api.finexkap.com/api/external/getanalytics
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Exemple d'appel :
  GET https://api.finexkap.com/api/external/getanalytics
  ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
  Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...