Caută pagini, comenzi sau acțiuni...
Documentație interactivă — v2.0
API-ul Click Post folosește tRPC pentru endpoint-urile interne (type-safe, auto-generated) și REST pentru webhook-uri externe. Autentificarea se face prin OAuth Manus cu cookie de sesiune.
Autentificare
Endpoint-urile protected și admin necesită un cookie de sesiune valid (obținut prin OAuth Manus). Endpoint-urile public sunt accesibile fără autentificare. Webhook-urile folosesc verificare HMAC signature.
OAuth Manus, sesiuni utilizator, logout
auth.me PublicReturnează utilizatorul curent autentificat sau null.
/api/trpc/auth.meRĂSPUNS
{ id, openId, name, email, avatar, role } | nullauth.logout PublicDeconectează utilizatorul curent și șterge cookie-ul de sesiune.
/api/trpc/auth.logoutRĂSPUNS
{ success: true }CRUD comenzi, status, atribuire șofer, multi-stop, compliance
orders.list AutentificatListează comenzile cu filtrare și paginare.
/api/trpc/orders.listPARAMETRI
statusstring— Filtrare după status (pending, assigned, in_transit, delivered, cancelled)searchstring— Căutare după AWB, nume, telefonpagenumber— Pagina curentă (default: 1)limitnumber— Rezultate per pagină (default: 50)RĂSPUNS
{ orders: Order[], total: number, page: number }orders.getById AutentificatReturnează o comandă după ID numeric.
/api/trpc/orders.getByIdPARAMETRI
idnumberrequired— ID-ul numeric al comenziiRĂSPUNS
Order | nullorders.getByInternalId AutentificatReturnează o comandă după ID-ul intern (ex: CP-20260210-00001).
/api/trpc/orders.getByInternalIdPARAMETRI
internalOrderIdstringrequired— ID intern al comenziiRĂSPUNS
Order | nullorders.updateStatus AdminActualizează statusul unei comenzi. Declanșează notificări automate.
/api/trpc/orders.updateStatusPARAMETRI
orderIdnumberrequired— ID-ul comenziistatusstringrequired— Noul statusnotesstring— Notițe opționaleRĂSPUNS
{ success: true }orders.assignDriver AdminAtribuie un șofer la o comandă.
/api/trpc/orders.assignDriverPARAMETRI
orderIdnumberrequired— ID-ul comenziidriverIdnumberrequired— ID-ul șoferuluiRĂSPUNS
{ success: true }orders.createMultiStop AdminCreează o comandă multi-stop cu mai multe adrese de livrare.
/api/trpc/orders.createMultiStopPARAMETRI
senderNamestringrequired— Numele expeditoruluisenderPhonestringrequired— Telefonul expeditoruluisenderAddressstringrequired— Adresa de ridicarestopsarrayrequired— Array de opriri [{name, phone, address, city}]serviceLevelenum— lite | heavy | cargoRĂSPUNS
{ orderId: string, stops: number }Management șoferi, performanță, rating, atribuire vehicule
drivers.list AutentificatListează toți șoferii cu filtrare opțională după status.
/api/trpc/drivers.listPARAMETRI
statusstring— active | inactive | suspendedRĂSPUNS
Driver[]drivers.create AdminCreează un șofer nou.
/api/trpc/drivers.createPARAMETRI
namestringrequired— Numele completphonestringrequired— Număr telefonemailstring— EmailcapacityLevelenum— lite | heavy | cargoRĂSPUNS
Driverdrivers.performance AutentificatReturnează metrici de performanță pentru toți șoferii.
/api/trpc/drivers.performanceRĂSPUNS
DriverPerformance[]drivers.rate AutentificatEvaluează un șofer (1-5 stele).
/api/trpc/drivers.ratePARAMETRI
driverIdnumberrequired— ID-ul șoferuluiratingnumberrequired— Rating 1-5commentstring— Comentariu opționalRĂSPUNS
{ success: true, newRating: number }Management vehicule, recomandare automată tip vehicul, scoring șoferi
vehicles.list AutentificatListează toate vehiculele din flotă.
/api/trpc/vehicles.listPARAMETRI
statusstring— active | maintenance | retiredRĂSPUNS
Vehicle[]vehicles.create AdminAdaugă un vehicul nou în flotă.
/api/trpc/vehicles.createPARAMETRI
plateNumberstringrequired— Număr înmatricularetypeenum— motorcycle | car | van | truck (default: van)capacityKgstring— Capacitate kg (default: 500.00)RĂSPUNS
Vehiclevehicles.recommend AutentificatRecomandă tipul optim de vehicul pe baza parametrilor comenzii (serviciu, slot, COD).
/api/trpc/vehicles.recommendPARAMETRI
serviceLevelenumrequired— lite | heavy | cargoslotTypeenum— standard | premium_morning | premium_evening | flash_2hcodAmountnumber— Suma COD în RONRĂSPUNS
{ recommended: VehicleType[], primary: VehicleType, reason: string, constraints: string[] }EXEMPLU
// Exemplu: Comandă heavy cu COD mare
trpc.vehicles.recommend.useQuery({
serviceLevel: "heavy",
slotType: "standard",
codAmount: 750,
})
// → { primary: "van", recommended: ["van", "car"], reason: "Serviciu Heavy: colet mediu-mare", constraints: ["COD 750 RON > 500 RON → motocicletă exclusă"] }vehicles.matchForOrder AutentificatReturnează recomandarea de vehicul și clasamentul șoferilor pentru o comandă specifică.
/api/trpc/vehicles.matchForOrderPARAMETRI
orderIdstringrequired— ID intern al comenziiRĂSPUNS
{ orderId, recommendation: VehicleRecommendation, rankedDrivers: DriverScore[], bestMatch: DriverScore | null }Generare AWB, etichete A6, barcode, QR, tracking public, GDPR
awb.getLabelData AutentificatGenerează datele pentru eticheta AWB a unei comenzi (barcode, QR, date GDPR-compliant).
/api/trpc/awb.getLabelDataPARAMETRI
orderIdstringrequired— ID intern al comenziiRĂSPUNS
AwbLabelData (awb, barcode, qrCode, sender, recipient, serviceLevel, cod, gdprNotice)awb.assignAwb AutentificatGenerează și atribuie un AWB unic unei comenzi. Trimite notificare WhatsApp automat.
/api/trpc/awb.assignAwbPARAMETRI
orderIdstringrequired— ID intern al comenziiRĂSPUNS
{ awbNumber: string, success: true }awb.assignAwbBulk AutentificatGenerează AWB-uri în masă pentru mai multe comenzi. Trimite notificări WhatsApp.
/api/trpc/awb.assignAwbBulkPARAMETRI
orderIdsstring[]required— Array de ID-uri interneRĂSPUNS
{ results: [{ orderId, awbNumber, success }], totalAssigned: number }awb.trackByAwb PublicTracking public — returnează statusul coletului pentru pagina /track/:awb. GDPR-compliant (nume mascat).
/api/trpc/awb.trackByAwbPARAMETRI
awbNumberstringrequired— Numărul AWB (ex: CP-20260210-00001)RĂSPUNS
{ awb, status, statusLabel, recipientName (mascat), city, serviceLevel, cod, estimatedDelivery, timeline }awb.getMultiLabelHtml AutentificatGenerează HTML cu multiple etichete A6 pentru print batch pe imprimantă termică.
/api/trpc/awb.getMultiLabelHtmlPARAMETRI
orderIdsstring[]required— Array de ID-uri interneRĂSPUNS
{ html: string, count: number }Reconciliere COD, decontări șoferi, transfer fonduri
settlements.list AutentificatListează decontările cu filtrare după status, șofer, perioadă.
/api/trpc/settlements.listPARAMETRI
statusstring— pending | verified | transferreddriverIdnumber— Filtrare după șoferdateFromdate— Data de începutdateTodate— Data de sfârșitRĂSPUNS
Settlement[]settlements.dailyReconciliation AutentificatReturnează reconcilierea zilnică COD per șofer.
/api/trpc/settlements.dailyReconciliationRĂSPUNS
DailyReconciliation[]Gestionare sloturi de livrare, disponibilitate, prețuri dinamice
slots.list AutentificatListează sloturile de livrare disponibile.
/api/trpc/slots.listRĂSPUNS
DeliverySlot[]Profitabilitate, SLA, heatmap, carbon footprint, tendințe
bi.profitability AutentificatAnaliză profitabilitate per perioadă.
/api/trpc/bi.profitabilityPARAMETRI
periodenum— day | week | month | quarter | yearRĂSPUNS
ProfitabilityReportbi.slaStats AutentificatStatistici SLA (Service Level Agreement) — rata de livrare la timp.
/api/trpc/bi.slaStatsRĂSPUNS
SlaStatsbi.carbonStats AutentificatStatistici carbon footprint și eco-delivery.
/api/trpc/bi.carbonStatsRĂSPUNS
CarbonStatsbi.weeklyTrends AutentificatTendințe săptămânale (comenzi, venituri, livrări).
/api/trpc/bi.weeklyTrendsRĂSPUNS
WeeklyTrend[]Setări notificări WhatsApp/SMS, triggere automate, reminder 24h
notifications.getSettings AdminReturnează setările curente de notificări (canale, triggere, template-uri).
/api/trpc/notifications.getSettingsRĂSPUNS
NotificationSettingsnotifications.toggleTrigger AdminActivează/dezactivează un trigger de notificare.
/api/trpc/notifications.toggleTriggerPARAMETRI
triggerstringrequired— Numele trigger-uluienabledbooleanrequired— Activ/inactivRĂSPUNS
{ success: true }Onboarding comercianți, integrări, leaderboard
merchants.list AutentificatListează comercianții integrați.
/api/trpc/merchants.listRĂSPUNS
Merchant[]merchantOnboarding.submitApplication PublicTrimite o cerere de onboarding pentru un comerciant nou (public, fără autentificare).
/api/trpc/merchantOnboarding.submitApplicationPARAMETRI
companyNamestringrequired— Numele companieicontactNamestringrequired— Persoana de contactemailstringrequired— Emailphonestringrequired— Telefonplatformenumrequired— gomag | shopify | woocommerce | magento | prestashop | customestimatedVolumestringrequired— Volum estimat lunarRĂSPUNS
{ applicationId: number, status: 'pending' }Ingestie comenzi, tracking, finanțe — REST endpoints
POST /api/webhooks/orders PublicPrimește comenzi de la platforme e-commerce (Gomag, Shopify, WooCommerce). Auto-detectează sursa din payload.
/api/webhooks/ordersPARAMETRI
X-Shopify-Hmac-SHA256header— HMAC signature ShopifyX-WC-Webhook-Signatureheader— HMAC signature WooCommercebodyobjectrequired— Payload comandă (format specific platformei)RĂSPUNS
{ success: true, internalOrderId: string }EXEMPLU
curl -X POST /api/webhooks/orders \
-H "Content-Type: application/json" \
-d '{"order_id": "12345", "customer": {"name": "Ion Popescu", "phone": "0740123456"}, "shipping_address": {...}}'POST /api/webhooks/tracking PublicPrimește actualizări de status/tracking. Declanșează notificări WhatsApp și proactive (driver nearby).
/api/webhooks/trackingPARAMETRI
bodyobjectrequired— { awb, status, timestamp, location? }RĂSPUNS
{ success: true, newStatus: string }POST /api/webhooks/finance PublicPrimește callback-uri financiare (COD, decontări, plăți).
/api/webhooks/financeRĂSPUNS
{ success: true }GET /api/webhooks/health PublicHealth check pentru webhook endpoint-uri.
/api/webhooks/healthRĂSPUNS
{ status: 'ok', uptime: number }Health checks, readiness, liveness probes
GET /api/health PublicHealth check complet: DB, Redis, memorie, uptime.
/api/health/RĂSPUNS
{ status: 'healthy' | 'degraded', checks: { database, redis, memory }, uptime: number }GET /api/health/ready PublicReadiness probe — verifică dacă serviciul este pregătit să primească trafic.
/api/health/readyRĂSPUNS
{ ready: boolean }GET /api/health/live PublicLiveness probe — verifică dacă procesul este activ.
/api/health/liveRĂSPUNS
{ alive: true }Poziții flotă în timp real, rute șoferi, comenzi active pe hartă
liveMap.getFleetPositions AutentificatReturnează pozițiile curente ale tuturor șoferilor activi.
/api/trpc/liveMap.getFleetPositionsRĂSPUNS
FleetPosition[]liveMap.updateDriverPosition AutentificatActualizează poziția GPS a unui șofer.
/api/trpc/liveMap.updateDriverPositionPARAMETRI
driverIdnumberrequired— ID-ul șoferuluilatnumberrequired— Latitudinelngnumberrequired— LongitudineRĂSPUNS
{ success: true }Conversații dispatcher-șofer, mesaje, quick replies
chat.sendMessage AutentificatTrimite un mesaj într-o conversație.
/api/trpc/chat.sendMessagePARAMETRI
conversationIdnumberrequired— ID-ul conversațieicontentstringrequired— Conținutul mesajuluitypeenum— text | image | locationRĂSPUNS
MessageVerificări conformitate, digest săptămânal, reguli ANAF/GDPR
compliance.overview AutentificatReturnează overview-ul de compliance: scor, reguli încălcate, acțiuni necesare.
/api/trpc/compliance.overviewRĂSPUNS
ComplianceOverviewSetări sistem, prețuri, alocare, configurare dinamică
config.getAll AdminReturnează toate setările de configurare ale sistemului.
/api/trpc/config.getAllRĂSPUNS
Record<string, any>config.update AdminActualizează o setare de configurare.
/api/trpc/config.updatePARAMETRI
keystringrequired— Cheia setăriivaluestringrequired— Noua valoareRĂSPUNS
{ success: true }Folosim cookie-uri pentru funcționarea platformei și, cu acordul dumneavoastră, pentru analiză și marketing. Puteți personaliza preferințele sau accepta toate cookie-urile. Politica de Confidențialitate