Accès et authentification

L'utilisation de l'API nécessite une authentification. Celle-ci se fait à deux niveaux :

  • Niveau API : elle donne à une application un accès global à l'API
  • Niveau accès : elle permet d'identifier le cédant (une entreprise cédant des factures)

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

L'authentification niveau API se fait en fournissant un token appelé APIToken. Ce token est obetenu en créant et en activant un compte développeur.

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.

Vous pouvez créer un compte développeur en vous inscrivant ici. Après une validation par email, vous pourrez accéder à vos ApiTokens.

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.

code
LoginGetRefreshToken

L'objet permettant de récupérer un RefreshToken est défini de la façon suivante :

    Username (string) : login du compte
    Password (string) : mot de passe du compte
    ApiTokenValue (string) : Valeur de l'ApiToken associé au compte développeur
    
code
URL https://api.finexkap.com/api/external/logingetrefreshtoken
Méthode HTTP POST
En-tête
Content-Type application/json

Paramètres :

Nom Obligatoire Type Description
Username Oui string Username du cédant
Password Oui string Mot de passe du compte cédant
ApiTokenValue Oui string Valeur de l'ApiToken de production associé au compte développeur
    Exemple d'appel :
        POST /api/external/logingetrefreshtoken HTTP/1.1
        Host: api.finexkap.com
        Content-Type: application/json
        Cache-Control: no-cache
        {
            "Username": "test@company.com",
            "Password": "Abcde1",
            "ApiTokenValue": "NlQySVJybnZlbWtrYlMvaDRYOEdIczNHV3NS..."
        }
    
