API Reference
Admin settlements
Newest first, default 100, bounded 1..1000.
Authorization
better-auth.session_token better-auth.session_token<token>
In: cookie
Query Parameters
limit?number
Range
1 <= value <= 1000Response Body
application/json
curl -X GET "https://example.com/api/v1/admin/shipping/settlements"[ { "id": "string", "carrier": "string", "tracking_id": "string", "actual_cost": "string", "billed_on": "string", "imported_at": "string", "imported_by": "string", "adjustment_order_id": "string", "notes": "string" }]Parses CSV header verbatim against POS_LAJU_REQUIRED or NINJAVAN_REQUIRED. Matches tracking IDs to orders.tracking_id in a single round-trip. Per-row insert with UNIQUE(carrier, tracking_id, billed_on) conflict handled via Prisma P2002 → counts as duplicate instead of aborting the batch. Unmatched tracking IDs returned so admin can investigate.
Authorization
better-auth.session_token better-auth.session_token<token>
In: cookie
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/admin/shipping/settlements/import" \ -H "Content-Type: application/json" \ -d '{ "carrier": "pos_laju", "csvText": "string" }'{ "total": 0, "inserted": 0, "duplicate": 0, "unmatched": 0, "parseErrors": [ "string" ], "unmatchedTrackingIds": [ "string" ]}