Navigare Rapidă

Caută pagini, comenzi sau acțiuni...

Click Post API

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.

45endpoint-uri
11publice
25autentificate
9admin

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.

Autentificare

OAuth Manus, sesiuni utilizator, logout

QUERYauth.me Public

Returnează utilizatorul curent autentificat sau null.

/api/trpc/auth.me

RĂSPUNS

{ id, openId, name, email, avatar, role } | null
MUTATIONauth.logout Public

Deconectează utilizatorul curent și șterge cookie-ul de sesiune.

/api/trpc/auth.logout

RĂSPUNS

{ success: true }

Comenzi

CRUD comenzi, status, atribuire șofer, multi-stop, compliance

QUERYorders.list Autentificat

Listează comenzile cu filtrare și paginare.

/api/trpc/orders.list

PARAMETRI

statusstring— Filtrare după status (pending, assigned, in_transit, delivered, cancelled)
searchstring— Căutare după AWB, nume, telefon
pagenumber— Pagina curentă (default: 1)
limitnumber— Rezultate per pagină (default: 50)

RĂSPUNS

{ orders: Order[], total: number, page: number }
QUERYorders.getById Autentificat

Returnează o comandă după ID numeric.

/api/trpc/orders.getById

PARAMETRI

idnumberrequired— ID-ul numeric al comenzii

RĂSPUNS

Order | null
QUERYorders.getByInternalId Autentificat

Returnează o comandă după ID-ul intern (ex: CP-20260210-00001).

/api/trpc/orders.getByInternalId

PARAMETRI

internalOrderIdstringrequired— ID intern al comenzii

RĂSPUNS

Order | null
MUTATIONorders.updateStatus Admin

Actualizează statusul unei comenzi. Declanșează notificări automate.

/api/trpc/orders.updateStatus

PARAMETRI

orderIdnumberrequired— ID-ul comenzii
statusstringrequired— Noul status
notesstring— Notițe opționale

RĂSPUNS

{ success: true }
MUTATIONorders.assignDriver Admin

Atribuie un șofer la o comandă.

/api/trpc/orders.assignDriver

PARAMETRI

orderIdnumberrequired— ID-ul comenzii
driverIdnumberrequired— ID-ul șoferului

RĂSPUNS

{ success: true }
MUTATIONorders.createMultiStop Admin

Creează o comandă multi-stop cu mai multe adrese de livrare.

/api/trpc/orders.createMultiStop

PARAMETRI

senderNamestringrequired— Numele expeditorului
senderPhonestringrequired— Telefonul expeditorului
senderAddressstringrequired— Adresa de ridicare
stopsarrayrequired— Array de opriri [{name, phone, address, city}]
serviceLevelenum— lite | heavy | cargo

RĂSPUNS

{ orderId: string, stops: number }

Șoferi

Management șoferi, performanță, rating, atribuire vehicule

QUERYdrivers.list Autentificat

Listează toți șoferii cu filtrare opțională după status.

/api/trpc/drivers.list

PARAMETRI

statusstring— active | inactive | suspended

RĂSPUNS

Driver[]
MUTATIONdrivers.create Admin

Creează un șofer nou.

/api/trpc/drivers.create

PARAMETRI

namestringrequired— Numele complet
phonestringrequired— Număr telefon
emailstring— Email
capacityLevelenum— lite | heavy | cargo

RĂSPUNS

Driver
QUERYdrivers.performance Autentificat

Returnează metrici de performanță pentru toți șoferii.

/api/trpc/drivers.performance

RĂSPUNS

DriverPerformance[]
MUTATIONdrivers.rate Autentificat

Evaluează un șofer (1-5 stele).

/api/trpc/drivers.rate

PARAMETRI

driverIdnumberrequired— ID-ul șoferului
ratingnumberrequired— Rating 1-5
commentstring— Comentariu opțional

RĂSPUNS

{ success: true, newRating: number }

Vehicule & Matching

Management vehicule, recomandare automată tip vehicul, scoring șoferi

QUERYvehicles.list Autentificat

Listează toate vehiculele din flotă.

/api/trpc/vehicles.list

PARAMETRI

statusstring— active | maintenance | retired

RĂSPUNS

Vehicle[]
MUTATIONvehicles.create Admin

Adaugă un vehicul nou în flotă.

/api/trpc/vehicles.create

PARAMETRI

plateNumberstringrequired— Număr înmatriculare
typeenum— motorcycle | car | van | truck (default: van)
capacityKgstring— Capacitate kg (default: 500.00)

RĂSPUNS

Vehicle
QUERYvehicles.recommend Autentificat

Recomandă tipul optim de vehicul pe baza parametrilor comenzii (serviciu, slot, COD).

