- SERVICE DESCRIPTION
This service provides integration with the QuikQ platform through the GHUBEE interface. It enables retrieval of fuel transaction reports including transaction details, product information, driver data, unit information, and payment details.
- INTEGRATION SPECIFICATION
- Service Details
| Service Name | Reports Transactions |
| Context | /quikq/reports/transactions |
| Description | Provides endpoint to retrieve fuel transaction reports from QuikQ platform, including detailed information about transactions, drivers, units, products, and payments. |
| Endpoint |
https://hml.ghubee.com/api/quikq/reports/transactions |
| Environment Specifications | https://ghubee.com/api |
| Protocol/Transport | HTTPS |
| Method | GET |
| Representation format | JSON |
| Input/Output Interface or Both | Both |
| Data transformation | No |
- Assumption
The service must be invoked with all mandatory parameters correctly filled.
Authentication is required through QuikQ credentials (startCode, userId, password) passed via HTTP headers.
- Data input
Identification of the input data for the QuikQ Reports Transactions API.
| Field | Description | Format | Size | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | - | Yes | Bearer token |
| startCode | QuikQ start code identifier | Custom Header | - | Yes | Company identifier in QuikQ |
| userId | QuikQ user ID | Custom Header | - | Yes | QuikQ authentication |
| password | QuikQ password | Custom Header | - | Yes | QuikQ authentication |
| start_date | Report start date | Query Parameter | - | Yes | Date format required |
| end_date | Report end date | Query Parameter | - | Yes | Date format required |
- Data input example
GET https://hml.ghubee.com/api/quikq/reports/transactions?start_date=2025-07-01&end_date=2025-07-31
Content-Type: application/json
Accept: application/json
Authorization: Bearer token_ghubee
startCode: 9528381
userId: your_user_id
password: your_password
- Data output
Return of QuikQ Reports Transactions API output data.
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Success description |
| data | Main response payload | Object | Yes | Contains report details |
| data.transactionCount | Total number of transactions | Integer | Yes | Count of transactions in report |
| data.carrierCount | Total number of carriers | Integer | Yes | Count of unique carriers |
| data.truckStopCount | Total number of truck stops | Integer | Yes | Count of unique stations |
| data.transactions | Array of transaction records | Array | Yes | Detailed transaction list |
| transactions[].seq | Transaction sequence number | Integer | Yes | Sequential identifier |
| transactions[].startCode | Company start code | Integer | Yes | Company identifier |
| transactions[].transNumber | Transaction number | Integer | Yes | Unique transaction ID |
| transactions[].beginDate | Transaction start date/time | String | Yes | Format: YYYY-MM-DD-HH:mm:ss |
| transactions[].complete | Transaction completion timestamp | String | Yes | Full timestamp with microseconds |
| transactions[].cashier | Cashier identifier | String | Yes | Employee/clerk code |
| transactions[].driver | Driver identifier | String | Yes | Driver code |
| transactions[].unit | Vehicle/unit number | String | Yes | Truck identifier |
| transactions[].trailer | Trailer number | String | No | Trailer identifier if applicable |
| transactions[].station | Station code | String | Yes | Location identifier |
| transactions[].magCard | Magnetic card number | String | Yes | Card identifier |
| transactions[].magCardType | Magnetic card type | String | Yes | Card classification |
| transactions[].transType | Transaction type | String | Yes | Type of transaction |
| transactions[].imageExists | Receipt image availability | String | Yes | true/false |
| transactions[].dataCapture | Captured transaction data | Object | Yes | Additional captured fields |
| dataCapture.driverCode | Captured driver code | String | Yes | Driver identifier |
| dataCapture.odometer | Vehicle odometer reading | String | No | Mileage at transaction |
| dataCapture.trailerNumber | Captured trailer number | String | No | Trailer identifier |
| dataCapture.unitNumber | Captured unit number | String | Yes | Vehicle identifier |
| dataCapture.promptedUnit | Unit prompted at terminal | String | Yes | Unit from terminal prompt |
| transactions[].subTransactions | Array of sub-transactions | Array | Yes | Detailed transaction items |
| subTransactions[].seq | Sub-transaction sequence | Integer | Yes | Sequential identifier |
| subTransactions[].subTransNum | Sub-transaction number | Integer | Yes | Sub-transaction ID |
| subTransactions[].station | Station code | String | Yes | Location identifier |
| subTransactions[].cashier | Cashier identifier | String | Yes | Employee code |
| subTransactions[].completion | Completion code | String | Yes | Transaction completion ID |
| subTransactions[].confirmation | Confirmation code | String | Yes | Payment confirmation |
| subTransactions[].voided | Void status | String | Yes | YES/NO |
| subTransactions[].eventType | Event type code | String | Yes | Type of event |
| subTransactions[].eventDate | Event date/time | String | Yes | Format: YYYY-MM-DD-HH.mm.ss |
| subTransactions[].postDate | Posting date/time | String | Yes | Format: YYYY-MM-DD-HH.mm.ss |
| subTransactions[].totalTax | Total tax amount | Decimal | Yes | Tax charges |
| subTransactions[].subTotal | Subtotal amount | Decimal | Yes | Before discounts |
| subTransactions[].adjSubTotal | Adjusted subtotal | Decimal | Yes | After discounts |
| subTransactions[].creditType | Credit type code | String | Yes | DB/CR/etc |
| subTransactions[].purSubTranNum | Purchase sub-transaction number | Integer | Yes | Purchase reference |
| subTransactions[].productDetails | Array of product details | Array | Yes | Purchased products |
| productDetails[].seq | Product sequence | Integer | Yes | Sequential identifier |
| productDetails[].prodSeq | Product sequence number | Integer | Yes | Product order |
| productDetails[].productIndex | Product index | Integer | Yes | Product position |
| productDetails[].productCode | Product code | Integer | Yes | Product identifier |
| productDetails[].quantity | Product quantity | Decimal | Yes | Amount purchased |
| productDetails[].uom | Unit of measure | String | Yes | G=Gallons, L=Liters |
| productDetails[].unitCost | Unit cost/price | Decimal | Yes | Price per unit |
| productDetails[].liters | Quantity in liters | Decimal | No | Conversion to liters |
| productDetails[].exchange | Currency code | String | Yes | USD, CAD, etc |
| productDetails[].exchRate | Exchange rate | Decimal | Yes | Currency conversion rate |
| productDetails[].discount | Discount amount | Decimal | Yes | Total discount applied |
| productDetails[].tax1 | Tax 1 amount | Decimal | Yes | First tax component |
| productDetails[].tax2 | Tax 2 amount | Decimal | Yes | Second tax component |
| productDetails[].productTotal | Product total before adjustments | Decimal | Yes | Total before discounts |
| productDetails[].useGlobal | Use global pricing flag | Integer | Yes | 0 or 1 |
| productDetails[].fuelTotal | Fuel total amount | Decimal | Yes | Total fuel cost |
| productDetails[].adjustedTotal | Adjusted total amount | Decimal | Yes | Total after adjustments |
| productDetails[].adjustedPrice | Adjusted unit price | Decimal | Yes | Price per unit after discount |
| productDetails[].adjustedDiscount | Adjusted discount amount | Decimal | Yes | Final discount applied |
| productDetails[].priceUsed | Price type used | String | Yes | B=Base, etc |
| productDetails[].carrierFee | Carrier fee amount | Decimal | Yes | Additional carrier charges |
| productDetails[].merchFee | Merchant fee amount | Decimal | Yes | Merchant processing fee |
- Error messages
Identification and description of error message types.
| Situation | Message Code | Message description |
| Unauthenticated | { "status": "Error", "message": "Unauthenticated", "data": null } | Authentication error with GHUBEE. |
| Missing startCode | { "status": "Error", "message": "startCode is missing or invalid.", "data": null } | Required startCode header not provided. |
| Missing userId | { "status": "Error", "message": "userId is missing or invalid.", "data": null } | Required userId header not provided. |
| Missing password | { "status": "Error", "message": "password is missing or invalid.", "data": null } | Required password header not provided. |
| Missing start_date | { "status": "Error", "message": "Start date is missing or invalid.", "data": null } | Required start_date query parameter not provided. |
| Missing end_date | { "status": "Error", "message": "End date is missing or invalid.", "data": null } | Required end_date query parameter not provided. |
| QuikQ API Error | { "status": "Error", "message": "cURL error: [error details]", "data": null } | Communication error with QuikQ API. |
