Dellyman API
We are a travels and transport logistics technology provider, aggregating logistics companies and their assets into a single platform where customers and logistics companies can transact business. Our main purpose is to solve the problems of under-capacity and non-availability of logistics assets, security, timeliness and efficiency of last mile deliveries.
We've designed the Dellyman API such that consumption for the team will as easy as possible.
Demo URL:
https://dev.dellyman.com/api/v3.0/LoginLive URL:
https://dellyman.com/api/v3.0/LoginAttribute | Type | Required | Description |
---|---|---|---|
string | Mandatory | Registered email |
Sample Request
{ "Email": "[email protected]", "Password": "123456" }
Sample Response
{ "ResponseCode": 100, "ResponseMessage": "You are logged in sucessfully", "CustomerID": 2, "Email": "[email protected]", "Name": "Dellybot", "PhoneNumber": "1234567890", "IsActive": 1, "Currency": "N", "CustomerAuth": "0MV8zed5THoVXPo1Y1M3Ucg0agLUFLf5" }
This api is used to get available companies details for booking your order.
Demo URL:
https://dev.dellyman.com/api/v3.0/GeQuotesLive URL:
https://dellyman.com/api/v3.0/GeQuotesAttribute | Type | Required | Description |
---|---|---|---|
CustomerID | Integer | Mandatory | Customer id |
PaymentMode | String | Mandatory | It must be pickup or delivery |
VehicleID | Integer | Mandatory | select vehicle id you need |
PickupRequestedTime | String | Mandatory | Give the Preferred Time Slot For pickup |
PickupRequestedDate | String | Mandatory | Give the Preferred Date Slot For Pickup |
PickupAddress | String | Mandatory | Select The Proper Address Detail For the Pickup |
DeliveryAddress | String | Mandatory | Select The Proper Address Detail For the delivery |
ProductAmount | String | Mandatory | Enter product amount |
PackageWeight | String | Mandatory | package weight |
IsProductOrder | Integer | Mandatory | |
IsProductInsurance | Integer | Mandatory | Product has insurance |
InsuranceAmount | Integer | Mandatory | Insurance Amount |
IsInstantDelivery | Integer | Mandatory | If you need an instant delivery |
Sample Request
{ "CustomerID": 2, "CustomerAuth": "0MV8zed5THoVXPo1Y1M3Ucg0agLUFLf5", "PaymentMode": "pickup", "VehicleID": 1, "PickupRequestedTime": "06 AM to 09 PM", "PickupRequestedDate": "07/04/2021", "PickupAddress": "1 Allen Avenue, Ikeja, Nigeria", "DeliveryAddress": [ "100 Allen Avenue, Ikeja, Nigeria" ], "ProductAmount": [], "PackageWeight": [], "IsProductOrder": 0, "IsProductInsurance": 0, "InsuranceAmount": 0, "IsInstantDelivery": 0 }
Sample Response
{ "ResponseCode": 100, "ResponseMessage": "Success", "Companies": [ { "CompanyID": 762, "Name": "Dellyman", "TotalPrice": 2000, "OriginalPrice": 2000, "SavedPrice": 0, "PayablePrice": 2000, "DeductablePrice": 0, "AvgRating": 0, "NumberOfOrders": 0, "NumberOfRating": 0 } ], "RejectedCompanies": {}, "Products": {}, "Distance": 2 }
This is an API for get vehicle list.
Demo URL:
https://dev.dellyman.com/api/v3.0/VehiclesLive URL:
https://dellyman.com/api/v3.0/VehiclesSample Response
[ { "VehicleID": "1", "Name": "Bike" }, { "VehicleID": "2", "Name": "Tricycle" }, { "VehicleID": "3", "Name": "Mini Van" }, { "VehicleID": "4", "Name": "Vans/Buses" }, { "VehicleID": "5", "Name": "Cars" } ]
This is an API for customer logout.
Demo URL:
https://dev.dellyman.com/api/v3.0/LogoutLive URL:
https://dellyman.com/api/v3.0/LogoutAttribute | Type | Required | Description |
---|---|---|---|
CustomerID | Mandatory | Integer | |
CustomerAuth | Mandatory | String |
Sample Request
{ "CustomerID": 2, "CustomerAuth":"0MV8zed5THoVXPo1Y1M3Ucg0agLUFLf5" }
Sample Response
{ "ResponseCode": 100, "ResponseMessage": "Customer logged out sucessfully." }
This is an API to book your order towards the company you selected.
This is an API to book your order towards the company you selected.
Demo URL:
https://dev.dellyman.com/api/v3.0/BookOrderLive URL:
https://dellyman.com/api/v3.0/BookOrderAttribute | Type | Required | Description |
---|---|---|---|
CustomerID | Integer | Mandatory | Customer id |
CustomerAuth | String | Mandatory | Customer auth token you got while login |
CompanyID | Integer | Mandatory | Company id |
PaymentMode | String | Mandatory | It must be pickup or delivery |
Vehicle | Integer | Mandatory | Vehicle id you selected |
PickUpContactName | String | Mandatory | Give The Pickup Contact Name |
PickUpContactNumber | String | Mandatory | Give The Appropriate Pickup Contact Number |
PickUpGooglePlaceAddress | String | Mandatory | Select the proper Address Detail For the Pickup |
PickUpLandmark | String | Optional | If you want to give landmark |
IsInstantDelivery | integer | Optional | If yes 1 for instant delivery |
PickUpRequestedDate | String | Optional | If you need any preferd date |
PickUpRequestedTime | String | Optional | If you need preferred time |
DeliveryRequestedTime | String | Optional | Your preferred delivery time |
Packages | Array | Mandatory | Give package information inside this |
PackageDescription | Array | Mandatory | Package description in detail |
DeliveryContactName | Array | Mandatory | Give The Appropriate delivery Contact Name |
DeliveryContactNumber | String | Mandatory | Give The Appropriate delivery Contact Number |
DeliveryGooglePlaceAddress | String | Mandatory | Select The Proper Address Detail For the delivery |
DeliveryLandmark | String | Optional | Landmark near your location |
Sample Request
{ "CustomerID": 2, "CustomerAuth": "dfSVhQ8jQh0trncHkdELvwHgskI1Rj0w", "CompanyID": 762, "PaymentMode": "pickup", "Vehicle": "Bike", "PickUpContactName": "Administrator", "PickUpContactNumber": "07068937300", "PickUpGooglePlaceAddress": "3 Allen Avenue Lagos Lagos", "PickUpLandmark": " ", "IsInstantDelivery": 1, "PickUpRequestedDate": "", "PickUpRequestedTime": "", "DeliveryRequestedTime": "", "Packages": [ { "PackageDescription": "Allen/OUT/00024", "DeliveryContactName": "Babatope Ajepe", "DeliveryContactNumber": "07055667789", "DeliveryGooglePlaceAddress": "73 Allen Avenue Ikeja Lagos", "DeliveryLandmark": "" } ] }
Sample Response
{ "ResponseCode": 100, "ResponseMessage": "Success", "OrderID": 50378, "Reference": "ORD44914" }
This is an API to get the status of your order based on the order ID.
Demo URL:
https://dev.dellyman.com/api/v3.0/GetOrderLive URL:
https://dellyman.com/api/v3.0/GetOrderAttribute | Type | Required | Description |
---|---|---|---|
CustomerID | Integer | Mandatory | Customer id |
CustomerAuth | String | Mandatory | Customer auth token you got while login |
OrderID | Integer | Mandatory | Order ID you need to check status |
Sample Request
{ "CustomerID": 2, "CustomerAuth":"dfSVhQ8jQh0trncHkdELvwHgskI1Rj0w", "OrderID": 50378 }
Sample Response
{ "OrderID": 50378, "OrderCode": "ORD44914", "OrderStatus": "PENDING", "OrderPrice": 2000, "FixedDeliveryCharge": null, "PayAt": "1", "IsProductOrder": 0, "BankCode": null, "BankName": null, "AccountNumber": null, "OrderedAt": "2021-09-28 09:10:53", "AssignedAt": null, "PickedUpAt": null, "DeliveredAt": null, "CancelledAt": null, "RejectedAt": null, "Packages": [ { "PackageID": 51770, "IsDelivered": 0, "PackageDescription": "Allen/out/00024", "PackageDistance": 2, "PackageWeight": 0, "ProductAmount": null, "PickUpContactName": "Administrator", "PickUpContactNumber": "07068937300", "PickUpGooglePlaceAddress": "3 Allen Avenue Lagos Lagos", "PickUpLandmark": " ", "PickUpLatitude": 6.5996672, "PickUpLongitude": 3.3535716, "PickUpExpectedAt": "2021-09-28 09:10:00", "DeliveryContactName": "Babatope Ajepe", "DeliveryContactNumber": "07055667789", "DeliveryGooglePlaceAddress": "73 Allen Avenue Ikeja Lagos", "DeliveryLandmark": "", "DeliveryLatitude": 6.6029869, "DeliveryLongitude": 3.3509942, "DeliveryExpectedAt": "2021-09-28 10:10:00", "DeliveryCode": 71819 } ] }
It is the API for fetching the pending orders, here pending orders mean orders which are not picked up by any delivery guy.
Demo URL:
https://dev.dellyman.com/api/v3.0/CustomerPendingOrdersLive URL:
https://dellyman.com/api/v3.0/CustomerPendingOrdersAttribute | Type | Required | Description |
---|---|---|---|
CustomerID | Integer | Mandatory | CustomerID |
CustomerAuth | String | Mandatory | Customer auth token you got while login |
Example Request
{ "CustomerID": 855, "CustomerAuth": {{customer_auth}}, }
Example Response
{ "PendingOrders": [], "ResponseCode": 100, "ResponseMessage": "Pending List" }
This is an API for track your order.
Demo URL:
https://dev.dellyman.com/api/v3.0/TrackOrderLive URL:
https://dellyman.com/api/v3.0/TrackOrderAttribute | Type | Required | Description |
---|---|---|---|
CustomerID | Integer | Mandatory | Customer id |
CustomerAuth | String | Mandatory | Customer auth token you got while login |
OrderID | Integer | Mandatory | Order ID you need to check status |
Sample Request
{ "CustomerID": 2, "CustomerAuth":"dfSVhQ8jQh0trncHkdELvwHgskI1Rj0w", "OrderID": 50378 }
Sample Response
{ "OrderID": 50378, "OrderCode": "ORD44914", "OrderStatus": "CANCEL-REQUEST", "OrderedAt": "2021-09-28 09:10:53", "AssignedAt": null, "PickedUpAt": null, "DeliveredAt": null, "CancelledAt": null, "RejectedAt": null, "RiderName": "", "RiderLatitude": null, "RiderLongitude": null, "Packages": [ { "PackageDescription": "Allen/out/00024", "IsDelivered": 0, "PickupLatitude": 6.5996672, "PickUpLongitude": 3.3535716, "DeliveryLatitude": 6.6029869, "DeliveryLongitude": 3.3509942, "Distance": 2 } ] }
It is the API for fetching the completed orders for a specific customer.
Demo URL:
https://dev.dellyman.com/api/v3.0/CustomerCompletedOrdersLive URL:
https://dellyman.com/api/v3.0/CustomerCompletedOrdersAttribute | Type | Required | Description |
---|---|---|---|
CustomerID | integer | Mandatory | CustomerID |
CustomerAuth | string | Mandatory | Customer auth token you got while login |
Example Request
{ "CustomerID": 855, "CustomerAuth": {{customer_auth}}, }
Example Response
{ "ResponseCode" : 100, "ResponseMessage" : "Success", "OrderList" : [ { "OrderID" : 1033, "OrderCode" : "ORD982", "OrderDate" : "31st Mar, 05:07 AM", "OrderPrice" : 600, "PayableAmount" : "600.00", "IsPaid" : 0, "IsCashOnDelivery" : 1, "IsPostpaid" : 0, "OrderStatus" : "COMPLETED", "TrackingID" : "7755711379", "CompanyName" : "Delly Logistics Africa Ltd", "CompanyUserName" : "Dedicated Rider", "CompanyUserPhoneNumber" : "08060031112", "IsFeedbackGiven" : 0, "AssignedAt" : "30th Mar, 04:47 PM", "PickedUpAt" : "30th Mar, 04:48 PM", "DeliveredAt" : "30th Mar, 04:55 PM", "Packages" : [ { "PackageID" : 447, "PackageDescription" : "Mobile", "IsDelivered" : 1, "PickUpContactName" : "Buvana", "PickUpContactNumber" : "09999999999", "PickUpGooglePlaceID" : "ChIJxbIsETKSOxAR1sq7a7okwEk", "PickUpGooglePlaceAddress" : "100 Allen Ave, Allen, Ikeja, Nigeria", "PickUpCity" : "Ikeja", "PickUpLandmark" : "", "PickUpLatitude" : "6.6053719", "PickUpLongitude" : "3.3499115", "PickUpRequestedTime" : "06 AM to 09 PM", "DeliveryContactName" : "Priya", "DeliveryContactNumber" : "01111111111", "DeliveryGooglePlaceID" : "ChIJ5YYP_DCSOxARwbUTuyiQrQM", "DeliveryGooglePlaceAddress" : "50 Allen Ave, Allen, Ikeja, Nigeria", "DeliveryCity" : "Ikeja", "DeliveryLandmark" : "", "DeliveryLatitude" : "6.6009044", "DeliveryLongitude" : "3.3527054", "DeliveryRequestedTime" : "06 AM to 09 PM", "DeliveryCode" : "19976", "DeliveryPicture" : "", "DeliveryDate" : "30th Mar, 04:55 PM" } ] } ] }
This is an API for fetching list of order placed by a customer.
Demo URL:
https://dev.dellyman.com/api/v3.0/FetchOrdersLive URL:
https://dellyman.com/api/v3.0/FetchOrdersAttribute | Type | Required | Description |
---|---|---|---|
CustomerID | Integer | Mandatory | Customer id |
CustomerAuth | String | Mandatory | Customer auth token you got while login |
Status | String | Mandatory | Select any you want to filter |
FilterFrom | Date | Optional | Start date |
FilterTo | Date | Optional | End date |
Sample Request
{ "CustomerID": 2, "CustomerAuth":"dfSVhQ8jQh0trncHkdELvwHgskI1Rj0w", "Status": "PENDING,ASSIGNED,INTRANSIT,COMPLETED,CANCELLED", "FilterFrom": null, "FilterTo": null }
Sample Response
{ "ResponseCode": 100, "ResponseMessage": "Success", "Orders": { "Pending": [ { "OrderID" : 50378, "OrderCode" : "ORD44914", "OrderStatus" : "PENDING", "CreatedThrough" : "api", "OrderPrice" : 2000, "FixedDeliveryCharge" : null, "PayAt" : 1, "IsPaid" : null, "IsProductOrder" : 0, "BankCode" : null, "BankName" : null, "AccountNumber" : null, "OrderedAt" : "2021-09-28 09:10:53", "AssignedAt" : null, "PickedUpAt" : null, "DeliveredAt" : null, "CancelledAt" : null, "RejectedAt" : null, "Packages": [ { "PackageID" : 51770, "PackageDistance" : 2, "PackageWeight" : 0, "PackageDescription" : "Allen/out/00024", "IsDelivered" : 0, "ProductAmount" : null, "PickUpContactName" : "Administrator", "PickUpContactNumber" : "07068937300", "PickUpGooglePlaceAddress" : "3 Allen Avenue Lagos Lagos", "PickUpLandmark" : " ", "PickUpLatitude" : "6.5996672", "PickUpLongitude" : "3.3535716", "PickUpDate" : null, "DeliveryContactName" : "Babatope Ajepe", "DeliveryContactNumber" : "07055667789", "DeliveryGooglePlaceAddress" : "73 Allen Avenue Ikeja Lagos", "DeliveryLandmark" : "", "DeliveryLatitude" : "6.6029869", "DeliveryLongitude" : "3.3509942", "DeliveryDate" : null, "DeliveryCode" : "71819" } ] } ], "Assigned": [], "Intransit": [ { "OrderID": 21008, "OrderCode": "ORD18611", "OrderStatus": "INTRANSIT", "CreatedThrough": "web", "OrderPrice": 500, "FixedDeliveryCharge": null, "PayAt": 1, "IsPaid": "1", "IsProductOrder": 1, "BankCode": "057", "BankName": "ZENITH BANK", "AccountNumber": "1016622972", "OrderedAt": "2020-10-30 07:42:31", "AssignedAt": "2020-10-30 08:15:58", "PickedUpAt": "2020-10-30 08:17:18", "DeliveredAt": null, "CancelledAt": null, "RejectedAt": null, "Packages": [ { "PackageID": 20819, "PackageDistance": 2.5, "PackageWeight": 0, "PackageDescription": "Sample", "IsDelivered": 0, "ProductAmount": 2000, "PickUpContactName": "A", "PickUpContactNumber": "09999999999", "PickUpGooglePlaceAddress": "1 Allen Avenue, Ikeja, Nigeria", "PickUpLandmark": "", "PickUpLatitude": "6.601838", "PickUpLongitude": "3.3514863", "PickUpDate": null, "DeliveryContactName": "B", "DeliveryContactNumber": "08888888888", "DeliveryGooglePlaceAddress": "100 Allen Avenue, Ikeja, Nigeria", "DeliveryLandmark": "", "DeliveryLatitude": "6.6053397", "DeliveryLongitude": "3.3498556", "DeliveryDate": null, "DeliveryCode": "97136" } ] } ], "Completed": [ { "OrderID": 20992, "OrderCode": "ORD18595", "OrderStatus": "COMPLETED", "CreatedThrough": "web", "OrderPrice": 500, "FixedDeliveryCharge": null, "PayAt": 1, "IsPaid": "1", "IsProductOrder": 0, "BankCode": null, "BankName": null, "AccountNumber": null, "OrderedAt": "2020-10-29 18:19:54", "AssignedAt": "2020-10-29 18:30:33", "PickedUpAt": "2020-10-29 18:38:28", "DeliveredAt": "2020-10-29 18:40:10", "CancelledAt": null, "RejectedAt": null, "Packages": [ { "PackageID": 20803, "PackageDistance": 2.5, "PackageWeight": 0, "PackageDescription": "Sample", "IsDelivered": 1, "ProductAmount": null, "PickUpContactName": "A", "PickUpContactNumber": "09999999999", "PickUpGooglePlaceAddress": "1 Allen Avenue, Ikeja, Nigeria", "PickUpLandmark": "", "PickUpLatitude": "6.601838", "PickUpLongitude": "3.3514863", "PickUpDate": null, "DeliveryContactName": "B", "DeliveryContactNumber": "08888888888", "DeliveryGooglePlaceAddress": "100 Allen Avenue, Ikeja, Nigeria", "DeliveryLandmark": "", "DeliveryLatitude": "6.6053397", "DeliveryLongitude": "3.3498556", "DeliveryDate": "2020-10-29 18:40:10", "DeliveryCode": "72464" } ] }, ] }, ] } ] } }
This endpoint is called to get the list of states.
Demo URL:
https://dev.dellyman.com/api/v3.0/StatesLive URL:
https://dellyman.com/api/v3.0/StatesExample Response
[ { "StateID": "1", "Name": "Abia" }, { "StateID": "2", "Name": "Abuja" }, { "StateID": "3", "Name": "Adamawa" }, { "StateID": "4", "Name": "AkwaIbom" }, { "StateID": "5", "Name": "Anambra" }, { "StateID": "6", "Name": "Bauchi" }, ]
This endpoint is called to get the list of cities.
Test URL:
https://dev.dellyman.com/api/v3.0/Cities?StateID=1Live URL:
https://dellyman.com/api/v3.0/Cities?StateID=1Sample Request
{ "StateID": "10" }
Example Response
[ { "CityID": "1", "CityName": "City 1" }, { "CityID": "2", "CityName": "City 2" } ]
Authorization Keys
To generate the authorization keys, login to your Dellyman customer dashboard, under the settings tab/page, and submit a webhook url. You will find three(3) items:
- Webhook url
- Webhook/API secret
- API key
Copy the API Key and the webhook/API secret keys generated.
Authentication/Authorization
For a user to successfully gain access to the API endpoints, the API key is required in all the request.
Add the API generated from the previous step as an authorization header in all your request to the API endpoints;
Request header:
'Content-Type': 'application/json',
'Authorization': 'Bearer < Your API Key>',
Webhook Signature
In other to confirm the webhook events/notification you receive from Dellyman, A header property 'X-Dellyman-Signature' is being sent in all webhook going out of our application.
This signature is encrypted with the hmac sha256 algorithm and it’s a combination of your webhook url, webhook/api secret. To generate same signature encrypt your webhook your and you webhook/api secret
Example:
Webhook url: https://xyz.com/webhook-response
Webhook secret: cd5maxwgubpj83xjwfxbujngjn75dmus0iycasuulz
hash_hmac('sha256', 'webhook_url', 'webhook_secret');
Compare the result of your encryption with the signature found in the request header, if both token matches then its confirmed treat as a Dellyman event else, the webhook response might be a suspicious request.