Skip to content

Import

Endpoints pour l'import de déclarations depuis des fichiers CSV/Excel.

POST /imports/csv

Importe des déclarations depuis un fichier CSV.

Request

bash
POST /api/v1/imports/csv
Authorization: Bearer <token>
Content-Type: multipart/form-data

Body

ChampTypeDescription
fileFileFichier CSV à importer

Exemple avec curl

bash
curl -X POST https://api.gbfiscalai.srv1164291.hstgr.cloud/api/v1/imports/csv \
  -H "Authorization: Bearer <token>" \
  -F "file=@declarations.csv"

Response 200

json
{
  "total_rows": 100,
  "imported": 95,
  "errors": 5,
  "high_risk_count": 12,
  "alerts_created": 8,
  "error_details": [
    {
      "row": 15,
      "error": "Missing required field: hs_code"
    },
    {
      "row": 42,
      "error": "Invalid country code: XYZ"
    }
  ]
}

POST /imports/excel

Importe des déclarations depuis un fichier Excel.

Request

bash
POST /api/v1/imports/excel
Authorization: Bearer <token>
Content-Type: multipart/form-data

Body

ChampTypeDescription
fileFileFichier Excel (.xlsx, .xls)

Exemple

bash
curl -X POST https://api.gbfiscalai.srv1164291.hstgr.cloud/api/v1/imports/excel \
  -H "Authorization: Bearer <token>" \
  -F "file=@declarations.xlsx"

Response 200

Même format que l'import CSV.

Format du Fichier

Colonnes Requises

ColonneTypeExemple
referencestringDEC-2026-00100
hs_codestring8703.23
descriptionstringToyota Hilux
origin_countrystringJP
declared_valuenumber45000

Colonnes Optionnelles

ColonneTypeExemple
importer_tax_idstringGW-IMP-001
declared_weightnumber2100
quantitynumber1

Exemple CSV

csv
reference,importer_tax_id,hs_code,description,origin_country,declared_value,declared_weight,quantity
DEC-2026-00100,GW-IMP-001,8703.23,Toyota Hilux 2023,JP,45000,2100,1
DEC-2026-00101,GW-IMP-002,8517.12,iPhone 15 Pro Max,CN,150,0.2,500
DEC-2026-00102,GW-IMP-003,2204.21,Vin rouge Bordeaux AOC,FR,8500,750,500

Codes Pays ISO

Utilisez les codes ISO 3166-1 alpha-2:

CodePays
GWGuinée-Bissau
CNChine
JPJapon
FRFrance
PTPortugal
USÉtats-Unis
DEAllemagne
SNSénégal

Limites

LimiteValeur
Taille max fichier10 MB
Lignes max10 000
Imports simultanés1 par utilisateur

Gestion des Erreurs

Erreurs de Validation

json
{
  "error_details": [
    {
      "row": 5,
      "error": "Missing required field: reference"
    }
  ]
}

Codes d'Erreur Courants

ErreurCause
Missing required fieldChamp obligatoire absent
Invalid value typeType de donnée incorrect
Invalid country codeCode pays non reconnu
Duplicate referenceRéférence déjà existante
Value out of rangeValeur hors limites

Processus d'Import

1. Upload du fichier

2. Validation du format

3. Parsing des lignes

4. Validation des données

5. Calcul des scores de risque

6. Création des déclarations

7. Génération des alertes (si risque > 75%)

8. Mise à jour des scores importateurs

9. Retour du rapport d'import

Schéma ImportResult

typescript
interface ImportResult {
  total_rows: number;
  imported: number;
  errors: number;
  high_risk_count: number;
  alerts_created: number;
  error_details: Array<{
    row: number;
    error: string;
  }>;
}

Ministere des Finances - Guinee-Bissau