Skip to content
Log in

Guide de migration v2025-01-01 → v2025-10-13

Tout ce dont vous avez besoin pour mettre à jour votre code.

Ce guide vous aide à passer de X-B2B-API-Version: 2025-01-01 à X-B2B-API-Version: 2025-10-13, en se concentrant sur ce que vous devez changer, pas seulement sur ce qui a changé.

  1. Mettre à jour l’URL de base : remplacez l’URL de base de votre API app.b2brouter.net ou app-staging.b2brouter.net par api.b2brouter.net ou api-staging.b2brouter.net respectivement.

  2. Ajouter l’en-tête de version : incluez l’en-tête X-B2B-API-Version: 2025-10-13 dans toutes les requêtes, ou configurez la version par défaut dans les paramètres de clé API de votre groupe.

  3. Supprimer les extensions de format : supprimez les extensions .json ou .xml de tous les chemins de point de terminaison. Toutes les réponses sont désormais en JSON par défaut.

  4. Mettre à jour les segments de chemin :

  • remplacez /projects/ par /accounts/ dans tous les chemins ;
  • remplacez /clients/ par /contacts/ dans tous les chemins ;
  • supprimez le préfixe /users/ des points de terminaison de listes de codes ;
  • supprimez le préfixe /api/v1/ des points de terminaison de répertoire et de déclarations fiscales.
  1. Mettre à jour la gestion de la pagination : mettez à jour votre code afin de lire les données de pagination depuis l’objet meta au lieu des propriétés au niveau racine :
const totalCount = response.total_count;
const offset = response.offset;
const limit = response.limit;
  1. Mettre à jour les noms de propriétés : remplacez toutes les références à client par contact dans votre code de traitement des requêtes et réponses :
// Corps de requête
{
"invoice": {
"client_id": 123,
"client": {
"name": "Client Name",
"taxcode": "9920:ESD29766391"
}
}
}
// Corps de réponse
{
"invoice": {
"id": 123,
"client": { ... }
}
}
  1. Consolider les listes de factures : remplacez les points de terminaison distincts de liste de factures par le point de terminaison consolidé /accounts/{account}/invoices en utilisant le paramètre type :
  • pour les factures reçues : GET /accounts/{account}/invoices?type=ReceivedInvoice
  • pour les auto-factures : GET /accounts/{account}/invoices?type=IssuedSelfInvoice
  • pour les factures simplifiées : GET /accounts/{account}/invoices?type=IssuedSimplifiedInvoice
  1. Mettre à jour les déclarations fiscales : remplacez les anciens points de terminaison obsolètes des déclarations fiscales par les nouveaux points de terminaison consolidés sous /accounts/{account}/tax_reports et /tax_reports/{id}. Consultez la New Tax Reports API pour plus de détails.

  2. Gérer les réponses complètes : mettez à jour votre code afin de traiter les représentations complètes des ressources renvoyées par les opérations PUT, DELETE et POST au lieu de réponses vides 204.

  3. Supprimer la prise en charge XML : si votre intégration reposait sur des réponses XML, convertissez votre code afin de ne gérer que des réponses JSON.

  4. Mettre à jour les attributs de facture obsolètes : remplacez les attributs de facture obsolètes par leurs alternatives normalisées :

{
"invoice": {
"contact_person": "John Doe",
"state": "accepted",
"customer_party_identification": "12345",
"accounting_cost": "DEPT-001",
"iban": "ES6000000000000000000000",
"bic": "ABCDESMMXXX",
"num_contracte": "CONTRACT-2024",
"organ_gestor": "ORG-001",
"oficina_comptable": "OFF-001"
}
}
  1. Mettre à jour les attributs de contact/client obsolètes : remplacez les attributs de contact obsolètes par leurs alternatives normalisées :
{
"contact": {
"old_channel": "peppol",
"taxcode": "9920:ESD29766391",
"contact": "John Doe",
"bank_account": "ES6000000000000000000000",
"company_identifier": "A12345678",
"transport_type": "peppol",
"document_type": "xml.ubl.invoice.bis3",
"posta_elettronica_certificata": "pec@example.it",
"codice_destinatario": "ABC1234"
}
}
  1. Mettre à jour les routing codes : les champs de routing code (cin1_value, cin1_scheme, …, cin5_value, cin5_scheme) ne sont plus acceptés comme attributs de contact de premier niveau. Ils doivent être envoyés dans un wrapper routing_codes :
{
"contact": {
"name": "Ajuntament de Girona",
"cin1_value": "L01170792",
"cin1_scheme": "8014",
"cin2_value": "L01170792",
"cin2_scheme": "8014",
"cin3_value": "L01170792",
"cin3_scheme": "8014"
}
}

Dans les réponses, les routing codes sont également renvoyés dans l’objet routing_codes.

  1. Mettre à jour les changements d’état de facture : remplacez les mises à jour directes de l’attribut state par le point de terminaison mark_as :
PUT /invoices/{id}.json
{
"invoice": {
"state": "accepted"
}
}

Nous recommandons de tester en profondeur votre intégration dans l’environnement de staging (api-staging.b2brouter.net) avant de la déployer en production. L’en-tête X-B2B-API-Version vous permet de tester la nouvelle version sans affecter votre intégration actuelle.