api-partenaires

Récupération et/ou création d’un compte (upsert)

Il est aussi possible de récupérer unitairement un compte (et s’il n’existe pas il sera créé).

C’est une route plutôt pratique si vous souhaitez faire un import dans le format JSON (car celui-ci ne gère pas la création automatique des comptes).

curl --location --request POST 'https://api.myunisoft.fr/api/v1/account' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "account_number": "411FOOBAR",
    "label": "FOOBAR account"
}'

La requête ci-dessus aura pour effet de récupérer (ou créer s’il n’existe pas encore) le compte 411FOOBAR. Le retour contiendra l’id du compte qui sera notamment nécessaire dans l’import format JSON.

{
  "account_id": 2228247,
  "account_number": "411FOOBAR",
  "label": "FOOBAR account",
  "counterpart_account": null
}

[!NOTE] Le compte de contrepartie lorsqu’il est défini à la même structure qu’un compte normal (donc avec la propriété account_id, account_number et label).

Liste des potentielles erreurs clientes

L’intégralité des codes erreurs est documentée ici

COMPTE6

Le premier caractère du numéro de compte account_number doit être compris entre 1 et 9. Les comptes commençant par des lettres ne sont pas autorisés, par exemple: AB411 sera rejeté.

COMPTE7

Le numéro de compte account_number saisi ne doit pas dépasser 20 caractères.

Création du compte avec des informations complémentaires

Il est possible de créer le compte avec des informations complémentaires. Voici une interface pouvant vous aider sur les clés possibles:

interface UpsertAccount {
  account_id: number;
  account_number: string;
  label: string;
  provider?: boolean;
  intraco_account?: boolean;
  btp_autoliquidation?: boolean;
  exoneration?: boolean;
  vat_param_id?: number;
  counterpart_account_id?: number;
  das_2?: boolean;
  complementary_info?: ComplementaryInfo;
}

interface ComplementaryInfo {
  profession?: string;
  siren?: string;
  id_ape?: number;
  person_in_charge?: string;
  name?: string;
  contact_lastname?: string;
  contact_firstname?: string;
  function?: string;
  tel?: string;
  email?: string;
  iban_list?: Iban[];
  id_payment_deadline?: number;
  payment_type_id?: number;
  address_number?: string;
  repetition_index?: string;
  way_type_id?: number;
  address?: string;
  address_complement?: string;
  postal_code?: string;
  city?: string;
  country?: string;
}

interface Iban {
  id_iban_compte_tiers: number;
  iban: string;
  bic: string;
  etablissement: string;
  rum_date_signature?: null;
}

(retour en haut de page)