Merge pull request #8 from 0x6f736f646f/Sendy_REST

Sendy rest
This commit is contained in:
SammyOina
2020-03-22 14:10:49 +03:00
committed by GitHub
7 changed files with 195 additions and 0 deletions
+1
View File
@@ -82,6 +82,7 @@ celerybeat-schedule
*.sage.py
# Environments
*.env
.env
.venv
env/
+6
View File
@@ -0,0 +1,6 @@
FROM python:3.7-slim
LABEL maintainer="Rodney Osodo"
WORKDIR /app
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt
COPY app.py .
@@ -0,0 +1,24 @@
import requests
values = """
{
"command": "cancel",
"data": {
"api_key": "aOYE0BD3rz03QKPXUx4R",
"api_username": "qualis",
"order_no": "AN82TT944-33W"
},
"request_token_id": "request_token_id"
}
"""
headers = {
'Content-Type': 'application/json'
}
url = 'https://apitest.sendyit.com/v1/#cancel'
request = requests.post(url, data=values, headers=headers)
response_body = request.text
print(response_body)
@@ -0,0 +1,74 @@
import requests
values = """
{
"command": "request",
"data": {
"api_key": "aOYE0BD3rz03QKPXUx4R",
"api_username": "qualis",
"vendor_type": 1,
"rider_phone": "0728561783",
"from": {
"from_name": "Green House",
"from_lat": -1.300577,
"from_long": 36.78183,
"from_description": ""
},
"to": {
"to_name": "KICC",
"to_lat": -1.28869,
"to_long": 36.823363,
"to_description": ""
},
"recepient": {
"recepient_name": "Sender Name",
"recepient_phone": "0709779779",
"recepient_email": "sendyer@gmail.com",
"recepient_notes": "recepient specific Notes"
},
"sender": {
"sender_name": "Sendyer Name",
"sender_phone": "0709 779 779",
"sender_email": "sendyer@gmail.com",
"sender_notes": "Sender specific notes"
},
"delivery_details": {
"pick_up_date": "2016-04-20 12:12:12",
"collect_payment": {
"status": false,
"pay_method": 0,
"amount": 10
},
"return": true,
"note": " Sample note",
"note_status": true,
"request_type": "delivery",
"order_type": "ondemand_delivery",
"ecommerce_order": false,
"express": false,
"skew": 1,
"package_size": [
{
"weight": 20,
"height": 10,
"width": 200,
"length": 30,
"item_name": "laptop"
}
]
}
},
"request_token_id": "request_token_id"
}
"""
headers = {
'Content-Type': 'application/json'
}
url = "https://apitest.sendyit.com/v1/##request"
request = requests.post(url, data=values, headers=headers)
response_body = request.text
print(response_body)
@@ -0,0 +1,24 @@
import requests
values = """
{
"command": "track",
"data": {
"api_key": "aOYE0BD3rz03QKPXUx4R",
"api_username": "qualis",
"order_no": "AN82G6946-4SA"
},
"request_token_id": "request_token_id"
}
"""
headers = {
'Content-Type': 'application/json'
}
url = "https://apitest.sendyit.com/v1/#track"
request = requests.post(url, data=values, headers=headers)
response_body = request.text
print(response_body)
+54
View File
@@ -0,0 +1,54 @@
from flask import Flask, request, jsonify
import requests, json, os
from dotenv import load_dotenv
load_dotenv("secrets.env")
api_key = os.environ.get("api_key")
api_username = os.environ.get("api_username")
app = Flask(__name__)
def make_request(data, url):
data['data']['api_key'] = api_key
data['data']['api_username'] = api_username
headers = {
'Content-Type': 'application/json'
}
request = requests.post(url, data=json.dumps(data), headers=headers)
response_body = request.json()
return response_body
@app.route('/')
def hello():
return "Base url"
@app.route('/requestdelivery', methods=['POST'])
def request_delivery():
delivery_data = request.get_json()
url = "https://apitest.sendyit.com/v1/##request"
response = make_request(delivery_data, url)
return response
@app.route('/canceldelivery', methods=['POST'])
def cancel_delivery():
delivery_data = request.get_json()
url = 'https://apitest.sendyit.com/v1/#cancel'
response = make_request(delivery_data, url)
return response
@app.route('/trackdelivery', methods=['POST'])
def track_delivery():
delivery_data = request.get_json()
url = "https://apitest.sendyit.com/v1/#track"
response = make_request(delivery_data, url)
return response
if __name__ == '__main__':
app.run(host="0.0.0.0", port=5000)
# curl --header "Content-Type: application/json" --request POST --data '{"command": "cancel","data": {"api_key": "aOYE0BD3rz03QKPXUx4R","api_username": "qualis","order_no": "AN82TT944-33W"},"request_token_id": "request_token_id"}' http://localhost:5000/canceldelivery
+12
View File
@@ -0,0 +1,12 @@
certifi==2019.11.28
chardet==3.0.4
click==7.1.1
Flask==1.1.1
idna==2.9
itsdangerous==1.1.0
Jinja2==2.11.1
MarkupSafe==1.1.1
python-dotenv==0.12.0
requests==2.23.0
urllib3==1.25.8
Werkzeug==1.0.0