Taurus API Documentation

website·Indexed 29 days ago

https://taurus.aspiretop.com/docs/api/intro

API 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).

Tokens
2.5M
Snippets
7.2K
Records
11.4K
Agent score
43%

What's inside Taurus

  1. Overview of the Taurus Cloud-Native Ecosystem

    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.
  2. 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 (mblType and mblTypeInfo) and House Bill of Lading (hblType and hblTypeInfo) identifiers and their corresponding metadata (ID, Chinese name, English name, and extended properties).
    • Trade & Freight Terms: International trade terms (incoTerms and incoTermsInfo) and freight terms (freightTerms and freightTermsInfo), including their descriptive metadata.
    • Scheduling: Cargo ready time in UTC (cargoReadyTime), the reservation deadline (deadline), and the contract type identifier (contractType).
  3. Booking Order Response: Shipper and Related Customers Schema

    The booking order response includes detailed information about the shipper and their related customers. The shipper object contains the primary unit ID and names, while relatedCustomers is 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": {}
          }
        ]
      }
    }
  4. Understand the company object in ccorders.me response

    The ccorders.me API response includes a company object 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 the independentAccount object.
    {
      "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
          }
        }
      }
    }
  5. Retrieve partner details via partners.get.{id}

    The partners.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"
    }
  6. Understand the driverInfo object in tasks.me response

    The tasks.me response includes a driverInfo object 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
    }
  7. 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[]): Contains bankCode (CNAPS), bankAccount, currency (e.g., CNY, USD, EUR, HKD, JPY, GBP, AUD, CAD, SGD, KRW, DKK, NOK, SEK), swiftCode, address, and isDefault (Boolean).
    • Invoice Information (podInfo.invoiceInfo): Includes companyName, taxIdentificationNumber, companyAddress, phone, bankAccount, contact, and email.
    • Related Customers (podInfo.relatedCustomers[]): A list of associated entities containing unitId (Primary Key), name (Chinese), nameEn (English), tags (e.g., 'shipper', 'consignee', 'importBuyer'), and extraProps for custom unit instances.
    • General Info: unitId (Primary Key), name (Chinese), and nameEn (English).

    Transit Port Information

    • Transit Port ID: transitPort (The ID of the entity).
    • Transit Port Details (transitPortInfo):
      • Location: country, countryEn, abbreviation, address (Chinese), and addressEn (English).
      • Contact Persons (transitPortInfo.contactPersons[]): A list of contacts including username, name, mobile, email, and position.
  8. Reference for busOrder object in driver completion API

    The busOrder object 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"
        }
      }
    }
  9. Understand the response schema for Job Order consolidation candidates

    The cs.job-orders.{id}.consolidation-candidates API 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 a isPrimary boolean flag.
      • Bank Accounts: A list of accounts including accountName, bankName, bankCode (CNAPS), bankAccount, swiftCode, and isDefault status. The currency field 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, and contact person.
  10. Understand the response attributes for associated orders

    The orders.change.associated.order API returns detailed information about associated orders. The response includes noticeOrder details (such as destination station, address, and coordinates) and a hitchOrder object 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)"
      }
    }
  11. Create a trucking entrust order using cs.crm.trucking.entrusts.create

    The cs.crm.trucking.entrusts.create RSocket 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"
          }
        ]
      }
    }