/api/trpc/vehicles.recommend

PARAMETRI

serviceLevelenumrequired— lite | heavy | cargo
slotTypeenum— standard | premium_morning | premium_evening | flash_2h
codAmountnumber— Suma COD în RON

RĂ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ă"] }
QUERYvehicles.matchForOrder Autentificat

Returnează recomandarea de vehicul și clasamentul șoferilor pentru o comandă specifică.

/api/trpc/vehicles.matchForOrder

PARAMETRI

orderIdstringrequired— ID intern al comenzii

RĂSPUNS

{ orderId, recommendation: VehicleRecommendation, rankedDrivers: DriverScore[], bestMatch: DriverScore | null }

AWB & Etichete

Generare AWB, etichete A6, barcode, QR, tracking public, GDPR

QUERYawb.getLabelData Autentificat

Generează datele pentru eticheta AWB a unei comenzi (barcode, QR, date GDPR-compliant).

/api/trpc/awb.getLabelData

PARAMETRI

orderIdstringrequired— ID intern al comenzii

RĂSPUNS

AwbLabelData (awb, barcode, qrCode, sender, recipient, serviceLevel, cod, gdprNotice)
MUTATIONawb.assignAwb Autentificat

Generează și atribuie un AWB unic unei comenzi. Trimite notificare WhatsApp automat.

/api/trpc/awb.assignAwb

PARAMETRI

orderIdstringrequired— ID intern al comenzii

RĂSPUNS

{ awbNumber: string, success: true }
MUTATIONawb.assignAwbBulk Autentificat

Generează AWB-uri în masă pentru mai multe comenzi. Trimite notificări WhatsApp.

/api/trpc/awb.assignAwbBulk

PARAMETRI

orderIdsstring[]required— Array de ID-uri interne

RĂSPUNS

{ results: [{ orderId, awbNumber, success }], totalAssigned: number }
QUERYawb.trackByAwb Public

Tracking public — returnează statusul coletului pentru pagina /track/:awb. GDPR-compliant (nume mascat).

/api/trpc/awb.trackByAwb

PARAMETRI

awbNumberstringrequired— Numărul AWB (ex: CP-20260210-00001)

RĂSPUNS

{ awb, status, statusLabel, recipientName (mascat), city, serviceLevel, cod, estimatedDelivery, timeline }
QUERYawb.getMultiLabelHtml Autentificat

Generează HTML cu multiple etichete A6 pentru print batch pe imprimantă termică.

/api/trpc/awb.getMultiLabelHtml

PARAMETRI

orderIdsstring[]required— Array de ID-uri interne

RĂSPUNS

{ html: string, count: number }

Decontări COD

Reconciliere COD, decontări șoferi, transfer fonduri

QUERYsettlements.list Autentificat

Listează decontările cu filtrare după status, șofer, perioadă.

/api/trpc/settlements.list

PARAMETRI

statusstring— pending | verified | transferred
driverIdnumber— Filtrare după șofer
dateFromdate— Data de început
dateTodate— Data de sfârșit

RĂSPUNS

Settlement[]
QUERYsettlements.dailyReconciliation Autentificat

Returnează reconcilierea zilnică COD per șofer.

/api/trpc/settlements.dailyReconciliation

RĂSPUNS

DailyReconciliation[]

Sloturi Livrare

Gestionare sloturi de livrare, disponibilitate, prețuri dinamice

QUERYslots.list Autentificat

Listează sloturile de livrare disponibile.

/api/trpc/slots.list

RĂSPUNS

DeliverySlot[]

Business Intelligence

Profitabilitate, SLA, heatmap, carbon footprint, tendințe

QUERYbi.profitability Autentificat

Analiză profitabilitate per perioadă.

/api/trpc/bi.profitability

PARAMETRI

periodenum— day | week | month | quarter | year

RĂSPUNS

ProfitabilityReport
QUERYbi.slaStats Autentificat

Statistici SLA (Service Level Agreement) — rata de livrare la timp.

/api/trpc/bi.slaStats

RĂSPUNS

SlaStats
QUERYbi.carbonStats Autentificat

Statistici carbon footprint și eco-delivery.

/api/trpc/bi.carbonStats

RĂSPUNS

CarbonStats
QUERYbi.weeklyTrends Autentificat

Tendințe săptămânale (comenzi, venituri, livrări).

/api/trpc/bi.weeklyTrends

RĂSPUNS

WeeklyTrend[]

Notificări

Setări notificări WhatsApp/SMS, triggere automate, reminder 24h

QUERYnotifications.getSettings Admin

Returnează setările curente de notificări (canale, triggere, template-uri).

/api/trpc/notifications.getSettings

RĂSPUNS

