10 KiB
10 KiB
ws/orders.py/rider_order_management
Receives
All the parameters that the service receives must be indicated in the body of the request.
Accept
Permits a rider accept an entering order.
Pick Up
Marks the status of the delivery in the order.
Nearby
Marks the status of how close the rider is to the client.
Delivered
Marks a delivered order.
Deny
Denies the entering order.
Assign Order
Permits to assign a specific order to a rider.
Returns if user is RIDER profile:
Depending on the result of the operation, this service can return two different JSON:
{
"status"
:{' '}
true
,
"codtran"
:{' '}
"850c29598f8ceae89e7083d1547faa29"
,
"result"
:{' '}
{
"status"
:{' '}
"Completed"
,
"delivery_time"
:{' '}
"13:12:55"
,
"delivery_type"
:{' '}
"Shipment"
,
"order_category_id"
:{' '}
"FL016"
,
"delivery_distance"
:{' '}
6987
,
"status_code"
:{' '}
1
,
"order_products_codes"
:{' '}
"[\n {\n \"article_id\": 39002,\n \"custom\": []\n },\n
{\n \"article_id\": 39002,\n \"custom\": []\n },\n {\n
\"article_id\": 39002,\n \"custom\": []\n },\n {\n
\"article_id\": 39002,\n \"custom\": []\n }\n]"
,
{' '}
"establishment_coordinates"
:{' '}
{
"latitude"
:{' '}
40.630568688062624
,
"longitude"
:{' '}
-3.585006931371174
}
,
"location_gps"
:{' '}
"{\n \"direction\": {\n \"street\": \"Calle Cádiz \",\n
\"number\": \" 21\",\n \"city\": \"Fuente del Fresno\"\n },\n
\"positioning\": {\n \"lat\": 40.5910124,\n \"lng\": -3.5886479\n
}\n}"
,
"delivery_price"
:{' '}
"1,90 €"
,
"contact"
:{' '}
"{\n \"firstName\": \"Rafael\",\n \"lastName\": \"Surname1
Surname2\",\n \"mail\": \"rafa32gr@gmail.com\",\n \"phone\":
\"643340526\"\n}"
,
"purchase_detail"
:{' '}
"Tortilla Soup\nTortilla Soup\nTortilla Soup\nTortilla Soup\n"
,
"order_code"
:{' '}
101033
,
"date"
:{' '}
"18/08/2021 05:17:56"
,
"transaction_code"
:{' '}
"988569e4f38717f35e0fa5c256fe466b"
,
"status_history"
:{' '}
[
{
"previous_status_code"
:{' '}
12
,
"status_change_date"
:{' '}
"2021-08-18 12:17:57"
,
"new_status"
:{' '}
"Sent to the restaurant"
,
"new_status_code"
:{' '}
0
,
"previous_status"
:{' '}
"New order"
}
,
{
"previous_status_code"
:{' '}
0
,
"status_change_date"
:{' '}
"2021-08-18 12:18:51"
,
"new_status"
:{' '}
"Being picked up"
,
"new_status_code"
:{' '}
11
,
"previous_status"
:{' '}
"Sent to the restaurant"
}
,
{
"previous_status_code"
:{' '}
11
,
"status_change_date"
:{' '}
"2021-08-18 12:19:57"
,
"new_status"
:{' '}
"Being sent"
,
"new_status_code"
:{' '}
10
,
"previous_status"
:{' '}
"Being picked up"
}
,
{
"previous_status_code"
:{' '}
10
,
"status_change_date"
:{' '}
"2021-08-18 12:20:37"
,
"new_status"
:{' '}
"Completed"
,
"new_status_code"
:{' '}
1
,
"previous_status"
:{' '}
"Being sent"
}
]
,
"client_address"
:{' '}
"Fuente del Fresno\nCalle Cádiz Número 21\n643340526"
}
,
"elapsed"
:{' '}
0.12410902976989746
}
Where:
status:Shows if the call has been successful (true) or not (false).codtran:Operation result.result:Data of the last order in course.status:Current status of the order.status_code: Code of the current status of the order.transaction_code: Code of the transaction.order_code:Code of the order.date:Date of the order.client_address:Direction of the client.establishment_coordinates: Coordinates of the establishment that provides the order.location_gps:Coordinates of the direction of the delivery place.delivery_time:Hour established for the delivery.delivery_type:Type of delivery (pick up/ sent)order_products_codes:List of code products and its options.purchase_detail:List of product names with its options.order_category_id:Identifier of the establishment that provides the order.contact:Client contactstatus_history:History of status changes in the order.new_status:New status.new_status_code:Code of the new status.previous_status:Previous status.previous_status_code:Previous status code.status_change_date:Hour and time of the status change.delivery_price:Price of the deliverydelivery_distance:Distance between the client and the establishment.status:Current status of the order.status_code: Code of the current status of the order.transaction_code: Code of the transaction.order_code:Code of the order.date:Date of the order.client_address:Direction of the client.establishment_coordinates: Coordinates of the establishment that provides the order.location_gps:Coordinates of the direction of the delivery place.delivery_time:Hour established for the delivery.delivery_type:Type of delivery (pick up/ sent)order_products_codes:List of code products and its options.purchase_detail:List of product names with its options.order_category_id:Identifier of the establishment that provides the order.contact:Client contactstatus_history:History of status changes in the order.new_status:New status.new_status_code:Code of the new status.previous_status:Previous status.previous_status_code:Previous status code.status_change_date:Hour and time of the status change.new_status:New status.new_status_code:Code of the new status.previous_status:Previous status.previous_status_code:Previous status code.status_change_date:Hour and time of the status change.delivery_price:Price of the deliverydelivery_distance:Distance between the client and the establishment.elapsed:Operation execution time.
Answer JSON KO:
{
"status"
:{' '}
false
,
"level"
: <string>
,
"message"
: <string>
,
"error"
: <string>
}
Where:
status:Shows if the call has been successful (true) or not (false).level:Error importance level.message:Error message.error:Sole error code.
Example requests:
Python - Requests:
import requests
url ={' '}
"http://34.121.95.179:80/ws/orders.py/last_order_summary?codigo_pais=ES&user_id=14&session_id=1387-REIfL6Z3FzpGRvc9PYdbFg==&start_date=2018-01-01&end_date=2022-07-07"
payload=
{
}
headers ={' '}
{
'101ObexApiKey'
:{' '}
'FsGwQeqT9TmGmQ2ytEImM6bDAMshRI55'
}
response = requests
.request
(
"GET"
, url
, headers
=headers
, data
=payload
)
print
(response
.text
)
NodeJs - Request:
var request = require('request');
var options = {
'method': 'GET',
'url':
'http://34.121.95.179:80/ws/orders.py/last_order_summary?codigo_pais=ES&user_id=14&session_id=1387-REIfL6Z3FzpGRvc9PYdbFg==&start_date=2018-01-01&end_date=2022-07-07',
'headers': {
'101ObexApiKey': 'FsGwQeqT9TmGmQ2ytEImM6bDAMshRI55'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
JavaScript - Fetch:
var myHeaders = new Headers();
myHeaders.append("101ObexApiKey",
"FsGwQeqT9TmGmQ2ytEImM6bDAMshRI55");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("http://34.121.95.179:80/ws/orders.py/last_order_summary?codigo_pais=ES&user_id=14&session_id=1387-REIfL6Z3FzpGRvc9PYdbFg==&start_date=2018-01-01&end_date=2022-07-07",
requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
CURL:
curl --location --request GET{' '}
'http://34.121.95.179:80/ws/orders.py/last_order_summary?codigo_pais=ES&user_id=14&session_id=1387-REIfL6Z3FzpGRvc9PYdbFg==&start_date=2018-01-01&end_date=2022-07-07'
{' '}
\
--header{' '}
'101ObexApiKey: FsGwQeqT9TmGmQ2ytEImM6bDAMshRI55'
Business logic:
The purpose of this service is to manage the assignments and statuses of a registered order.