The Agoyu API is organized around REST. Our API has predictable resource-oriented URLs, accepts application/json request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
You can use the Agoyu API in sandbox mode, which doesn't affect your live data or interact with the production networks. The endpoint you use to send the request determines whether the request is live mode or test mode.
Agoyu can optionally sign the events it sends to your endpoints by including a signature in each event’s Signature
header. This allows you to verify that the events were sent by Agoyu, not by a third party. You can verify signatures either using our official libraries, or manually using your own solution.
Before you can verify signatures, you need to retrieve your endpoint’s secret from your Dashboard’s Events settings. Select an endpoint that you want to obtain the secret for, then click the eyes
in Signature Key text box to show it.
Agoyu generates a unique key for each endpoint. If you use the same endpoint for both test and live API keys, note that the secret is different for each one. Additionally, if you use multiple endpoints, you must obtain a secret for each one you want to verify signatures on. After this setup, Agoyu starts to sign each event it sends to the endpoint.
To verify the signatures:
Signature
header value for each HMAC key configured for your account. Compare the one you computed using your application’s key(s). If there is no match, then the notification may be compromised and it should not be trusted. Only one match is required.The code example to demonstrates the process of implementing this message authenticity check.
const computeHashSignature = (secret, payload) => {
let hmac = crypto.createHmac('sha256', secret)
hmac.write(payload)
hmac.end()
const hmacHashed = hmac.read().toString('base64')
return hmacHashed
}
const isValidHash = (secret, payload, verify) => {
const isValid = computeHashSignature(secret,payload) == verify
return isValid && crypto.timingSafeEqual(Buffer.from(verify), Buffer.from(computeHashSignature(secret,payload)))
}
app.all('/event/agoyu', async function (req, res) {
const data = req.body
const hashedInRequest = req.headers.Signature ? req.headers.Signature : req.headers.signature
if (!hashedInRequest) {
return res.status(400).json({
message: `Event wasn't include a signature.`
})
}
const secretKey = "put your signature key here"
if (!checkEventHash(secretKey, JSON.stringify(data), hashedInRequest)) {
return res.status(400).json({
message: `Agoyu was sent an invalid signature.`
})
}
// process the request...
return res.json({
message: `Mover has been received event.`
})
})
Webhooks allow you to automate custom backend actions in response to the events that happen in a booking flow.
Events are our way of letting you know when something interesting happens. When an event occurs, we will find out the subscribers and broadcast events to them.
If you registered a webhook endpoint to receive that event, we send it to your endpoint as part of a HTTP (POST | PUT | PATH) request.
Sample payload with event booking that webhook will notify to client
{
"event": "WEBHOOK_EVENT_BOOKING_SEND_A_NEW_MESSAGE_SLUG",
"booking": {
"services": {
"REFERENCE_BOOKING_TYPE_MOVING": {
"weight": "3323",
"price": 552
},
"REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
"price": 442,
"info": {
"pickup_day": 3
},
"vehicle_details": [
{
"id": 799,
"title": null,
"booking_id": 113227,
"booking_vehicle_id": 649,
"brand": null,
"image_id": 3410,
"image_path": "booking/2022/10/moder12.jpeg",
"model": "K6",
"modification": false,
"notes": null,
"transport_method": null,
"year": 2022,
"created_at": null,
"updated_at": null,
"make": "Hispano-Suiza",
"vehicle_size": 46,
"class": "sedan",
"series": "Cabriolet",
"price": 0
}
]
},
"REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
"price": 223322,
"weight": "2000"
}
},
"id": 113227,
"user_id": 1331,
"from_street_address": "Central Park, New York, NY, US",
"from_apartment": null,
"from_city": "New York",
"from_state": "NY",
"from_zip": null,
"from_elevator_stair_id": 16,
"to_street_address": "Asheville, NC, US",
"to_apartment": null,
"to_city": "Asheville",
"to_state": "NC",
"to_zip": "288",
"to_elevator_stair_id": 16,
"contact_name": "pendragon",
"contact_email": "[email protected]",
"contact_phone": "11233332",
"mile": "694.00",
"price": "994.00",
"created_at": "2022-10-24 09:08:31",
"updated_at": "2022-10-24 09:08:33",
"status": 80,
"consumer_note": null,
"from_country": "US",
"to_country": "US",
"is_international": false,
"from_formatted_address": "Central Park, New York, NY, USA",
"to_formatted_address": "Asheville, NC, USA",
"move_date": "2022-10-22"
},
"message": {
"mediaUrl": "https://media.us1.twilio.com/MEad0b2d96b45341ab2233ccde7d9d4c89?Expires=1669002300&Signature=FSI3p3Z-avZYuCUSHnYYIY-ZXy7t6ZxXpQLzBYCKlOoXimyNBel7lFT0W2eLrDimCpCQcshzTXEkGNDVGBpekPkbKwia3FCI3qvVkZJca3uYHN7762d0iCcGUY3SmZtRGVK3mJjmNnBCzSa9lUOfnqhHrvY05ddMSLEbE8VsOAxRDTwno47K1vG6Jdv0pWl6dkNNCVTsaJd8iClwGDLB~h17Y9I5-jK8doxYS3tkcPots42jp0Kck8Ogn9rhTUYsmwlES~beK67UwokMcJyBIrwh-DJ3StPlAiK5I2JnwpczJQ7BDzit7voRKzkv-FxDppinM5XvgPRe3XjrmVyebw__&Key-Pair-Id=APKAJWF6YVTMIIYOF3AA",
"message": "hello"
}
}
Sample payload with event quotation that webhook will notify to client
{
"event": "WEBHOOK_EVENT_QUOTATION_SEND_A_NEW_MESSAGE_SLUG",
"quotation": {
"id": 669,
"book_temporary_id": 6958,
"consumer_id": 1331,
"from_street_address": null,
"to_street_address": null,
"move_date": null,
"weight": null,
"expired_date": "2022-10-26 08:52:47",
"status": "QUOTED",
"created_at": "2022-10-24 08:52:47",
"updated_at": "2022-10-25 03:51:05",
"is_lock": false,
"is_third_party_services": false,
"packing_type": null,
"packing": false,
"unpacking": false
},
"booking": {
"user_id": 1331,
"created_at": "2022-10-21 08:03:28",
"updated_at": "2022-10-24 08:52:47",
"id": 6958,
"mile": "387.00",
"weight": null,
"is_international": true,
"move_date": "2022-10-22",
"services": {
"REFERENCE_BOOKING_TYPE_MOVING": {
"weight": "3323",
"price": 552
},
"REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
"price": 442,
"vehicle_details": [
{
"id": 799,
"title": null,
"booking_id": 113227,
"booking_vehicle_id": 649,
"brand": null,
"image_id": 3410,
"image_path": "booking/2022/10/moder12.jpeg",
"model": "K6",
"modification": false,
"notes": null,
"transport_method": null,
"year": 2022,
"created_at": null,
"updated_at": null,
"make": "Hispano-Suiza",
"vehicle_size": 46,
"class": "sedan",
"series": "Cabriolet",
"price": 0
}
]
},
"REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
"price": 223322,
"weight": "2000"
}
}
},
"message": {
"mediaUrl": "https://media.us1.twilio.com/MEad0b2d96b45341ab2233ccde7d9d4c89?Expires=1669002300&Signature=FSI3p3Z-avZYuCUSHnYYIY-ZXy7t6ZxXpQLzBYCKlOoXimyNBel7lFT0W2eLrDimCpCQcshzTXEkGNDVGBpekPkbKwia3FCI3qvVkZJca3uYHN7762d0iCcGUY3SmZtRGVK3mJjmNnBCzSa9lUOfnqhHrvY05ddMSLEbE8VsOAxRDTwno47K1vG6Jdv0pWl6dkNNCVTsaJd8iClwGDLB~h17Y9I5-jK8doxYS3tkcPots42jp0Kck8Ogn9rhTUYsmwlES~beK67UwokMcJyBIrwh-DJ3StPlAiK5I2JnwpczJQ7BDzit7voRKzkv-FxDppinM5XvgPRe3XjrmVyebw__&Key-Pair-Id=APKAJWF6YVTMIIYOF3AA",
"message": "hello"
}
}
Read check the signatures to verify that the events were sent by Agoyu, not by a third party after you already received webhook events.
Consumers are increasingly making decisions about which movers or services to use after conducting a moving booking comparison. The Real-time Rate API is intended to allow individual movers to provide their rate for a booking in order to assist consumers in selecting the best mover.
Using the Real-time Rate API, the mover will receive booking information and immediately calculate the rate to display on the Agoyu website.
We currently have 2 authentication mechanisms: Authentication Code & Authentication JWT
To see details of how this type of authentication works, you can go here
To be able to get the token to attach to the url get service information. We need to config the system to get the token
Authentication URL: This is the url point for the system to get the token
Authentication Method: This is the method when system request API Authentication URL
Authentication Key Get Token: This is the key for the system to get the token when request API Authentication URL
Authentication Body: This is the body when system request API Authentication URL
Authentication Header: This is the headers when system request API URL to get service information
Example: setup config to get token
Login to your mover portal, select Real-time Rate API on the sidebar menu.
In the API Endpoint section, enter your API endpoint.
Sample payload of Real-time Rate API
{
"hhgService": {
"packing": 1234,
"unpacking": 4321,
"price": 1111
},
"airPrice": 1111,
"vehiclePrice": 44,
"vehicles": [
{
"cost": 123,
"pricing": [
{
"name": "1-Day Pickup",
"days": 1,
"quote": 111
},
{
"name": "3-Day Pickup",
"days": 3,
"quote": 333
},
{
"name": "5-Day Pickup",
"days": 5,
"quote": 555
},
{
"name": "7-Day Pickup",
"days": 7,
"quote": 777
}
]
},
{
"cost": 234,
"pricing": [
{
"name": "1-Day Pickup",
"days": 1,
"quote": 111
},
{
"name": "3-Day Pickup",
"days": 3,
"quote": 333
},
{
"name": "5-Day Pickup",
"days": 5,
"quote": 555
},
{
"name": "7-Day Pickup",
"days": 7,
"quote": 777
}
]
},
{
"cost": 345,
"pricing": [
{
"days": 1,
"quote": 111
},
{
"days": 3,
"quote": 333
},
{
"days": 5,
"quote": 555
},
{
"days": 7,
"quote": 777
}
]
}
]
}
Sample setup of Real-time Rate API
According to the example illustrated above, we have 2 types to enter the data field.
Example:
When a customer makes a booking, a request is sent to the mover, and they can compare the rate charged by each mover.
from | string Moving from address. | ||||||||||||||||||||||||||||||||||||||||||||
to | string Moving to address. | ||||||||||||||||||||||||||||||||||||||||||||
object (PingBackMovingServiceRequest) The information of booking for a transport service. | |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
object (PingBackMovingServiceAirRequest) The information of booking for an air-shipment service. | |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
Array of objects (PingBackVehicleItemServiceRequest) The information of booking for a vehicle service. | |||||||||||||||||||||||||||||||||||||||||||||
Array
|
{- "from": "234 Dallas St, Dallas, WI 54733, US",
- "to": "323 W 34th St., New York, NY 10001, US",
- "service_moving": {
- "weight": 2340,
- "weight_method": "REFERENCE_WEIGHT_METHOD_EXACT_WEIGHT",
- "furniture": {
- "bedroom": 0,
- "bathroom": 0,
- "living_room": 0,
- "dining_room": 0,
- "kitchen": 0,
- "laundry_room": 0,
- "car_garage": 0,
- "additional_storage": 0,
- "basement_full": 0,
- "storage_shed": 0,
- "patio_deck": 0
}, - "rooms": [
- {
- "room_type": "string",
- "room_info": [
- {
- "type": "string",
- "name": "string",
- "amount": 0,
- "unit": 0
}
], - "room_name": "string",
- "video_url": "string",
- "weight": 0
}
]
}, - "service_air_shipment": {
- "weight": 2340
}, - "service_vehicle": [
- {
- "make": "BMW",
- "model": "750Li",
- "year": 2021
}
]
}
{- "movingPrice": 4300,
- "airPrice": 9800,
- "vehiclePrice": 3400,
- "vehicles": [
- {
- "cost": 1200
}, - {
- "cost": 1200
}, - {
- "cost": 1000
}
]
}
An open API, also called public API, is an application programming interface made publicly available to software developers. Open APIs are published on the internet and shared freely, allowing the owner of a network-accessible service to give a universal access to consumers.
Open API use the OAuth 2.0 protocol for authentication and authorization.
To work with the public API, you must first get permission from Agoyu to use this feature. After being granted permission, go to OPEN API page in mover system > App > create a new App.
Login to your mover portal, select Open API on the sidebar menu.
In API tab. Click Create a new App button to create an app for you
In modal add application. Enter the app name to create a new app
Once the user completes the steps to create the app, the user has all the information to use Open API.
In the Permission section of app detail, user can self-authorize their account to use what features
Permissions will be mapped to the api as follows:
In the Properties section of app detail, users can get the app's information to authenticate into the system.
The token endpoint is used by the client to obtain an access token by presenting its authorization grant.
Note: The request for an access token that must be made from the server to avoid exposing client secret.
Once you have an access token, Open Api uses Bearer authentication to process your access token.
To send a request with the Bearer Token authorization header, you need to make an HTTP request and provide your Bearer Token with the "Authorization: Bearer {token}" header
client_id required | number Client ID of App |
client_secret required | string Client Secret of App |
{- "client_id": 0,
- "client_secret": "string"
}
{- "access_token": "string",
- "expires_in": 0,
- "token_type": "string"
}
Store all reference information of the Open API system.
For example, want to get the status of booking , the user can call api references and get the bookingStatues.
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "groupThirdParty": [ ],
- "countries": [ ],
- "typeResidences": [ ],
- "shippingVehicles": [ ],
- "bookingServices": { },
- "vehicleBrand": [ ],
- "transportMethod": [ ],
- "cubeSheetData": [ ],
- "slugPage": { },
- "vehicleReferenceMakes": [ ],
- "weightType": [ ],
- "weightMethod": [ ],
- "furnitures": { },
- "lifeStyles": [ ],
- "roomType": [ ],
- "bookingSteps": { },
- "roomStatus": { },
- "movingPlanStatues": [ ],
- "movingPlanTab": [ ],
- "mappingMovingTabWithStatus": { },
- "quotationStatuses": [ ],
- "bookingStatues": [ ],
- "bookingServiceStatues": [ ],
- "packingType": [ ],
- "notificationTypes": [ ],
- "locations": [ ]
}
Returns a list of your active service areas
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "REFERENCE_SERVICE_AREAS_TYPE_DEPARTURE": [
- 0
], - "REFERENCE_SERVICE_AREAS_TYPE_DESTINATION": [
- 0
]
}
Update a list of your active service areas
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
object (ServiceAreaSelected) | |||||
|
{- "selected": {
- "REFERENCE_SERVICE_AREAS_TYPE_DEPARTURE": [
- 0
], - "REFERENCE_SERVICE_AREAS_TYPE_DESTINATION": [
- 0
]
}
}
{- "error": false,
- "message": "OK"
}
Returns a list of your backout date. The backout date are returned sorted by creation date, with the most recently created backout date appearing first.
page required | number current page |
limit required | number number of item / page |
query | string filter Blackout Date by name |
active | boolean filter Blackout Date by active |
start_date | string <date> filter Blackout Date by start date |
end_date | string <date> filter Blackout Date by end date |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "id": 0,
- "name": "string",
- "comment": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "repeat": 0,
- "repeat_display": "string",
- "active": true,
- "username": "string"
}
]
Creates a new Blackout Date
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
name required | string The name given to a Blackout Date. |
comment | string The comment given to a Blackout Date. |
start_date required | string <date> Start date given to a Blackout Date. |
end_date required | string <date> End date given to a Blackout Date. |
repeat required | number Repeat id in field repeatTypes (api References) |
active | boolean Active given to a Blackout Date. |
{- "name": "string",
- "comment": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "repeat": 0,
- "active": true
}
{- "error": false,
- "message": "OK"
}
Retrieves the details of an existing Blackout Date. Supply the unique Blackout Date ID from either a Blackout Date creation request or the Backout Date list, and system will return the corresponding Backout Date information.
id required | number ID of Blackout Date to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "id": 0,
- "name": "string",
- "comment": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "repeat": 0,
- "repeat_display": "string",
- "active": true,
- "username": "string"
}
Updates the specific Blackout Date by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
id required | any id that need to be updated |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
name required | string The name given to a Blackout Date. |
comment | string The comment given to a Blackout Date. |
start_date required | string <date> Start date given to a Blackout Date. |
end_date required | string <date> End date given to a Blackout Date. |
repeat required | number Repeat id in field repeatTypes (api References) |
active | boolean Active given to a Blackout Date. |
{- "name": "string",
- "comment": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "repeat": 0,
- "active": true
}
{- "error": false,
- "message": "OK"
}
Delete a Blackout Date
id required | any id that need to be delete |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "error": false,
- "message": "OK"
}
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
attachment required | string <binary> File upload |
callback_url required | string |
{- "file_valid": "string",
- "file_invalid": "string"
}
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
attachment required | string <binary> File upload |
callback_url required | string |
{- "file_valid": "string",
- "file_invalid": "string"
}
When uploading, the file is large, so the system takes a while to process, when the processing is complete, the system will return the result to the callback url that the user entered.
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
attachment required | string <binary> File upload |
callback_url required | string |
{- "file_valid": "string",
- "file_invalid": "string"
}
Returns a list of your moving rate hhe. The moving rate hhe are returned sorted by creation date, with the most recently created moving rate hhe appearing first.
page required | number current page |
limit required | number number of item / page |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "id": 0,
- "from_location": 0,
- "to_location": 0,
- "rate": 0,
- "sit": 0,
- "acc": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Retrieves the details of an existing moving rate HHE. Supply the unique moving rate HHE ID from either a moving rate HHE creation request or the moving rate HHE list, and system will return the corresponding moving rate HHE information.
id required | any ID of Moving Rate HHE to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "id": 0,
- "from_location": 0,
- "to_location": 0,
- "rate": 0,
- "sit": 0,
- "acc": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates the specific Moving Rate HHE by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
id required | any ID of Moving Rate HHE to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
rate | number |
sit | number |
acc | number |
{- "rate": 0,
- "sit": 0,
- "acc": 0
}
{- "error": false,
- "message": "OK"
}
Returns a list of your moving rate air shipment. The moving rate air shipment are returned sorted by creation date, with the most recently created moving rate air shipment appearing first.
page required | number current page |
limit required | number number of item / page |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "id": 0,
- "from_location": 0,
- "to_location": 0,
- "rate_uab": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Retrieves the details of an existing moving rate air shipment. Supply the unique moving rate air shipment ID from either a moving rate air shipment creation request or the moving rate air shipment list, and system will return the corresponding moving rate air shipment information.
id required | number ID of Moving Rate Air Shipment to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "id": 0,
- "from_location": 0,
- "to_location": 0,
- "rate_uab": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates the specific Moving Rate Air Shipment by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
id required | number |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
rate_uab | number |
{- "rate_uab": 0
}
{- "error": false,
- "message": "OK"
}
Returns a list of your moving rate vehicle. The moving rate vehicle are returned sorted by creation date, with the most recently created moving rate vehicle appearing first.
page required | number current page |
limit required | number number of item / page |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "id": 0,
- "from_location": 0,
- "to_location": 0,
- "compact_small_car": 0,
- "standard_size_sedan": 0,
- "oversize_commercial_vehicle": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Retrieves the details of an existing moving rate vehicle. Supply the unique moving rate vehicle ID from either a moving rate vehicle creation request or the moving rate vehicle list, and system will return the corresponding moving rate vehicle information.
id required | number ID of Moving Rate Vehicle to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "id": 0,
- "from_location": 0,
- "to_location": 0,
- "compact_small_car": 0,
- "standard_size_sedan": 0,
- "oversize_commercial_vehicle": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates the specific Moving Rate Vehicle by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
id required | number ID of Moving Rate Vehicle to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
compact_small_car | number |
standard_size_sedan | number |
oversize_commercial_vehicle | number |
{- "compact_small_car": 0,
- "standard_size_sedan": 0,
- "oversize_commercial_vehicle": 0
}
{- "error": false,
- "message": "OK"
}
Returns a list of your active service areas
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "REFERENCE_SERVICE_AREAS_TYPE_DEPARTURE": [
- {
- "name": "string",
- "code": "string"
}
], - "REFERENCE_SERVICE_AREAS_TYPE_DESTINATION": [
- {
- "name": "string",
- "code": "string"
}
]
}
Update a list of your active service areas
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
from_state | Array of strings code in field states (api References) |
to_state | Array of strings code in field states (api References) |
{- "from_state": [
- "string"
], - "to_state": [
- "string"
]
}
{- "error": false,
- "message": "OK"
}
Returns a list of your backout date. The backout date are returned sorted by creation date, with the most recently created backout date appearing first.
page required | any current page |
limit required | any number of item / page |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "id": null,
- "comment": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "repeat": 0,
- "repeat_display": "string",
- "created_by": {
- "username": "string",
- "email": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a new Blackout Date
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
comment | string The comment given to a Blackout Date. |
repeat required | number Repeat id in field repeatTypes (api References) |
start_date required | string <date> Start date given to a Blackout Date. |
end_date required | string <date> End date given to a Blackout Date. |
{- "comment": "string",
- "repeat": 0,
- "start_date": "2019-08-24",
- "end_date": "2019-08-24"
}
{- "error": false,
- "message": "OK"
}
Retrieves the details of an existing Backout Date. Supply the unique Backout Date ID from either a Backout Date creation request or the Backout Date list, and system will return the corresponding Backout Date information.
id required | any ID of Blackout Date to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "id": null,
- "comment": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "repeat": 0,
- "repeat_display": "string",
- "created_by": {
- "username": "string",
- "email": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates the specific Blackout Date by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
id required | number id that need to be updated |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
comment | string The comment given to a Blackout Date. |
repeat required | number Repeat id in field repeatTypes (api References) |
start_date required | string <date> Start date given to a Blackout Date. |
end_date required | string <date> End date given to a Blackout Date. |
{- "comment": "string",
- "repeat": 0,
- "start_date": "2019-08-24",
- "end_date": "2019-08-24"
}
{- "error": false,
- "message": "OK"
}
Delete a Blackout Date
id required | number id that need to be delete |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "error": false,
- "message": "OK"
}
Returns a list of your moving rate vehicle. The moving rate vehicle are returned sorted by creation date, with the most recently created moving rate vehicle appearing first.
page required | number current page |
limit required | number number of item / page |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "id": 0,
- "from_mile": 0,
- "to_mile": 0,
- "compact_small_car": 0,
- "standard_size_sedan": 0,
- "oversize_commercial_vehicle": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Retrieves the details of an existing moving rate vehicle. Supply the unique moving rate vehicle ID from either a moving rate vehicle creation request or the moving rate vehicle list, and system will return the corresponding moving rate vehicle information.
id required | number ID of Moving Rate Vehicle to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "id": 0,
- "from_mile": 0,
- "to_mile": 0,
- "compact_small_car": 0,
- "standard_size_sedan": 0,
- "oversize_commercial_vehicle": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates the specific Moving Rate Vehicle by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
id required | number ID of Moving Rate Vehicle to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
compact_smart_vehicle | number |
standard_sedan_size_vehicle | number |
oversize_commercial_vehicle | number |
{- "compact_smart_vehicle": 0,
- "standard_sedan_size_vehicle": 0,
- "oversize_commercial_vehicle": 0
}
{- "error": false,
- "message": "OK"
}
Returns a list of your booking. The booking are returned sorted by creation date, with the most recently created booking appearing first.
page required | number current page |
limit required | number number of item / page |
booking_id | number filter booking by id |
status | number filter booking by status |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "services": {
- "REFERENCE_BOOKING_TYPE_MOVING": {
- "price": 0,
- "weight": 0,
- "status": 0
}, - "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
- "price": 0,
- "weight": 0,
- "status": 0
}, - "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
- "price": 0,
- "status": 0,
- "info": {
- "pickup_day": 0
}, - "vehicle_details": [
- {
- "id": 0,
- "price": 0
}
]
}
}, - "id": 0,
- "moving_plan_id": 0,
- "is_international": true,
- "move_date": "2019-08-24",
- "mile": 0,
- "from_formatted_address": "string",
- "to_formatted_address": "string",
- "contact_name": "string",
- "username": "string",
- "status": "string",
- "status_value": "string",
- "avatar_link": "string"
}
]
Retrieves the details of an existing booking. Supply the unique booking ID from either a booking creation request or the booking list, and system will return the corresponding booking information.
id required | number ID of Booking to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "services": {
- "REFERENCE_BOOKING_TYPE_MOVING": {
- "price": 0,
- "weight": 0,
- "packing_fee": 0,
- "unpacking_fee": 0,
- "third_party_items": [
- {
- "id": 0,
- "category_id": 0,
- "name": "string",
- "description": "string",
- "none_cost": "string",
- "cost": 0,
- "is_charge_by_time": 0,
- "third_party_categories": {
- "id": 0,
- "name": "string"
}
}
], - "third_party_total_cost": 0,
- "packing_type": 0,
- "estimate_fee": 0,
- "furniture": {
- "bedroom": 0,
- "bathroom": 0,
- "living_room": 0,
- "dining_room": 0,
- "kitchen": 0,
- "laundry_room": 0,
- "car_garage": 0,
- "additional_storage": 0,
- "basement_full": 0,
- "storage_shed": 0,
- "patio_deck": 0
}, - "weight_type": 0,
- "weight_method": 0,
- "life_style": 0,
- "status": 0,
- "custom_packing_fee": 0,
- "rooms": [
- {
- "id": 0,
- "room_name": "string",
- "room_type": "string",
- "video_url": "string",
- "status": "string",
- "room_info": [
- {
- "type": "string",
- "name": "string",
- "amount": 0,
- "images_uris": [ ],
- "unit": 0
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
- "price": 0,
- "weight": 0,
- "status": 0
}, - "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
- "price": 0,
- "transport_method": 0,
- "info": {
- "pickup_day": 0
}, - "status": 0,
- "vehicle_details": [
- {
- "id": 0,
- "title": "string",
- "booking_id": 0,
- "booking_vehicle_id": 0,
- "image_path": "string",
- "modification": true,
- "make": "string",
- "model": "string",
- "year": 0,
- "notes": "string",
- "transport_method": 0,
- "vehicle_size": 0,
- "class": "string",
- "series": "string",
- "price": 0,
- "vehicle_size_name": "string",
- "vehicle_size_type": "string"
}
]
}
}, - "id": "string",
- "user_id": "string",
- "from_street_address": "string",
- "from_apartment": "string",
- "from_city": "string",
- "from_state": "string",
- "from_zip": "string",
- "from_elevator_stair_id": 0,
- "to_street_address": "string",
- "to_apartment": "string",
- "to_city": "string",
- "to_state": "string",
- "to_zip": "string",
- "to_elevator_stair_id": 0,
- "contact_name": "string",
- "contact_email": "string",
- "contact_phone": "string",
- "status": 0,
- "mile": 0,
- "weight": 0,
- "price": 0,
- "status_updated_by": 0,
- "consumer_note": "string",
- "from_country": "string",
- "to_country": "string",
- "is_international": true,
- "from_formatted_address": "string",
- "to_formatted_address": "string",
- "move_date": "2019-08-24",
- "created_at": "string",
- "updated_at": "string",
- "from_elevator": "string",
- "to_elevator": "string",
- "consumer": {
- "id": 0,
- "username": "string",
- "first_name": "string",
- "last_name": "string",
- "mid_name": "string",
- "email": "string",
- "avatar_link": "string",
- "phone": "string",
- "status_active": true
}
}
Confirm a booking
id required | number ID of Booking to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
services required | Array of strings Items Enum: "REFERENCE_BOOKING_TYPE_MOVING" "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT" "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING" |
{- "services": [
- "REFERENCE_BOOKING_TYPE_MOVING"
]
}
{- "error": false,
- "message": "OK"
}
Make a offer
id required | number ID of Booking to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
object (MakeOfferServicesRequest) | |||||||||||||||||||||||||||||
|
{- "services": {
- "REFERENCE_BOOKING_TYPE_MOVING": {
- "weight": 0,
- "packing_fee": 0,
- "unpacking_fee": 0,
- "estimate_fee": 0,
- "custom_packing_fee": 0
}, - "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
- "price": 9000,
- "weight": 0
}, - "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
- "vehicle_details": [
- {
- "id": 0,
- "price": 0,
- "notes_offer": "string"
}
]
}
}
}
{- "error": false,
- "message": "OK"
}
Returns a list of your messages. The messages are returned sorted by creation date, with the most recently created messages appearing first.
page required | number current page |
limit required | number number of item / page |
booking_id required | number filter booking by id |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "author": "string",
- "body": "string",
- "media": [
- {
- "category": "string",
- "filename": "string",
- "content_type": "string",
- "sid": "string",
- "size": 0
}
], - "dateCreated": {
- "date": "string",
- "timezone_type": 0,
- "timezone": "string"
}
}
]
Chat with a consumer
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
body required | string Chat message |
booking_id required | number Booking Id |
{- "body": "string",
- "booking_id": 0
}
{- "error": false,
- "message": "OK"
}
Returns a list of your quotation. The quotation are returned sorted by creation date, with the most recently created quotation appearing first.
page required | number current page |
limit required | number number of item / page |
quotation_id | number filter quotation by id |
isOffered | boolean filter quotation by offer |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "resultEstimation": {
- "services": {
- "REFERENCE_BOOKING_TYPE_MOVING": {
- "weight": 0
}, - "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
- "weight": 0
}, - "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
- "vehicle_details": [
- {
- "image_id": 0,
- "image_path": "string",
- "modification": true,
- "make": "string",
- "model": "string",
- "year": 0,
- "notes": "string",
- "vehicle_size": 0,
- "class": "string",
- "series": "string"
}
]
}
}, - "is_international": true,
- "move_date": "2019-08-24T14:15:22Z",
- "mile": 0,
- "final_booking_cost": 0
}, - "totalOffer": 0,
- "id": "string",
- "status": "string",
- "is_lock": true,
- "expired_date": "2019-08-24T14:15:22Z",
- "remaining_time": "2019-08-24T14:15:22Z",
- "current_date": "2019-08-24T14:15:22Z"
}
]
Retrieves the details of an existing quotation. Supply the unique quotation ID from either a quotation creation request or the quotation list, and system will return the corresponding quotation information.
id required | number ID of Quotation to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
{- "resultEstimation": {
- "services": {
- "REFERENCE_BOOKING_TYPE_MOVING": {
- "weight": 0,
- "furniture": {
- "bedroom": 0,
- "bathroom": 0,
- "living_room": 0,
- "dining_room": 0,
- "kitchen": 0,
- "laundry_room": 0,
- "car_garage": 0,
- "additional_storage": 0,
- "basement_full": 0,
- "storage_shed": 0,
- "patio_deck": 0
}, - "weight_type": 0,
- "weight_method": 0,
- "rooms": [
- {
- "id": 0,
- "room_name": "string",
- "room_type": "string",
- "video_url": "string",
- "status": "string",
- "room_info": [
- {
- "type": "string",
- "name": "string",
- "amount": 0,
- "images_uris": [ ],
- "unit": 0
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
- "weight": 0
}, - "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
- "id": 0,
- "transport_method": 0,
- "info": {
- "pickup_day": 0
}, - "vehicle_details": [
- {
- "title": "string",
- "brand": "string",
- "image_id": 0,
- "image_path": "string",
- "modification": true,
- "make": "string",
- "model": "string",
- "year": 0,
- "notes": "string",
- "transport_method": 0,
- "vehicle_size": 0,
- "class": "string",
- "series": "string"
}
]
}
}, - "is_international": true,
- "move_date": "2019-08-24",
- "mile": 0,
- "final_booking_cost": 0
}, - "id": 0,
- "expired_date": "2019-08-24T14:15:22Z",
- "status": "string",
- "is_expired": true,
- "is_third_party": true,
- "packing_type": 0,
- "packing": true,
- "unpacking": true,
- "is_lock": true,
- "remaining_time": "string",
- "offer": {
- "services": {
- "REFERENCE_BOOKING_TYPE_MOVING": {
- "price": 0,
- "type": "string",
- "note": "string",
- "is_selected": true,
- "packing_fee": 0,
- "unpacking_fee": 0,
- "custom_packing_fee": 0,
- "third_party_items": [
- {
- "id": 0,
- "category_id": 0,
- "name": "string",
- "description": "string",
- "none_cost": "string",
- "cost": 0,
- "is_charge_by_time": 0,
- "third_party_categories": {
- "id": 0,
- "name": "string"
}
}
], - "third_party_total_cost": 0,
- "moving_cost": 0
}, - "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
- "price": 0,
- "note": "string",
- "is_selected": true
}, - "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
- "price": 0,
- "type": "string",
- "note": "string",
- "is_selected": true
}
}, - "totalEstimate": 0,
- "status": "string",
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "is_booked": true
}, - "isOffered": true,
- "current_date": "2019-08-24T14:15:22Z",
- "availableServices": [
- "string"
], - "consumer": {
- "id": 0,
- "username": "string",
- "first_name": "string",
- "last_name": "string",
- "mid_name": "string",
- "email": "string",
- "avatar_link": "string",
- "fullname": "string",
- "status_active": true
}
}
Quote a quotation
id required | number ID of Quotation to return |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
status | string Status name in field bookingServiceStatues (api References) | ||||||||||||||||||||||||||||||||||||||
object (QuoteQuotationServicesRequest) | |||||||||||||||||||||||||||||||||||||||
|
{- "status": "QUOTED",
- "services": {
- "REFERENCE_BOOKING_TYPE_MOVING": {
- "custom_packing_fee": 0,
- "moving_cost": 0,
- "note": "string",
- "packing_fee": 0,
- "unpacking_fee": 0,
- "price": 0,
- "third_party_total_cost": 0,
- "type": "BOUND_THE_QUOTE",
- "third_party_items": [ ]
}, - "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
- "price": 9000,
- "note": "string"
}, - "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
- "price": 1000,
- "note": "string"
}
}
}
{- "error": false,
- "message": "OK"
}
Returns a list of your messages. The messages are returned sorted by creation date, with the most recently created messages appearing first.
page required | number current page |
limit required | number number of item / page |
quotation_id required | number filter quotation by id |
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
[- {
- "author": "string",
- "body": "string",
- "media": [
- {
- "category": "string",
- "filename": "string",
- "content_type": "string",
- "sid": "string",
- "size": 0
}
], - "dateCreated": {
- "date": "string",
- "timezone_type": 0,
- "timezone": "string"
}
}
]
Chat with a consumer
Authorization required | string Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT... The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint |
body required | string Chat message |
quotation_id required | number Quotation Id |
{- "body": "string",
- "quotation_id": 0
}
{- "error": false,
- "message": "OK"
}