NotificationSettings
MUTATIONnotifications.toggleTrigger Admin

Activează/dezactivează un trigger de notificare.

/api/trpc/notifications.toggleTrigger

PARAMETRI

triggerstringrequired— Numele trigger-ului
enabledbooleanrequired— Activ/inactiv

RĂSPUNS

{ success: true }

Comercianți

Onboarding comercianți, integrări, leaderboard

QUERYmerchants.list Autentificat

Listează comercianții integrați.

/api/trpc/merchants.list

RĂSPUNS

Merchant[]
MUTATIONmerchantOnboarding.submitApplication Public

Trimite o cerere de onboarding pentru un comerciant nou (public, fără autentificare).

/api/trpc/merchantOnboarding.submitApplication

PARAMETRI

companyNamestringrequired— Numele companiei
contactNamestringrequired— Persoana de contact
emailstringrequired— Email
phonestringrequired— Telefon
platformenumrequired— gomag | shopify | woocommerce | magento | prestashop | custom
estimatedVolumestringrequired— Volum estimat lunar

RĂSPUNS

{ applicationId: number, status: 'pending' }

Webhook-uri

Ingestie comenzi, tracking, finanțe — REST endpoints

POSTPOST /api/webhooks/orders Public

Primește comenzi de la platforme e-commerce (Gomag, Shopify, WooCommerce). Auto-detectează sursa din payload.

/api/webhooks/orders

PARAMETRI

X-Shopify-Hmac-SHA256header— HMAC signature Shopify
X-WC-Webhook-Signatureheader— HMAC signature WooCommerce
bodyobjectrequired— 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": {...}}'
POSTPOST /api/webhooks/tracking Public

Primește actualizări de status/tracking. Declanșează notificări WhatsApp și proactive (driver nearby).

/api/webhooks/tracking

PARAMETRI

bodyobjectrequired— { awb, status, timestamp, location? }

RĂSPUNS

{ success: true, newStatus: string }
POSTPOST /api/webhooks/finance Public

Primește callback-uri financiare (COD, decontări, plăți).

/api/webhooks/finance

RĂSPUNS

{ success: true }
GETGET /api/webhooks/health Public

Health check pentru webhook endpoint-uri.

/api/webhooks/health

RĂSPUNS

{ status: 'ok', uptime: number }

Health & Monitoring

Health checks, readiness, liveness probes

GETGET /api/health Public

Health check complet: DB, Redis, memorie, uptime.

/api/health/

RĂSPUNS

{ status: 'healthy' | 'degraded', checks: { database, redis, memory }, uptime: number }
GETGET /api/health/ready Public

Readiness probe — verifică dacă serviciul este pregătit să primească trafic.

/api/health/ready

RĂSPUNS

{ ready: boolean }
GETGET /api/health/live Public

Liveness probe — verifică dacă procesul este activ.

/api/health/live

RĂSPUNS

{ alive: true }

Hartă Live

Poziții flotă în timp real, rute șoferi, comenzi active pe hartă

QUERYliveMap.getFleetPositions Autentificat

Returnează pozițiile curente ale tuturor șoferilor activi.

/api/trpc/liveMap.getFleetPositions

RĂSPUNS

FleetPosition[]
MUTATIONliveMap.updateDriverPosition Autentificat

Actualizează poziția GPS a unui șofer.

/api/trpc/liveMap.updateDriverPosition

PARAMETRI

driverIdnumberrequired— ID-ul șoferului
latnumberrequired— Latitudine
lngnumberrequired— Longitudine

RĂSPUNS

{ success: true }

Chat Intern

Conversații dispatcher-șofer, mesaje, quick replies

MUTATIONchat.sendMessage Autentificat

Trimite un mesaj într-o conversație.

/api/trpc/chat.sendMessage

PARAMETRI

conversationIdnumberrequired— ID-ul conversației
contentstringrequired— Conținutul mesajului
typeenum— text | image | location

RĂSPUNS

Message

Compliance

Verificări conformitate, digest săptămânal, reguli ANAF/GDPR

QUERYcompliance.overview Autentificat

Returnează overview-ul de compliance: scor, reguli încălcate, acțiuni necesare.

/api/trpc/compliance.overview

RĂSPUNS

ComplianceOverview

Configurare

Setări sistem, prețuri, alocare, configurare dinamică

QUERYconfig.getAll Admin

Returnează toate setările de configurare ale sistemului.

/api/trpc/config.getAll

RĂSPUNS

Record<string, any>
MUTATIONconfig.update Admin

Actualizează o setare de configurare.

/api/trpc/config.update

PARAMETRI

keystringrequired— Cheia setării
valuestringrequired— Noua valoare

RĂSPUNS

{ success: true }

Utilizăm cookie-uri

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