405 lines
10 KiB
Markdown
405 lines
10 KiB
Markdown
## 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:
|
|
|
|
```javascript
|
|
{
|
|
"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 contact `status_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 delivery `delivery_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 contact
|
|
* `status_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 delivery
|
|
* `delivery_distance:` Distance between the client and the establishment.
|
|
* `elapsed:` Operation execution time.
|
|
|
|
### Answer JSON KO:
|
|
|
|
```javascript
|
|
{
|
|
"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:
|
|
|
|
```javascript
|
|
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:
|
|
|
|
```javascript
|
|
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:
|
|
|
|
```javascript
|
|
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:
|
|
|
|
```javascript
|
|
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.
|