Taurus API Documentation
website·Indexed 29 days ago
https://taurus.aspiretop.com/docs/api/introAPI reference for the Taurus platform, featuring RSocket-based interaction models (Request-Response, Request-Stream, Response-Stream, and Fire-and-Forget). The documentation covers core services including payment processing (pay.refunds, pay.offline-payments), order management (rsorders, scorders), pricing and bus route configuration (prices.bus), and organizational user management (ot.orgs.users).
What's inside Taurus
- Taurus is a comprehensive collection of cloud-native software lifecycle elements designed to help enterprises build scalable, high-performance, and reliable applications. It has evolved from a blocking Spring Cloud architecture to a fully non-blocking reactive microservices architecture based on RSocket Broker Clusters. The ecosystem encompasses specifications, container infrastructure, DevOps toolchains, microservices infrastructure, development frameworks, and base functional components.
Retrieve cargo space forecast details by ID
The
cs.crm.space-forecasts.get.{id}API endpoint returns detailed information about a specific cargo space forecast. The response includes cargo specifications, bill of lading types, trade terms, and scheduling deadlines. Key data returned includes:- Cargo Details: Gross weight (
cargoWeight), volume (cargoVolume), and HS code (hsCode). - Bill of Lading (BL) Types: Both Master Bill of Lading (
mblTypeandmblTypeInfo) and House Bill of Lading (hblTypeandhblTypeInfo) identifiers and their corresponding metadata (ID, Chinese name, English name, and extended properties). - Trade & Freight Terms: International trade terms (
incoTermsandincoTermsInfo) and freight terms (freightTermsandfreightTermsInfo), including their descriptive metadata. - Scheduling: Cargo ready time in UTC (
cargoReadyTime), the reservation deadline (deadline), and the contract type identifier (contractType).
- Cargo Details: Gross weight (
Booking Order Response: Shipper and Related Customers Schema
The booking order response includes detailed information about the shipper and their related customers. Theshipperobject contains the primary unit ID and names, whilerelatedCustomersis an array of associated entities with specific role tags (e.g., 'shipper', 'consignee', 'importBuyer') and custom extension properties.{ "shipper": { "unitId": "string", "name": "string", "nameEn": "string", "relatedCustomers": [ { "unitId": "string", "name": "string", "nameEn": "string", "tags": ["string"], "extraProps": {} } ] } }Understand the company object in ccorders.me response
Theccorders.meAPI response includes acompanyobject containing detailed information about the company associated with the order. This includes operational status (stop-taking-orders timing), registration details, and complex financial settlement configurations via theindependentAccountobject.{ "company": { "name": "String", // Company name "registerAddr": "String", // Registration region: HK (Hong Kong), CN (Mainland China), OM (Macau) "tel": "String", // Company phone "address": "String", // Contact address "orgCode": "String", // Business registration code "isManual": "Boolean", // Manual dispatch: true = manual, false = automatic "singleDriver": "Boolean", // Whether the company was established for a single driver "stopTakingOrders": { "stopFrom": "String", // Start time for stopping orders "stopTo": "String", // End time for stopping orders "oldPriceWeight": "Object" // Original route price weight }, "surchargeSettlement": "Object", // Surcharge settlement price "independentAccount": { "period": "Number", // Settlement cycle (e.g., 0 for T+0, 1 for T+1, 7 for T+7) "suspensionOfDistribution": "Boolean", // Distribution suspended: true = suspended, false = active "settlementOfDriverCharges": "Boolean", // Whether the platform is entrusted to settle driver fees automatically "acceptorType": "String", // Distribution object: 0 = Platform, 1 = Channel "independentAccountType": "String", // Distribution type: 0 = Proportion, 1 = Specified amount "independentAccountValue": "Object", // Distribution values for RMB, HKD, and MOP "collectionAccountInformation": { "appId": "String", // Official account appId "accountIdentification": "String", // Account identifier "name": "String", // Account name "type": "String" // Recipient type: MERCHANT_ID or PERSONAL_OPENID } } } }Retrieve partner details via partners.get.{id}
Thepartners.get.{id}API returns detailed information about a specific partner. The response object includes complex nested data regarding account management, discounts, distribution settings, and dispatcher information.// Example of the response structure for partner details { "accountManagerInfo": { "discountInfo": { "sc": { "type": "0", "discountValue": { "RMB": 0, "HKD": 0, "MOP": 0 } }, "rs": { "type": "0", "discountValue": { "RMB": 0, "HKD": 0, "MOP": 0 } } }, "independentAccount": { "period": 0, "suspensionOfDistribution": false, "settlementOfDriverCharges": true, "acceptorType": "0", "independentAccountType": "0", "independentAccountValue": { "RMB": 0, "HKD": 0, "MOP": 0 }, "collectionAccountInformation": { "appId": "string", "accountIdentification": "string", "name": "string", "type": "MERCHANT_ID" } } }, "dispatcherInfo": { "companyId": "string", "companyName": "string", "dispatchStatus": 1, "reviewStatus": true, "dutyStatus": 1, "remarks": "string", "registerTime": "string" }, "tripCustomerInfo": { "inviteCode": "string", "tripCustomerStatus": 1, "registerTime": "string", "attachments": [ { "title": "string", "description": "string", "binaryId": ["string"] } ] }, "tags": ["string"], "extraProps": {}, "validMobile": "string", "id": "varies" }Understand the driverInfo object in tasks.me response
Thetasks.meresponse includes adriverInfoobject containing detailed information about the driver assigned to a task, including vehicle details, contact information, and the current task state.interface DriverInfo { number: string; // Work order ID vehicle: string; // Transport vehicle licenseNo: string; // Vehicle license plate brandModel: string; // Brand and model (dictionary-brandModel) passengerCapacity: number; // Passenger capacity attachments: Array<{ title: string; description: string; binaryId: string[]; }>; // Attachments driverId: string; // Driver ID name: string; // Driver name nickname: string; // Driver nickname phone: string; // Mainland China phone hkPhone: string; // Hong Kong phone driverWxAccount: string; // WeChat ID state: string; // Driver state: // 0: Cancelled (All) // 1: Dispatched (Charter, Carpool, Line) / Order Accepted (Q-match, Lucky Car, Group, Trip) // 2: Picking up passenger (Charter, Carpool) / Task Started (Line) // 3: Passenger picked up (Charter, Carpool) / Departed to destination / Boarding (Q-match, Lucky Car, Group, Trip) // 4: Passenger dropped off, awaiting billing (Q-match, Lucky Car, Group) // 5: Task completed (Charter, Carpool) / Task ended (Line) / Billed (Q-match, Lucky Car, Group, Trip) remark: string; // Cancellation remarks takeOrderTime: string; // Order acceptance time dispatchTime: string; // Dispatch time cancelOrderTime: string; // Cancellation/Return time completionTime: string; // Completion time }Retrieve booking order details: Response attributes for podInfo and transitPort
When retrieving booking order details via the
cs.booking-orders.get.by-no.{no}route, the response includes detailed information about the Port of Discharge (podInfo) and the Transit Port (transitPortInfo).Port of Discharge (podInfo)
- Bank Accounts (
podInfo.bankAccounts[]): ContainsbankCode(CNAPS),bankAccount,currency(e.g., CNY, USD, EUR, HKD, JPY, GBP, AUD, CAD, SGD, KRW, DKK, NOK, SEK),swiftCode,address, andisDefault(Boolean). - Invoice Information (
podInfo.invoiceInfo): IncludescompanyName,taxIdentificationNumber,companyAddress,phone,bankAccount,contact, andemail. - Related Customers (
podInfo.relatedCustomers[]): A list of associated entities containingunitId(Primary Key),name(Chinese),nameEn(English),tags(e.g., 'shipper', 'consignee', 'importBuyer'), andextraPropsfor custom unit instances. - General Info:
unitId(Primary Key),name(Chinese), andnameEn(English).
Transit Port Information
- Transit Port ID:
transitPort(The ID of the entity). - Transit Port Details (
transitPortInfo):- Location:
country,countryEn,abbreviation,address(Chinese), andaddressEn(English). - Contact Persons (
transitPortInfo.contactPersons[]): A list of contacts includingusername,name,mobile,email, andposition.
- Location:
- Bank Accounts (
Reference for busOrder object in driver completion API
ThebusOrderobject provides detailed information about the bus order associated with a driver completing a trip. All fields in this object are optional.{ "busOrder": { "appId": "String", "orderFromType": "Number", // 0: WeChat, 1: Backend "cancelOrderTime": "String", "cancelRemark": "String", "refundTime": "String", "refundPrice": "Number", "settlementRatio": "Number", "refundRemark": "String", "orderId": "String", // Third-party company order ID "cost": "Number", // Settlement price with company "companyId": "String", "directionalCompany": "String", "companyName": "String", "agent": "String", "effTime": "String", "from": { "city": "String", // City dictionary ID "station": "String", // Station ID "stationName": "String", "onAddress": "String", // Detailed boarding address "offAddress": "String" // Detailed alighting address }, "to": { "city": "String", // City dictionary ID "station": "String", // Station ID "stationName": "String" } } }Retrieve slot procurement details by ID
Thecs.slot-procurements.get.{id}API retrieves detailed information about a specific procurement order using its primary key ID. The response includes comprehensive data regarding the supplier, related customers, voyage details, and detailed Port of Loading (POL) information including contact persons, bank accounts, and invoicing details.Understand the response schema for Job Order consolidation candidates
The
cs.job-orders.{id}.consolidation-candidatesAPI returns detailed information about the Port of Discharge (POD) and related party information. Key data structures include:- polInfo: Contains details about the Port of Loading, including the unique unit ID (
unitId), Chinese name (name), English name (nameEn), and a list of related customers. - pod: The ID of the destination port/entity.
- podAlias: The customer alias for the destination port.
- podInfo: A comprehensive object containing:
- Location Details: Country, English country name, abbreviation, and addresses in both Chinese and English.
- Contact Persons: A list of contacts including
username,name,mobile,email,position, and aisPrimaryboolean flag. - Bank Accounts: A list of accounts including
accountName,bankName,bankCode(CNAPS),bankAccount,swiftCode, andisDefaultstatus. Thecurrencyfield supports standard codes (e.g., CNY, USD, EUR, HKD, JPY, GBP, AUD, CAD, SGD, KRW, DKK, NOK, SEK). - Invoice Info: Billing details including
companyName,taxIdentificationNumber,companyAddress,phone,bankAccount, andcontactperson.
- polInfo: Contains details about the Port of Loading, including the unique unit ID (
Understand the response attributes for associated orders
Theorders.change.associated.orderAPI returns detailed information about associated orders. The response includesnoticeOrderdetails (such as destination station, address, and coordinates) and ahitchOrderobject containing comprehensive order data including payment status, passenger details, and route information.{ "noticeOrder": { "offStationName": "String (End Station Name)", "offAddress": "String (End Address)", "offLocation": "String (End Location Longitude,Latitude)" }, "hitchOrder": { "payTime": "String (Payment Time)", "appId": "String (App ID)", "partnerId": "String (Partner ID, 0 = Platform)", "orderStatus": "Number (-1: Unpaid, 0: Cancelled, 1: Paid, 2: In Progress, 3: Completed)", "predictBeginDate": "String (Estimated Start Date)", "remarks": "String (Remarks)", "passengerNumber": "Number (Number of Passengers)", "passengerName": "String (Passenger Name)", "passengerPhone": "String (Passenger Phone)", "subscribeName": "String (Subscriber Name)", "subscribePhone": "String (Subscriber Phone)", "surcharges": "Object (Surcharge List)", "onCityId": "String (Start City ID)", "onCityName": "String (Start City Name)", "onStationId": "String (Start Area ID)", "onStationName": "String (Start Station Name)", "onAddress": "String (Start Address)", "onLocation": "String (Start Location Longitude,Latitude)", "offCityId": "String (End City ID)", "offCityName": "String (End City Name)", "offStationId": "String (End Area ID)", "offStationName": "String (End Station Name)" } }Create a trucking entrust order using cs.crm.trucking.entrusts.create
Thecs.crm.trucking.entrusts.createRSocket route is used to create trucking entrust orders. The request requires a set of parameters including order identifiers, business types, status, and detailed information about the creator and the trucking company (including contact persons and bank accounts).{ "entrustId": "string", "jobId": "string", "soNo": "string", "businessType": "EXPORT | IMPORT", "status": "PENDING | CONFIRMED | IN_PROGRESS | COMPLETED | CANCELLED", "creator": { "username": "string", "name": "string", "mobile": "string", "email": "string", "position": "string", "isPrimary": boolean }, "truckingCompanyId": "string", "truckingCompany": { "country": "string", "countryEn": "string", "abbreviation": "string", "address": "string", "addressEn": "string", "contactPersons": [ { "username": "string", "name": "string", "mobile": "string", "email": "string", "position": "string", "isPrimary": boolean } ], "bankAccounts": [ { "accountName": "string", "bankName": "string", "bankCode": "string", "bankAccount": "string", "currency": "CNY | USD | EUR | HKD | JPY | GBP | AUD | CAD | SGD | KRW | DKK | NOK | SEK", "swiftCode": "string" } ] } }