{"name":"RT Technologie Orders API","version":"2.20.0","description":"API de gestion des commandes SYMPHONI.A","endpoints":{"health":"/health","orders":{"list":"GET /api/v1/orders","create":"POST /api/v1/orders","get":"GET /api/v1/orders/:orderId","update":"PUT /api/v1/orders/:orderId","cancel":"PUT /api/v1/orders/:orderId/cancel","duplicate":"POST /api/v1/orders/:orderId/duplicate","events":"GET /api/v1/orders/:orderId/events","delete":"DELETE /api/v1/orders/:orderId","resendInvitation":"POST /api/v1/orders/:orderId/invitations/:invitationId/resend"},"invitations":{"accept":"POST /api/v1/invitations/accept","get":"GET /api/v1/invitations/:token"},"dispatch":{"detectLane":"POST /api/v1/dispatch/detect-lane/:orderId","generateChain":"POST /api/v1/dispatch/generate-chain/:orderId","start":"POST /api/v1/dispatch/start/:chainId","respond":"POST /api/v1/dispatch/respond/:chainId","timeout":"POST /api/v1/dispatch/timeout/:chainId/:attemptId","status":"GET /api/v1/dispatch/status/:orderId","events":"GET /api/v1/dispatch/events/:orderId","ingestEvent":"POST /api/v1/dispatch/events/ingest (internal)","auto":"POST /api/v1/dispatch/auto/:orderId","affretiaCallback":"POST /api/v1/dispatch/affretia-callback","affretiaStatus":"GET /api/v1/dispatch/affretia-status/:orderId","cancelAffretia":"POST /api/v1/dispatch/cancel-affretia/:orderId","stats":"GET /api/v1/dispatch/stats","dashboard":"GET /api/v1/dispatch/dashboard"},"lanes":{"list":"GET /api/v1/lanes","get":"GET /api/v1/lanes/:laneId","create":"POST /api/v1/lanes","update":"PUT /api/v1/lanes/:laneId","delete":"DELETE /api/v1/lanes/:laneId","addCarrier":"POST /api/v1/lanes/:laneId/carriers","updateCarrier":"PATCH /api/v1/lanes/:laneId/carriers/:carrierId","removeCarrier":"DELETE /api/v1/lanes/:laneId/carriers/:carrierId","reorderCarriers":"PUT /api/v1/lanes/:laneId/carriers/reorder"},"scoring":{"calculate":"POST /api/v1/scoring/calculate","carrierGlobal":"GET /api/v1/scoring/carrier/:carrierId","carrierHistory":"GET /api/v1/scoring/carrier/:carrierId/history","topCarriers":"GET /api/v1/scoring/top","stats":"GET /api/v1/scoring/stats","orderScore":"GET /api/v1/scoring/order/:orderId","recalculate":"POST /api/v1/scoring/recalculate/:carrierId"},"archive":{"create":"POST /api/v1/archive/:orderId","get":"GET /api/v1/archive/:archiveId","list":"GET /api/v1/archive","search":"GET /api/v1/archive/search","verify":"POST /api/v1/archive/:archiveId/verify","export":"GET /api/v1/archive/:archiveId/export","stats":"GET /api/v1/archive/stats","cleanup":"POST /api/v1/archive/cleanup"},"carrierPortal":{"getOrder":"GET /api/v1/carrier-portal/order/:chainId","accept":"POST /api/v1/carrier-portal/accept/:chainId","refuse":"POST /api/v1/carrier-portal/refuse/:chainId","myOrders":"GET /api/v1/carrier-portal/my-orders","pending":"GET /api/v1/carrier-portal/pending","quickRespond":"GET /api/v1/carrier-portal/quick-respond/:chainId"},"tracking":{"getStatus":"GET /api/v1/tracking/:orderId","getHistory":"GET /api/v1/tracking/:orderId/history","updatePosition":"POST /api/v1/tracking/:orderId/position","updateMilestone":"POST /api/v1/tracking/:orderId/milestone","updateETA":"POST /api/v1/tracking/:orderId/eta","ping":"POST /api/v1/tracking/:orderId/ping","batch":"POST /api/v1/tracking/:orderId/batch","carrierActive":"GET /api/v1/tracking/carrier/:carrierId/active"},"trackingConsolidated":{"pickups":"GET /api/v1/tracking-consolidated/pickups","deliveries":"GET /api/v1/tracking-consolidated/deliveries","stats":"GET /api/v1/tracking-consolidated/stats"},"vehicles":{"list":"GET /api/v1/vehicles","stats":"GET /api/v1/vehicles/stats","sync":"POST /api/v1/vehicles/sync","syncAll":"POST /api/v1/vehicles/sync-all","byRegistration":"GET /api/v1/vehicles/registration/:registration","assign":"POST /api/v1/vehicles/:vehicleId/assign","release":"POST /api/v1/vehicles/:vehicleId/release","updatePosition":"POST /api/v1/vehicles/:vehicleId/position","vehizenTest":"GET /api/v1/vehicles/vehizen/test"},"drivers":{"list":"GET /api/v1/drivers","internal":"GET /api/v1/drivers/internal","stats":"GET /api/v1/drivers/stats","sync":"POST /api/v1/drivers/sync","get":"GET /api/v1/drivers/:driverId","byPhone":"GET /api/v1/drivers/phone/:phone","search":"GET /api/v1/drivers/search/:name","update":"PUT /api/v1/drivers/:driverId","assignVehicle":"POST /api/v1/drivers/:driverId/assign-vehicle","releaseVehicle":"POST /api/v1/drivers/:driverId/release-vehicle"},"webhooks":{"vehizen":"POST /api/v1/webhooks/vehizen","vehizenTest":"GET /api/v1/webhooks/vehizen/test","vehizenSimulate":"POST /api/v1/webhooks/vehizen/simulate","stats":"GET /api/v1/webhooks/stats"},"documents":{"uploadUrl":"POST /api/v1/documents/:orderId/upload-url","downloadUrl":"GET /api/v1/documents/:documentId/download-url","upload":"POST /api/v1/documents/:orderId/upload","list":"GET /api/v1/documents/:orderId","detail":"GET /api/v1/documents/detail/:documentId","validate":"POST /api/v1/documents/:documentId/validate","reject":"POST /api/v1/documents/:documentId/reject","sign":"POST /api/v1/documents/:documentId/sign","check":"GET /api/v1/documents/:orderId/check","stats":"GET /api/v1/documents/stats"},"delivery":{"confirm":"POST /api/v1/delivery/:orderId/confirm","reportIssue":"POST /api/v1/delivery/:orderId/issue","stats":"GET /api/v1/delivery/stats"},"closure":{"check":"GET /api/v1/closure/:orderId/check","close":"POST /api/v1/closure/:orderId/close","autoClose":"POST /api/v1/closure/auto-close","autoArchive":"POST /api/v1/closure/auto-archive","stats":"GET /api/v1/closure/stats"},"preinvoices":{"list":"GET /api/v1/preinvoices","stats":"GET /api/v1/preinvoices/stats","export":"GET /api/v1/preinvoices/export","sendMonthly":"POST /api/v1/preinvoices/send-monthly","validate":"POST /api/v1/preinvoices/:id/validate","uploadInvoice":"POST /api/v1/preinvoices/:id/upload-invoice","markPaid":"POST /api/v1/preinvoices/:id/mark-paid","updateCountdowns":"POST /api/v1/preinvoices/update-countdowns"},"aiReports":{"industrialLatest":"GET /api/v1/ai-reports/industrial/:industrialId/latest","industrialHistory":"GET /api/v1/ai-reports/industrial/:industrialId/history","carrierLatest":"GET /api/v1/ai-reports/carrier/:carrierId/latest","carrierHistory":"GET /api/v1/ai-reports/carrier/:carrierId/history","logisticianLatest":"GET /api/v1/ai-reports/logistician/:userId/latest","logisticianHistory":"GET /api/v1/ai-reports/logistician/:userId/history","getReport":"GET /api/v1/ai-reports/:reportId","generateIndustrial":"POST /api/v1/ai-reports/generate/industrial","generateCarrier":"POST /api/v1/ai-reports/generate/carrier","generateLogistician":"POST /api/v1/ai-reports/generate/logistician","feedback":"POST /api/v1/ai-reports/:reportId/feedback","triggerMonthly":"POST /api/v1/ai-reports/trigger-monthly","stats":"GET /api/v1/ai-reports/stats"},"palettes":{"status":"GET /api/v1/palettes/:orderId/status","pickup":"POST /api/v1/palettes/:orderId/pickup","delivery":"POST /api/v1/palettes/:orderId/delivery","companyBalance":"GET /api/v1/palettes/company/:companyId/balance"},"emailActions":{"executeAction":"GET /actions/:token","submitAction":"POST /actions/:token","sesWebhook":"POST /actions/webhooks/ses-inbound","orderEmails":"GET /api/v1/emails/order/:orderId","emailStats":"GET /api/v1/emails/stats","pendingEmails":"GET /api/v1/emails/pending","actionStats":"GET /api/v1/emails/stats/:orderId?"},"vehizenSync":{"description":"Data Lake Vehizen - Seul point de connexion API Vehizen","start":"POST /api/v1/vehizen-sync/start","vehicles":"POST /api/v1/vehizen-sync/vehicles","drivers":"POST /api/v1/vehizen-sync/drivers","positions":"POST /api/v1/vehizen-sync/positions","quick":"POST /api/v1/vehizen-sync/quick","status":"GET /api/v1/vehizen-sync/status","stats":"GET /api/v1/vehizen-sync/stats","listVehicles":"GET /api/v1/vehizen-sync/vehicles","listDrivers":"GET /api/v1/vehizen-sync/drivers","recentPositions":"GET /api/v1/vehizen-sync/positions/recent","test":"GET /api/v1/vehizen-sync/test"}}}