Welcome to HappyMove Joyride Customer API HappyMove this API allows you to integrate our delivery services into your business workflow. You also can manage your orders and get updates on any changes in them. API versions are increased with incompatible changes, e.g. changes to data types or removal of request parameters. Non-latest API versions will still be supported for some reasonable time. New requests and parameters in existing requests (e.g. a new field in order structure) can be added at any time without new API versions. You should ignore unknown fields in any API data structures.
Ask Joyride Admin to generate an ApiKey - help@joyride.com.ph/(+632) 8864 7777
| Status ID | Status Value | Description |
|---|---|---|
| 0 | RIDE_REQUESTED | the status when a customer confirms or requests for a delivery booking. |
| 1 | SEARCHING_FOR_DRIVERS | the status when the system searches for the nearest available driver within the set radius. |
| 2 | DRIVER_ASSIGNED | the status when the booking is already assigned or is already accepted by the driver |
| 3 | DRIVER_ARRIVED | the status when the driver has arrived at the pick-up location. |
| 4 | TRIP_STARTED | the status when the driver updates the status to 'start trip', signifying that the driver is on the way to the drop-off point. |
| 4.1 | DRIVER_DROPOFF_ARRIVED | the status when the driver updates the status to ' arrived to customer', signifying that the driver is on customer location. |
| 5 | TRIP_CANCELLED_BY_RIDER | the status when the customer cancels the delivery request. |
| 6 | TRIP_CANCELLED_EARLY_BY_RIDER | the status when the customer cancels the delivery before a driver has accepted or before the booking was assigned to a driver. |
| 7 | TRIP_CANCELLED_BY_DRIVER | the status when the delivery was cancelled by the driver. |
| 8 | TRIP_COMPLETED | the status when the delivery is successfully completed. |
| 9 | TRIP_ABORT_NO_DRIVERS_FOUND | the status wherein the system is flagged to automatically cancel a trip after a certain period of time and there are no drivers available to accept the booking. |
| 10 | TRIP_ABORT_SERVER_ERROR | the status when the system encounters an unexpected error in updated trip status, details, or information. |
| 11 | TRIP_ADMIN_CANCELLED | the status when the trip is cancelled by the Admin. In this scenario, the customer or driver directly informs the Admin to cancel the booking. |
| 12 | TRIP_JRPAY_ERROR | the status when the system encounters an error upon processing payments made through JR Pay. |
| 13 | TRIP_DRIVER_REQUEST | the status when the system is unable to find or match the order to a nearby driver within the radius. The delivery will automatically go to the order request tab which will allow drivers with the same vehicle type to see and accept it regardless of distance from the pickup point. |
inquire for the price of delivery
| storeEmail | string Store email address (optional field) |
| tripType | number Enum: 1 2 1 = Single Trip, 2 = RoundTrip |
| serviceType | number Enum: 1 2 1 = motorcycle, 2 = mv-small, 3 = mv-medium, 4 = mv-large |
| insulatedBag | string Enum: "any_bag" "hm_bag" "" |
object | |
| driverHelps | boolean Enum: false true if driver has to carry items more than 5 meters away from his vehicle |
| extraHelper | boolean Enum: false true extra person to carry the item (other than the driver) |
| extraHelper2 | boolean Enum: false true 2 extra person to carry the item (other than the driver) |
| cashRemittance | boolean Enum: false true if driver collects cash from recipient and send amount to your Bank Account |
| mpv | boolean Enum: false true false = non sedan, true = mpv or (multi-purpose vehicle) |
| cashHandling | boolean Enum: false true if driver buys items for you at a store and collects payment from you at the drop-off location |
Array of objects list of all destination of the delivery | index 0 = pickup location | last index = dropoff location | 'important notes:' 'if select Roundtrip make sure that the pickup will add on the last index of the object' 'for multi stop' all stop must be inside of first and last object |
{- "storeEmail": "merchantTest@email.com",
- "tripType": 1,
- "serviceType": 2,
- "insulatedBag": "any_bag",
- "deliverySchedule": {
- "type": "1",
- "date": "2021-06-30 12:30"
}, - "driverHelps": true,
- "extraHelper": true,
- "extraHelper2": true,
- "cashRemittance": true,
- "mpv": true,
- "cashHandling": true,
- "location": [
- {
- "contactAddress": "1st floor joyride building",
- "contactName": "Juan Dela Cruz",
- "contactPhoneNo": "099999999",
- "lat": 10.331256,
- "lng": 123.907662,
- "stop": "joyride onboarding facility antipolo city rizal"
}, - {
- "contactAddress": "2nd floor happymove building",
- "contactName": "Juana Dela Cruz",
- "contactPhoneNo": "099999999",
- "lat": 14.331256,
- "lng": 120.907662,
- "stop": "happymove onboarding facility antipolo city rizal"
}
]
}Reserved or book a delivery
| merchantReference | string unique reference number from your end |
| deliverySchedule | string New Schedule of Delivery if need to modify the previous delivery Date |
| reference | string unique reference number from Quotation API |
| notes | string notes of the delivery |
| reserved | boolean true = delivery set as not active looking for driver false = delivery set as active looking for driver |
{- "merchantReference": "MERCHANTREF#777",
- "deliverySchedule": "2021-06-30 12:30",
- "reference": "17ce8bbd-aad0-4000-870a-88b948507b00",
- "notes": "sample delivery notes",
- "reserved": true
}Confirm Booking
| tripId | string unique tripId from Booking API |
| deliverySchedule | string New Schedule of Delivery if need to modify the previous delivery Date |
{- "tripId": "027HHUNFsnl9tHeaXuP0",
- "deliverySchedule": "2021-06-30 12:30"
}To get the latest delivery status from Happy Move, merchant should open a POST REST API that will accept the format below:
{
"tripId": "iyTe445testID", # unique tripId
"status": "TRIP_COMPLETED", # Latest status of the delivery
"merchant_reference": "MER000001", # Reference number sent by merchant
"delivery_details": {
"driver_name": "Ely Buendia", # driver full name
"plate_number": "EHEADS 777", # PlateNumber
"mobile_number": "+639951104834", # Driver phone number
"ETA": "77 minutes", # Total ETA of Delivery
"service_type": "motorcycle" # service type (motorcycle,mv_small,mv_medium,mv_large)
},
courier: "Happy Move x JoyRide" # delivery Service Courier
} {
"tripId": "iyTe445testID", # unique tripId
"delivery_details": {
"driver_name": "juan dela crus", # driver full name
"plate_number": "TEST 777", # PlateNumber
"mobile_number": "+639951104834", # Driver phone number
"service_type": "motorcycle" # service type (motorcycle,mv_small,mv_medium,mv_large)
"lat": 121.000000 # latitude
"lng": 111.111111 # longitude
},
"courier": "Happy Move x JoyRide" # delivery Service Courier
} {
"tripId": "iyTe445testID", # unique tripId
"url": "https://pod.happymove.com.ph/image.png", # proof of delivery image url
"merchantReference": "testingMerchant", # Reference number sent by merchant
"type": "pickupProof", # possible values (pickupProof, dropoffProof)
} {
"newTripId": "13wrIjOYlpHu0a", # new unique tripId after rebooking the delivery
"oldTripId": "buzoswEhEyI4Um", # tripId from the rebooked delivery
"merchantReference": "testingMerchant", # Reference number sent by merchant
}| url | string 'Webhook Endpoint example: https://happymove.com.ph/webhook' |
| type | string Enum: "trip_details" "driver_location" "pod_details" "rebook_details" 'webhook type trip_details = to receive booking details driver_location = to receive driver current location pod_details = to receive Proof of delivery details rebook_details = to receive new tripID after performing rebook process on HM online ordering platform ' |
{- "type": "trip_details"
}