code
En cas de succès, la réponse contient
    Un objet défini de la façon suivante :
    {
    "status": "success",
    "data": {
        "access_token": string (valeur de l'AccessToken généré à partir du compte fourni),
        "token_type": string (type de l'AccessToken généré),
        "expires_in": int (durée de vie de l'AccessToken),
        "refresh_token": string (valeur du RefreshToken),
        "userName": string (login de l'utilisateur associé au compte),
        "FinexkapUserId": string (identifiant système du compte),
        ".issued": string (date de génération de l'AccessToken),
        ".expires": string (date d'expiration de l'AccessToken)
    }
    }
 
                Exemple :
    {
    "status": "success",
    "data": {
        "access_token": "Ieaz7CgAl8eJk_gIw378srrfRkYyxSDMG...",
        "token_type": "bearer",
        "expires_in": 7199,
        "refresh_token": "127ee1b3-86d0-4b6c-...",
        "userName": "test@company.com",
        "FinexkapUserId": "3fad8c51-...",
        ".issued": "Tue, 28 Jun 2016 09:18:16 GMT",
        ".expires": "Tue, 28 Jun 2016 11:18:16 GMT"
    }
    }
    
code
Si l'ApiToken fourni n'est pas un token de production, la réponse contient :
    Un objet défini de la façon suivante :
    {
    "status": "success",
    "data": {
        "Message": "Use production api token value."
    }
    }
    
code
Si le login et/ou le mot de passe fournis ne permettent pas d'identifier un utilisateur, la réponse contient :
    Le code HTTP 400 (Les données transmises contiennent des erreurs)
    
code
GetAccessToken

Permet d'obtenir un AccessToken à partir d'un RefreshToken.

code
L'objet permettant de récupérer un AccesToken est défini de la façon suivante :
    {
        ApiTokenValue (string) : Valeur de l'ApiToken de production associé au compte développeur
        RefreshToken (string) : Valeur du RefreshToken
    }
    
code
URL https://api.finexkap.com/api/external/getaccesstoken
Méthode HTTP POST
En-tête
Content-Type application/json

Paramètres :

Nom Obligatoire Type Description
ApiTokenValue Oui string Valeur de l'ApiToken de production associé au compte développeur
RefreshToken Oui string Valeur du RefreshToken
    Exemple d'appel :
        POST /api/external/getaccesstoken HTTP/1.1
        Host: api.finexkap.com
        Content-Type: application/json
        Cache-Control: no-cache
        {
            "ApiTokenValue": "NlQySVJybnZlbWtrYlMvaDRYOEdIczNHV3NSYS95...",
            "RefreshToken": "127ee1b3-86d0-4b6c-..."
        }
    
code
En cas de succès, la réponse contient :
    Un objet défini de la façon suivante :
    {
    "status": "success",
    "data": {
        "access_token": string (valeur de l'AccessToken généré à partir du compte fourni),
        "token_type": string (type de l'AccessToken généré),
        "expires_in": int (durée de vie de l'AccessToken),
        "refresh_token": string (valeur du RefreshToken),
        "userName": string (login de l'utilisateur associé au compte),
        "FinexkapUserId": string (identifiant système du compte),
        ".issued": string (date de génération de l'AccessToken),
        ".expires": string (date d'expiration de l'AccessToken)
    }
    }
 
                Exemple :
    {
    "status": "success",
    "data": {
        "access_token": "Ieaz7CgAl8eJk_gIw378srrfRkYyxSDMG...",
        "token_type": "bearer",
        "expires_in": 7199,
        "refresh_token": "127ee1b3-86d0-4b6c-...",
        "userName": "test@company.com",
        "FinexkapUserId": "3fad8c51-...",
        ".issued": "Tue, 28 Jun 2016 09:18:16 GMT",
        ".expires": "Tue, 28 Jun 2016 11:18:16 GMT"
    }
    }
    
code
Si l'ApiToken fourni n'est pas un token de production, la réponse contient :
    Un objet défini de la façon suivante :
    {
    "status": "success",
    "data": {
        "Message": "Use production api token value."
    }
    }
    
code
Si le RefreshToken fourni ne permet pas d'identifier un utilisateur, la réponse contient :
    Le code HTTP 400 (Les données transmises contiennent des erreurs)
    

Compte utilisateur du cédant

code
GetAccountStatus

Permet de récupérer l'état du compte utilisateur du cédant. Les états possibles sont les suivants :

    New : Nouveau cédant
    Pending : en attente
    Accepted : accepté
    Rejected : rejeté
    
code
URL /api/external/getaccountstatus
Méthode HTTP GET
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Paramètres Aucun
    Exemple d'appel :
    GET /api/external/getaccountstatus HTTP/1.1
    Host: api.finexkap.com
    ApiToken: Z283NWpTbWNUUWEwUUR0c0Ev...
    Authorization: bearer -1tLj29-dS-t...
    Cache-Control: no-cache
    
code
En cas de succès, la réponse contient :
    Le code HTTP 200
    Un objet défini de la façon suivante:
    {
    "status": "success",
    "data": "Etat"
    }
    Exemple
    {
    "status": "success",
    "data": "Accepted"
    }
    
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    
code
GetAccountDetails

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

code
URL https://api.finexkap.com/api/external/getaccountdetails
Méthode HTTP GET
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Paramètres Aucun
    Exemple d'appel :
    GET /api/external/getaccountdetails HTTP/1.1
    Host: api.finexkap.com
    ApiToken: Z283NWpTbWNUUWEwUUR0c...
    Authorization: bearer _2-B8Obl4pKERAbk6L_...
    Cache-Control: no-cache
    
code
En cas de succès, la réponse contient :
    Le code HTTP 200
    Un objet défini de la façon suivante :
    {
    "status": "success",
    "data":
    {
        LastName: string (nom de famille de l'utilisateur),
        FirstName: string (prénom de l'utilisateur),
        EMail: (e-mail de l'utilisateur),
        IsLegalRepresentative: boolean (indique si l'utilisateur est le représentant légal du cédant),
        AcceptNewsLetter: boolean (indique si l'utilisateur a accepté de recevoir la newsletter),
        AcceptPartnerOffers: boolean (indique si l'utilisateur a accepté de recevoir des offres partenaires),
        Mobile : string (n° de téléphone mobile de l'utilisateur),
        LandLine: string (n° de téléphone fixe de l'utilisateur)
        Status : string (status du compte)
    }
    }
        Exemple :
    {
    "status": "success",
    "data": {
    "LastName": "Test",
    "FirstName": "Jean",
    "Email": "test@company.com",
    "IsLegalRepresentative": true,
    "AcceptNewsLetter": true,
    "AcceptPartnerOffers": true,
    "Mobile": "0601020304",
    "LandLine": "0101020304",
    "Status": "Accepted"
    }
    }
    
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    

Résultats renvoyés

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

200 Tout s'est bien déroulé
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.

Factures

code
L'objet facture est défini de la façon suivante :
    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)                 
    InvoicePdf : objet (Document "papier" correspondant à la facture)
        MimeType : string (Type MIME du document)
        Base64FileContent: string (Contenu du document encodé en base 64)
    SupportingPdf : objet (Justificatif "papier" pour la facture)
        MimeType : string (Type MIME du document)
        Base64FileContent: string (Contenu du document encodé en base 64)
    Status : string
    
code
Liste des factures
GetInvoices

Permet de récupérer l'ensemble des factures du cédant.

code
URL https://api.finexkap.com/api/external/getinvoices
Méthode HTTP GET
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token

Paramètres :

Nom Obligatoire Type Description
IssueDateFrom Non Date (format aaaa-mm-jj) la date d'emission de la facture doit être supérieure ou égale à la date spécifiée
IssueDateTo Non Date (format aaaa-mm-jj) la date d'emission de la facture doit être inférieure ou égale à la date spécifiée
DueDateFrom Non Date (format aaaa-mm-jj) la date d'échéance doit être supérieure ou égale à la date spécifiée
DueDateTo Non Date (format aaaa-mm-jj) la date d'échéance doit être inférieure ou égale à la date spécifiée
Status Non string Etat de la facture. Les valeurs possible sont Submitted (soumise), Accepted (acceptée) ou Rejected (rejetée)

    Exemple d'appel :
        GET /api/external/getinvoices HTTP/1.1
        Host: api.finexkap.com
        ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQ...
        Authorization: bearer GwYGVUS5rBM7T...
        Cache-Control: no-cache
    
code
En cas de succès, la réponse contient :
        le code HTTP 200
        un objet défini de la façon suivante :
        {
                    status : success,
                    data : 
        [{
                    Objets facture
        }]
        }
                    Exemple :
    {
        "status": "success",
        "data": [
            {
                "Id": "9b2f7209-3db5-4a8f-a50a-a62e00f76aef",
                "ShortId": "Abcd-6-2016",
                "CreatedAt": "2016-06-01T00:00:00",
                "UpdatedAt": "2016-06-05T00:00:00",
                "InvoiceNumber": "T0001",
                "DebtorRegistrationNumber": "12345678901234",
                "DebtorReference": "TEST 01",
                "IssueDate": "2016-05-15T00:00:00",
                "DueDate": "2016-11-15T00:00:00",
                "BillingContact": {
                    "FirstName": "Jean",
                    "LastName": "Test",
                    "Email": "jtest@test001.com",
                    "Mobile": "0604030201",
                    "LandLine": "0104030201",
                    "Address": {
                        "Street": "15 rue Test",
                        "StreetComplementary": null,
                        "ZipCode": "92001",
                        "City": "NANTERRE CEDEX",
                        "Region": null,
                        "Country": "FR"
                    }
                },
                "BillingAddress": {
                    "Street": "20 Avenue Test",
                    "StreetComplementary": null,
                    "ZipCode": "92001",
                    "City": "NANTERRE CEDEX",
                    "Region": null,
                    "Country": "FR"
                },
                "TotalBeforeTax": 2500,
                "TaxAmount": 490,
                "TotalInclTax": 2990,
                "AmountLended": null,
                "Status": "Accepted"
            },
            {
                "Id": "49d6fe7a - 291e-4a1a - a0d2 - a62e00f76ae5",
                "ShortId": "Abce-6-2016",
                "CreatedAt": "2016-06-01T00:00:00",
                "UpdatedAt": "2016-06-05T00:00:00",
                "InvoiceNumber": "T0001",
                "DebtorRegistrationNumber": "40483304800022",
                "DebtorReferences": "TEST 01",
                "IssueDate": "2016-05-20T00:00:00",
                "DueDate": "2016-11-20T00:00:00",
                "BillingContact": {
                    "FirstName": "Jean",
                    "LastName": "Test",
                    "Email": "jtest@test001.com",
                    "Mobile": "0604030201",
                    "LandLine": "0104030201",
                    "Address": {
                        "Street": "15 rue Test",
                        "StreetComplementary": null,
                        "ZipCode": "92001",
                        "City": "NANTERRE CEDEX",
                        "Region": null,
                        "Country": "FR"
                    }
                },
                "BillingAddress": {
                    "Street": "20 Avenue Test",
                    "StreetComplementary": null,
                    "ZipCode": "92001",
                    "City": "NANTERRE CEDEX",
                    "Region": null,
                    "Country": "FR"
                },
                "TotalBeforeTax": 2700,
                "TaxAmount": 529.2,
                "TotalInclTax": 3229.2,
                "AmountLended": null,
                "Status": "Submitted"
            }
        ]
    }
    
code
En cas de problème dans les données transmises, la réponse contient :
        un objet est défini de la façon suivante :
        {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": string (nom du paramètre en erreur),
            "ErrorMessage": string (message explicatif de l'erreur),
            "AttemptedValue" (valeur transmise),
            "ErrorCode": string (code de l'erreur)
            }
        ],
        "IsValid": false
        }
        }
                    Exemple :
    {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": "Status",
            "ErrorMessage": "Status is not valid",
            "AttemptedValue": null,
            "ErrorCode": "STATUS_NOT_VALID"
            }
        ],
        "IsValid": false
        }
    }
    
code
Les erreurs renvoyées en cas de problème dans les données transmises sont les suivantes :
PropertyName ErrorMessage Description
Status STATUS_NOT_VALID La valeur transmise ne fait pas partie des valeurs admises (Submitted, Accepted ou Rejected)
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    
code
Obtenir une facture
GetInvoice

Permet d'obtenir une seule facture.

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

Paramètres :
Nom Obligatoire Type Description
InvoiceId Oui string Identifiant de la facture (format "GUID" : 00000000-0000-0000-0000-000000000000)
    Exemple d'appel :
        GET /api/external/getinvoice?InvoiceId=bee18c15-be97-4487-9a7e-a626008e7718 HTTP/1.1
        Host: api.finexkap.com
        ApiToken: bGxnQjZaaTZvMWtNRzNy...
        Authorization: bearer LG256WJT...
        Cache-Control: no-cache
    
code
En cas de succès, la réponse contient :
        le code HTTP 200
        un objet défini de la façon suivante :
        {
        "status": "success",
        "data":
        {
                    Objets facture
        }
        }
                    Exemple :
    {
        "status": "success",
        "data": {
        "Id": "9b2f7209-3db5-4a8f-a50a-a62e00f76aef",
        "CreatedAt": "2016-06-01T00:00:00",
        "UpdatedAt": "2016-06-05T00:00:00",
        "InvoiceNumber": "T0001",
        "DebtorRegistrationNumber": "40483304800022",
        "DebtorReference": "TEST 01",
        "IssueDate": "2016-05-15T00:00:00",
        "DueDate": "2016-11-15T00:00:00",
        "BillingContact": {
            "FirstName": "Jean",
            "LastName": "Test",
            "Email": "jtest@test001.com",
            "Mobile": "0604030201",
            "LandLine": "0104030201",
            "Address": {
            "Street": "15 rue Test",
            "StreetComplementary": null,
            "ZipCode": "92001",
            "City": "NANTERRE CEDEX",
            "Region": null,
            "Country": "FR"
            }
        },
        "BillingAddress": {
            "Street": "20 Avenue Test",
            "StreetComplementary": null,
            "ZipCode": "92001",
            "City": "NANTERRE CEDEX",
            "Region": null,
            "Country": "FR"
        },
        "TotalBeforeTax": 2500,
        "TaxAmount": 490,
        "TotalInclTax": 2990,
        "AmountLended": null,
        "Status": "Accepted"
        }
    }
    
code
En cas de problème dans les données transmises, la réponse contient :
        un objet est défini de la façon suivante :
        {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": string (nom du paramètre en erreur),
            "ErrorMessage": string (message explicatif de l'erreur),
            "AttemptedValue" (valeur transmise),
            "ErrorCode": string (code de l'erreur)
            }
        ],
        "IsValid": false
        }
        }
        Exemple :
    {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": "InvoiceId",
            "ErrorMessage": "InvoiceId is empty",
            "AttemptedValue": null,
            "ErrorCode": "INVOICEID_EMPTY"
            }
        ],
        "IsValid": false
        }
    }
    
code
Les erreurs renvoyées en cas de problème dans les données transmises sont les suivantes :
PropertyName ErrorMessage Description
InvoiceId INVOICEID_EMPTY Identifiant de la facture non spécifié ou null
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    
code
Céder une facture
SendInvoice

Permet de céder une facture.

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

Paramètres :

Nom Obligatoire Type Description
Invoice Oui Objet Facture à céder
Invoice.InvoiceNumber Oui string Référence de la facture pour le cédant
Invoice.DebtorRegistrationNumber Oui string SIRET du débiteur
Invoice.DebtorReference Oui string Référence du débiteur pour le cédant
Invoice.IssueDate Oui Date Date d'émission de la facture
Invoice.DueDate Oui Date Date d'échéance de la facture
Invoice.BillingContact Oui Objet Contact facturation chez le débiteur
BillingContact.FirstName Oui string Prénom du contact
BillingContact.LastName Oui string Nom du contact
BillingContact.Email Non string Adresse email du contact
BillingContact.PhoneMobile Non string Numéro de téléphone portable du contact
BillingContact.PhoneFixe Non string Numéro de téléphone fixe du contact
BillingContact.Address Oui Objet Adresse du contact
Address.Street Oui string Rue
Address.StreetComplementary Non string Complément de rue
Address.ZipCode Oui string Code postal
Address.City Oui string Ville
Address.Region Non string Région / Etat / Province
Address.Country Oui string Pays ("FR" pour la France)
Invoice.BillingAddress Oui Objet Adresse de facturation du débiteur
BillingAddress.Street Oui string Rue
BillingAddress.StreetComplementary Non string Complément de rue
BillingAddress.ZipCode Oui string Code postal
BillingAddress.City Oui string Ville
BillingAddress.Region Non string Région / Etat / Province
BillingAddress.Country Oui string Pays ("FR" pour la France)
Invoice.TotalBeforeTax Oui decimal Montant total hors taxes de la facture
Invoice.TaxAmount Oui decimal Montant total des taxes de la facture
Invoice.TotalInclTax Oui decimal Montant toutes taxes comprises de la facture
Invoice.InvoicePdf Oui Objet Document "papier" correspondant à la facture
InvoicePdf.MimeType Oui string Type mime du document. Les valeurs admises sont les suivantes :
  • text/html
  • application/msword
  • application/pdf
  • text/plain
  • application/vnd.oasis.opendocument.text
  • image/png
  • image/jpeg
InvoicePdf.Base64FileContent Oui string Contenu du document sous forme binaire encodé en base 64
Invoice.SupportingPdf Oui Objet Document justificatif "papier"
SupportingPdf.MimeType Oui string Type mime du document. Les valeurs admises sont les suivantes :
  • text/html
  • application/msword
  • application/pdf
  • text/plain
  • application/vnd.oasis.opendocument.text
  • image/png
  • image/jpeg
SupportingPdf.Base64FileContent Oui string Contenu du document sous forme binaire encodé en base 64

    Exemple d'appel :
        POST /api/external/sendinvoice HTTP/1.1
        Host: api.finexkap.com
        ApiToken: RnJWWCszQVJPOTM5ME9RRmZIejNDd0lSdlN4TDc1NGdneXQ2...
        Authorization: bearer rwfn6jmSI9Cf7vX0NiS_kkS9uQraJV_YvVZt...
        Content-Type: application/json
        Cache-Control: no-cache
        {
        "InvoiceNumber": "FT001",
        "DebtorRegistrationNumber": "12345678954321",
        "DebtorReference": "TEST",
        "IssueDate": "2016-06-27T00:00:00",
        "DueDate": "2016-12-27T00:00:00",
        "BillingContact":
        {
            "FirstName": "Jean",
            "LastName": "TEST",
            "Email": "jtest@company.com",
            "Mobile": null,
            "LandLine": "0104030201",
            "Address":
            {
                "Street": "15 avenue TEST",
                "StreetComplementary": null,
                "ZipCode": "92001",
                "City": "NANTERRE CEDEX",
                "Region": null,
                "Country": "FR"
            }
        },
        "BillingAddress":
        {
            "Street": "15 avenue TEST",
            "StreetComplementary": null,
            "ZipCode": "92001",
            "City": "NANTERRE CEDEX",
            "Region": null,
            "Country": "FR"        
        },
        "TotalBeforeTax": 2500,
        "TaxAmount": 490,
        "TotalInclTax": 2990,
        "InvoicePdf":
        {
            "MimeType": "application/pdf",
            "Base64FileContent": "JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUG..."
        },
        "SupportingPdf":
        {
            "MimeType": "application/pdf",
            "Base64FileContent": "JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGF..."
        }
        }
    
code
En cas de succès, la réponse contient :
    le code HTTP 200
    un objet défini de la façon suivante :
    {
    "status": "success",
    "data": Identifiant de la facture créée (au format "GUID" : 00000000-0000-0000-0000-000000000000)
    } 
                Exemple :
    {
    "status": "success",
    "data": "0713a275-113c-4807-85a5-a5c5008ba91d"
    }
    
code
En cas de problème dans les données transmises, la réponse contient :
    un objet défini de la façon suivante :
    {
    "status": "fail",
    "data": {
    "Errors": [
        {
        "PropertyName": string (nom du paramètre en erreur),
        "ErrorMessage": string (message explicatif de l'erreur),
        "AttemptedValue" (valeur transmise),
        "ErrorCode": string (code de l'erreur)
        }
    ],
    "IsValid": false
    }
    }
                Exemple :
    {
    "status": "fail",
    "data": {
        "Errors": [
        {
            "PropertyName": "Base64FileModel.Base64FileContent",
            "ErrorMessage": "base64_file_content must be encoded in Base64",
            "AttemptedValue": null,
            "ErrorCode": "BASE64FILECONTENT_NOT_VALID"
        }
        ],
        "IsValid": false
    }
    }
    
code
Les erreurs renvoyées en cas de problème dans les données transmises sont les suivantes :
PropertyName ErrorMessage Description
InvoiceNumber INVOICENUMBER_IS_NULL La référence de la facture chez le cédant est vide
DebtorReference DEBTORREFERENCE_IS_NULL La référence du débiteur chez le cédant est vide
IssueDate ISSUEDATE_NOT_VALID La date d'emmission est strictement supérieure à la date du jour
DueDate DUEDATE_NOT_VALID La date d'échéance est strictement inférieure à la date du jour
IssueDate et DueDate DUEDATE_ISSUEDATE_NOT_VALID La date d'échéance est inférieure ou égale à la date d'emmission
TotalBeforeTax TOTALBEFORETAXES_NOT_VALID Le montant hors taxes est négatif ou nul
TaxAmount TAXAMOUNT_NOT_VALID Le montant des taxes est négatif ou nul
TotalInclTaxes TOTALINCLTAX_NOT_VALID Le montant toutes taxes comprises est négatif ou nul
InvoicePdf INVOICEPDF_IS_NULL Aucun document papier associé à la facture
MimeType MIMETYPE_NOT_VALID Le type MIME n'est pas spécifié ou ne correspond à aucune des valeurs admises
Base64FileContent BASE64FILECONTENT_NOT_VALID Le contenu du fichier n'est pas encodé en base 64
BillingContact.FirstName BILLINGCONTACT_FIRSTNAME_IS_NULL Prénom du contact facturation vide
BillingContact.LastName BILLINGCONTACT_LASTNAME_IS_NULL Nom du contact facturation vide
BillingContact.Address.Street BILLINGCONTACT_STREET_IS_NULL Rue dans l'adresse du contact facturation vide
BillingContact.Address.ZipCode BILLINGCONTACT_ZIPCODE_IS_NULL Code postal dans l'adresse du contact facturation vide
BillingContact.Address.City BILLINGCONTACT_CITY_IS_NULL Ville dans l'adresse du contact facturation vide
BillingContact.Address.Country BILLINGCONTACT_COUNTRY_IS_NULL Pays dans l'adresse du contact facturation vide
BillingContact.Email, BillingContact.Mobile et BillingContact.LandLine BILLINGCONTACT_IS_NULL Le contact facturation doit avoir au moins un de ces 3 champs renseignés : email, téléphone mobile ou téléphone fixe
BillingContact.Email BILLINGCONTACT_EMAIL_INVALID_FORMAT Le format de l'email du contact facturation est incorrect
BillingContact.Mobile BILLINGCONTACT_MOBILE_PHONE_INVALID_FORMAT Le format du téléphone portable du contact facturation est incorrect
BillingContact.LandLine BILLINGCONTACT_FIXE_PHONE_INVALID_FORMAT Le format du téléphone fixe du contact facturation est incorrect
DebtorRegistrationNumber DEBTOR_REGISTRATION_NUMBER_NOT_VALID Format du Siret du débiteur incorrect
SupportingPdf.MimeType SUPPORTING_MIMETYPE_NOT_VALID Le type MIME n'est pas spécifié ou ne correspond à aucune des valeurs admises
SupportingPdf.Base64FileContent SUPPORTING_BASE64FILECONTENT_NOT_VALID Le contenu du fichier n'est pas encodé en base 64
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    

Offres

code
L'objet offre est défini de la façon suivante :
    Id : Identifiant de l'offre
    BuyingStatus : Etat de l'offre
    ProposedDate : Date de proposition par Finexkap
    CanceledDate : Date d'annulation
    RefusedByFinexkapDate : Date de refus par Finexkap
    TreatedDate : Date de traitement
    Invoices : Factures de l'offre
code
Liste des offres
GetOffers

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

URL https://api.finexkap.com/api/external/getoffers
Méthode HTTP GET
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Paramètres :
Nom Obligatoire Type Description
Status Non string Etat de l'offre. Les valeurs possibles sont :
  • CreditCommittee (en attente de vote par le comité de crédit)
  • InvestmentCommittee (en attente de vote par le comité d'investissement)
  • Proposed (proposée)
  • Signed (signée)
  • Treated (traitée)
  • Canceled (annulée)
  • DemandRefused (refuée par Finexkap)
  • Refused (refusée par le cédant)
ProposedDateFrom Non Date (format aaaa-mm-jj) l'offre a été proposée à une date supérieure ou égale à celle spécifiée
ProposedDateTo Non Date (format aaaa-mm-jj) l'offre a été proposée à une date inférieure ou égale à celle spécifiée
CanceledDateFrom Non Date (format aaaa-mm-jj) l'offre a été annulée à une date supérieure ou égale à celle spécifiée
CanceledDateTo Non Date (format aaaa-mm-jj) l'offre a été annulée à une date inférieure ou égale à celle spécifiée
RefusedByFinexkapDateFrom Non Date (format aaaa-mm-jj) l'offre a été refusée par Finexkap à une date supérieure ou égale à celle spécifiée
RefusedByFinexkapDateTo Non Date (format aaaa-mm-jj) l'offre a été refusée par Finexkap à une date inférieure ou égale à celle spécifiée
TreatedDateFrom Non Date (format aaaa-mm-jj) l'offre a été traitée à une date supérieure ou égale à celle spécifiée
TreatedDateTo Non Date (format aaaa-mm-jj) l'offre a été traitée à une date inférieure ou égale à celle spécifiée

    Exemple d'appel :
        GET /api/external/getoffers?ProposedDateFrom=2016-06-01&ProposedDateTo=2016-06-30 HTTP/1.1
        Host: api.finexkap.com
        ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUV...
        Authorization: bearer n369fHAUS6kblj-Xyg8UpWB...
        Cache-Control: no-cache
        Renvoie toutes les offres proposées au cédant entre le 01/06/2016 et le 30/06/2016
    
code
En cas de succès, la réponse contient :
            le code HTTP 200
            un objet défini de la façon suivante :
            {
            "status":"success",
            "data" :
            [{
                        Objets offres
            }]
            }
    Exemple :
    {
        "status": "success",
        "data": [
            {
                "Id": "11b504f9-26e8-43b5-bc0c-a5ee00f88c35",
                "BuyingStatus": "OfferProposed",
                "ProposedDate": "2016-06-01T00:00:00",
                "CanceledDate": null,
                "RefusedByFinexkapDate": null,
                "TreatedDate": null,
                "Invoices": [
                    {
                        "Id": "9b2f7209-3db5-4a8f-a50a-a62e00f76aef",
                        "CreatedAt": "2016-06-01T00:00:00",
                        "UpdatedAt": "2016-06-05T00:00:00",
                        "InvoiceNumber": "T0001",
                        "DebtorRegistrationNumber": "40483304800022",
                        "DebtorReferences": "TEST 01",
                        "IssueDate": "2016-05-15T00:00:00",
                        "DueDate": "2016-11-15T00:00:00",
                        "BillingContact": {
                            "FirstName": "Jean",
                            "LastName": "Test",
                            "Email": "jtest@test001.com",
                            "Mobile": "0604030201",
                            "LandLine": "0104030201",
                            "Address": {
                                "Street": "15 rue Test",
                                "StreetComplementary": null,
                                "ZipCode": "92001",
                                "City": "NANTERRE CEDEX",
                                "Region": null,
                                "Country": "FR"
                            }
                        },
                        "BillingAddress": {
                            "Street": "20 Avenue Test",
                            "StreetComplementary": null,
                            "ZipCode": "92001",
                            "City": "NANTERRE CEDEX",
                            "Region": null,
                            "Country": "FR"
                        },
                        "TotalBeforeTax": 2500,
                        "TaxAmount": 490,
                        "TotalInclTax": 2990,
                        "AmountLended": null,
                        "Status": "Accepted"
                    }
                ]
            }
        ]
    }
    
code
En cas de problème dans les données transmises, la réponse contient :
        un objet défini de la façon suivante :
        {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": string (nom du paramètre en erreur),
            "ErrorMessage": string (message explicatif de l'erreur),
            "AttemptedValue" (valeur transmise),
            "ErrorCode": string (code de l'erreur)
            }
        ],
        "IsValid": false
        }
        }
    Exemple :
    {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": "Status",
            "ErrorMessage": "Status is not valid",
            "AttemptedValue": null,
            "ErrorCode": "STATUS_NOT_VALID"
            }
        ],
        "IsValid": false
        }
    }
    
code
Les erreurs renvoyées en cas de problème dans les données transmises sont les suivantes :
PropertyName ErrorMessage Description
Status STATUS_NOT_VALID La valeur transmise ne fait pas partie des valeurs admises (Signed, Treated, Canceled, DemandRefused ou Refused )
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    
code
Obtenir une offre
GetOffer

Permet d'obtenir une offre.

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

Paramètres :
Nom Obligatoire Type Description
OfferId Oui string Id de l'offre (format "GUID" : 00000000-0000-0000-0000-000000000000)
    Exemple d'appel :
        GET /api/external/getoffer?OfferId=ca2671cc-1f61-4136-a6a3-a6240097ac87 HTTP/1.1
        Host: api.finexkap.com
        ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1R...
        Authorization: bearer STWyyfXN5XAtHtUlY...
        Cache-Control: no-cache
    
code
En cas de succès, la réponse contient :
        le code HTTP 200
        un objet défini de la façon suivante :
        {
        "status": "success",
        "data":
        {
                    Objet offre
        }
        }
        Exemple :
    {
        "status": "success",
        "data": {
            "Id": "11b504f9-26e8-43b5-bc0c-a5ee00f88c35",
            "BuyingStatus": "OfferProposed",
            "ProposedDate": "2016-06-01T00:00:00",
            "CanceledDate": null,
            "RefusedByFinexkapDate": null,
            "TreatedDate": null,
            "Invoices": [
                {
                    "Id": "9b2f7209-3db5-4a8f-a50a-a62e00f76aef",
                    "CreatedAt": "2016-06-01T00:00:00",
                    "UpdatedAt": "2016-06-05T00:00:00",
                    "InvoiceNumber": "T0001",
                    "DebtorRegistrationNumber": "40483304800022",
                    "DebtorReferences": "TEST 01",
                    "IssueDate": "2016-05-15T00:00:00",
                    "DueDate": "2016-11-15T00:00:00",
                    "BillingContact": {
                        "FirstName": "Jean",
                        "LastName": "Test",
                        "Email": "jtest@test001.com",
                        "Mobile": "0604030201",
                        "LandLine": "0104030201",
                        "Address": {
                            "Street": "15 rue Test",
                            "StreetComplementary": null,
                            "ZipCode": "92001",
                            "City": "NANTERRE CEDEX",
                            "Region": null,
                            "Country": "FR"
                        }
                    },
                    "BillingAddress": {
                        "Street": "20 Avenue Test",
                        "StreetComplementary": null,
                        "ZipCode": "92001",
                        "City": "NANTERRE CEDEX",
                        "Region": null,
                        "Country": "FR"
                    },
                    "TotalBeforeTax": 2500,
                    "TaxAmount": 490,
                    "TotalInclTax": 2990,
                    "AmountLended": null,
                    "Status": "Accepted"
                }
            ]
        }
    }
    
code
En cas de problème dans les données transmises, la réponse contient :
        un objet est défini de la façon suivante :
        {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": string (nom du paramètre en erreur),
            "ErrorMessage": string (message explicatif de l'erreur),
            "AttemptedValue" (valeur transmise),
            "ErrorCode": string (code de l'erreur)
            }
        ],
        "IsValid": false
        }
        }
 
                    Exemple :
    {
        "status": "fail",
        "data": {
            "Errors": [
                {
                    "PropertyName": "OfferId",
                    "ErrorMessage": "OfferId is empty",
                    "AttemptedValue": null,
                    "ErrorCode": "OFFERID_EMPTY"
                }
            ],
            "IsValid": false
        }
    }
    
code
Les erreurs renvoyées en cas de problème dans les données transmises sont les suivantes :
PropertyName ErrorMessage Description
OfferId OFFERID_EMPTY Identifiant de l'offre vide
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    

Débiteurs

code

L'objet débiteur est défini de la façon suivante :

    Id : string (Identifiant système du débiteur)
    Name : string (Nom du débiteur)
    Address : Objet (Adresse 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)
    Siren : string (Siren du débiteur)
    Siret : string (Siret du débiteur)
    Status : string (Status du débiteur pour Finexkap)
    
code
Les valeurs possibles du statut du débiteur sont :
  • New (nouveau)
  • Pending (en attente)
  • Accepted (accepté)
  • Rejected (rejeté)
code
Liste des débiteurs
GetDebtors

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

URL https://api.finexkap.com/api/external/getdebtors
Méthode HTTP GET
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Paramètres Aucun
    Exemple d'appel :
        GET /api/external/getdebtors HTTP/1.1
        Host: api.finexkap.com
        ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1...
        Authorization: bearer NBb97nw3fNAqQfcU...
        Cache-Control: no-cache
    
code
En cas de succès, la réponse contient :
    le code HTTP 200
    un objet défini de la façon suivante :
    {
    "status": "success",
    "data" : 
    [{
                Objets débiteur
    }]
    }
                Exemple :
    {
    "status": "success",
    "data": [
        {
            "Id": "040aad2f-0486-414a-975f-a5ec00a5c498",
            "Name": "TEST01",
            "Address": {
                "Street": "15 rue TEST",
                "StreetComplementary": null,
                "ZipCode": "92001",
                "City": "NANTERRE CEDEX",
                "Region": null,
                "Country": "FR"
            },
            "Siren": "987654321",
            "Siret": "98765432100004",
            "Status": "Accepted"
        },
        {
            "Id": "836050fc-9d32-41e0-89b7-a63000cc670b",
            "Name": "TEST02",
            "Address": {
                "Street": "30 avenue TEST",
                "StreetComplementary": null,
                "ZipCode": "95018",
                "City": "ARGENTEUIL",
                "Region": null,
                "Country": "FR"
            },
            "Siren": "123456789",
            "Siret": "12345678900005",
            "Status": "Pending"
        }
    ]
    }
    
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    
code
Obtenir un débiteur
GetDebtor

Permet d'obtenir un débiteur.

URL https://api.finexkap.com/api/external/getdebtor
Méthode HTTP GET
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Paramètres :
Nom Obligatoire Type Description
DebtorId Oui string Id du débiteur
    Exemple d'appel :
    GET /api/external/getdebtor?DebtorId=2bee5a89-2eb4-4d0b-9859-a626008e76db HTTP/1.1
    Host: api.finexkap.com
    ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RV...
    Authorization: bearer cP8QxD0pkelvtQthIc...
    Cache-Control: no-cache
    
code

En cas de succès, la réponse contient :

    le code HTTP 200
    un objet défini de la façon suivante :
    {
    "status": "success",
    "data":
    {
        Objet débiteur
    }
    }
 
        Exemple :
    {
    "status": "success",
    "data": {
        "Id": "040aad2f-0486-414a-975f-a5ec00a5c498",
        "Name": "TEST01",
        "Address": {
        "Street": "15 rue TEST",
        "StreetComplementary": null,
        "ZipCode": "92001",
        "City": "NANTERRE CEDEX",
        "Region": null,
        "Country": "FR"
        },
        "Siren": "987654321",
        "Status": "Accepted"
    }
    }
    
code

En cas de problème dans les données transmises, la réponse contient :

    un objet est défini de la façon suivante :
    {
    "status": "fail",
    "data": {
    "Errors": [
        {
        "PropertyName": string (nom du paramètre en erreur),
        "ErrorMessage": string (message explicatif de l'erreur),
        "AttemptedValue" (valeur transmise),
        "ErrorCode": string (code de l'erreur)
        }
    ],
    "IsValid": false
    }
    }
 
    Exemple :
    {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": "DebtorId",
            "ErrorMessage": "DebtorId is empty",
            "AttemptedValue": null,
            "ErrorCode": "DEBTORID_EMPTY"
            }
        ],
        "IsValid": false
        }
    }
    
code

Les erreurs renvoyées en cas de problème dans les données transmises sont les suivantes :

PropertyName ErrorMessage Description
DebtorId DEBTORID_EMPTY Identifiant du débiteur vide

code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    
code
Test d'éligibilité d'un débiteur
GetDebtorEligibility

Permet d'obtenir l'éligibilité d'un débiteur.

URL https://api.finexkap.com/api/external/getdebtoreligibility
Méthode HTTP GET
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Paramètres :
Nom Obligatoire Type Description
DebtorSiret Oui string Siret du débiteur
    Exemple d'appel :
    GET /api/external/getdebtoreligibility?DebtorSiret=78859288900034 HTTP/1.1
    Host: api.finexkap.com
    ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RV...
    Authorization: bearer cP8QxD0pkelvtQthIc...
    Cache-Control: no-cache
    
code

En cas de succès, la réponse contient :

    le code HTTP 200
    un objet défini de la façon suivante :
    {
    "status": "success",
    "data":
    {
                boolean (indique si le débiteur est éligible)
    }
    }
 
                Exemple :
    {
    "status": "success",
    "data": true
    }
    
code

En cas de problème dans les données transmises, la réponse contient :

        un objet est défini de la façon suivante :
        {
        "status": "fail",
        "data": {
        "Errors": [
            {
            "PropertyName": string (nom du paramètre en erreur),
            "ErrorMessage": string (message explicatif de l'erreur),
            "AttemptedValue" (valeur transmise),
            "ErrorCode": string (code de l'erreur)
            }
        ],
        "IsValid": false
        }
        }
 
        Exemple :
        {
            "status": "fail",
            "data": {
            "Errors": [
                {
                "PropertyName": "DebtorSiret",
                "ErrorMessage": "DebtorSiret is empty",
                "AttemptedValue": null,
                "ErrorCode": "DEBTORSIRET_EMPTY"
                }
            ],
            "IsValid": false
            }
        }
    
code

Les erreurs renvoyées en cas de problème dans les données transmises sont les suivantes :

PropertyName ErrorMessage Description
DebtorSiret DEBTORSIRET_EMPTY Siret du débiteur vide
DebtorSiret DEBTORSIRET_BADLY_FORMATTED Siret du débiteur mal formaté

code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    
code
Créer un débiteur
SendDebtor

Permet de créer un débiteur, et renvoie l'identifiant système du débiteur.

code
L'objet permettant de créer un débiteur est défini de la façon suivante :
    {
        "Siret": string (SIRET du débiteur),
        "FirstName" : string (Prénom du contact chez le débiteur),
        "LastName": string (Nom de famille du contact chez le débiteur),
        "Email": string (Email du contact chez le débiteur),
        "LandLine": string (N° de téléphone fixe du contact chez le débiteur),
        "Mobile": string (N° de téléphone portable du contact chez le débiteur)
    }
    
code
URL https://api.finexkap.com/api/external/senddebtor
Méthode HTTP POST
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Content-Type application/json
Paramètres
Nom Obligatoire Type Description
Siret Oui string SIRET du débiteur
FirstName Oui string Prénom du contact chez le débiteur
LastName Oui string Nom de famille du contact chez le débiteur
Email Non string Email du contact chez le débiteur
LandLine Non string N° de téléphone fixe du contact chez le débiteur
Mobile Non string N° de téléphone portable du contact chez le débiteur
    Exemple d'appel :
        POST /api/external/senddebtor HTTP/1.1
        Host: api.finexkap.com
        ApiToken: RnJWWCszQVJPOTM5ME9RRmZIejNDd0lSdlN4TDc1N...
        Authorization: bearer POmm5t-DgMNybYnbBVSTRa39-ELU1...
        Content-Type: application/json
        Cache-Control: no-cache
        {
            "Siret": "45048287200022",
            "FirstName" : "Pierre",
            "LastName": "Test",
            "Email": "ptest@company.com",
            "LandLine": "0101020304",
            "Mobile": "0604030201"
        }
    
code
En cas de succès, la réponse contient :
    le code HTTP 200
    {
    "status": "success",
    "data": Identifiant système du cédant (au format "GUID" : 00000000-0000-0000-0000-000000000000)
    }
                Exemple :
    {
    "status": "success",
    "data": "2d17ab63-9692-42b6-9cc8-a63000cc6704"
    }
    
code

En cas de problème dans les données transmises, la réponse contient :

 
    un objet défini de la façon suivante :   
    {
    "status": "fail",
    "data": {
    "Errors": [
        {
        "PropertyName": string (nom du paramètre en erreur),
        "ErrorMessage": string (message explicatif de l'erreur),
        "AttemptedValue" (valeur transmise),
        "ErrorCode": string (code de l'erreur)
        }
    ],
    "IsValid": false
    }
    }
 
                Exemple :
    {
    "status": "fail",
    "data": {
        "Errors": [
        {
            "PropertyName": "siren",
            "ErrorMessage": "siren is empty",
            "AttemptedValue": null,
            "ErrorCode": "SIREN_EMPTY"
        }
        ],
        "IsValid": false
    }
    }
    
code

Les erreurs renvoyées en cas de problème dans les données transmises sont les suivantes :

PropertyName ErrorMessage Description
Siret SIRET_EMPTY SIRET vide ou non spéicifié
Siret SIRET_INVALID Format du SIRET incorrect
FirstName FIRSTNAME_EMPTY Prénom du contact vide ou non spécifié
LastName LASTNAME_EMPTY Nom de famille du contact vide ou non spécifié
Email, LandLine et Mobile CONTACT_EMPTY Aucune des valeurs suivantes n'est renseignée : email, n° de téléphone fixe ou n° de téléphone portable

code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401
    

Métriques

code
L'objet Analytics est défini de la façon suivante :
    OutstandingAmount : decimal (encours)
    ComingOutstandingAmount : decimal (encours à venir)
    PendingOutstandingAmount : decimal (encours sur les offres en attente de décision et sur les factures acceptées mais non ratachées à une offre)
    
code
GetAnalytics

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

URL https://api.finexkap.com/api/external/getanalytics
Méthode HTTP GET
En-tête
ApiToken Valeur de l'ApiToken lié au compte développeur
Authorization bearer Access_Token
Paramètres Aucun
    Exemple d'appel :
    GET /api/external/getanalytics HTTP/1.1
    Host: api.finexkap.com
    ApiToken: Z283NWpTbWNUUWEwUUR0c0EvQlN1RVUwZUVVUHVET...
    Authorization: bearer QtbzR_sLtx547N_Dir8-O_PK6tsS_...
    Cache-Control: no-cache
    
code
En cas de succès, la réponse contient :
    le code HTTP 200
    un objet défini de la façon suivante :
    {
    "status": "success",
    "data":
    {
        Objet Analytics
    }
    }

        Exemple :
    {
        "status": "success",
        "data": {
            "OutstandingAmount": 2500,
            "ComingOutstandingAmount": 2500,
            "PendingOutstandingAmount": 0
        }
    }
    
code
En cas d'échec de l'authentification, la réponse contient :
    Le code HTTP 401