The Fosdick API Client for Python
Project description
The Fosdick API Client for Python is a client library for accessing Fosdick APIs.
Features
Get a list of inventory levels for products
Get a list of returned orders/items
Get a list of shipped orders
Get a list of shipped line item
Get a list of receipts
Post order
Installation
Install with pip:
pip install fosdick
Example Usage
from fosdick.api import FosDickAPI
api = FosDickAPI(<YOUR_FOSDICK_API_USERNAME>, <YOUR__FOSDICK_API_PASSWORD>)
Get shipments
Parameters
Parameter Name |
Required |
Type(max length) |
Description |
|---|---|---|---|
page |
No |
numeric |
Page number of items to display. |
per_page |
No |
numeric |
The number of items to return per page (default: all returns returned) |
updated_at_min |
No |
datetime |
Only retrieve shipments updated since |
updated_at_max |
No |
datetime |
Only retrieve shipments updated before |
shipped_on_min |
No |
datetime |
Only retrieve shipments shipped since |
shipped_on_max |
No |
datetime |
Only retrieve shipments shipped before |
fosdick_order_num |
No |
varchar(17) |
Search by Fosdick order number |
external_order_num |
No |
varchar(50) |
Search by External order number |
shipments = api.get_shipments()
# sample example response
[
{
"fosdick_order_num": "00101201506460001",
"external_order_num": "0011001",
"ship_date": "2015-02-06",
"trackings": [
{
"tracking_num": "9274899998944522337",
"carrier_code": "92",
"carrier_name": "FEDEX SMART POST"
},
{
"tracking_num": "9274899998944599999",
"carrier_code": "92",
"carrier_name": "FEDEX SMART POST"
}
]
},
{
"fosdick_order_num": "00101201506460002",
"external_order_num": "0011002",
"ship_date": "2015-02-06",
"trackings": [
{
"tracking_num": "1Z44526832337",
"carrier_code": "3E",
"carrier_name": "UPS GROUND"
}
]
}
]
Get inventory
Parameters
Parameter Name |
Required |
Type(max length) |
Description |
|---|---|---|---|
page |
No |
numeric |
Page number of products to display. 0 based index. |
per_page |
No |
numeric |
The number of products to return per page (default: all products returned) |
updated_at_min |
No |
datetime |
Only retrieve inventory updated since |
updated_at_max |
No |
datetime |
Only retrieve inventory updated before |
inventory = api.get_inventory()
# example response for inventory
[
{
"sku" : "EXAMPSKU",
"available" : true,
"ct_quantity" : 200,
"nv_quantity" : 0,
"other_quantity" : 15,
"committed" : 10,
"available_quantity": 205,
"updated_at":"2014-03-12T13:17:30-04:00"
},
{
"sku" : "EXAMPSKU2",
"available" : false,
"ct_quantity" : 20,
"nv_quantity" : 0,
"other_quantity" : 0,
"committed" : 20,
"available_quantity": 0,
"updated_at":"2014-03-12T13:17:30-04:00"
}
]
Get returned orders/items
Parameters
Parameter Name |
Required |
Type(max length) |
Description |
|---|---|---|---|
page |
No |
numeric |
Page number of items to display. |
per_page |
No |
numeric |
The number of items to return per page (default: all returns returned) |
updated_at_min |
No |
datetime |
Only retrieve returns updated since |
updated_at_max |
No |
datetime |
Only retrieve returns updated before |
returned_at_min |
No |
datetime |
Only retrieve returns since |
returned_at_max |
No |
datetime |
Only retrieve returns before |
returned_items = api.get_all_returns()
# example response for returned_items
[
{
"fosdick_order_num" : "00101201456768765",
"external_order_num" : "9912A",
"sku" : "EXAMPSKU",
"line_item" : 1,
"external_line_item" : "9912A-1",
"return_date" : "2014-03-12T9:00:30-04:00",
"quantity_returned" : 1,
"quality" : 0,
"reason_code" : 2,
"reason_description" : "Defective",
"action_requested" : "Refund",
"updated_at" : "2014-03-12T13:17:30-04:00"
},
{
"fosdick_order_num" : "00101201456769988",
"external_order_num" : "10012R",
"sku" : "EXAMPSKU",
"line_item" : 1,
"external_line_item" : "10012R-3",
"return_date" : "2014-03-12T9:00:30-04:00",
"quantity_returned" : 2,
"quality" : 1,
"reason_code" : 5,
"reason_description" : "Never Ordered",
"action_requested" : "Refund",
"updated_at" : "2014-03-12T13:17:30-04:00"
}
]
Get shipped line item
Parameters
Parameter Name |
Required |
Type(max length) |
Description |
|---|---|---|---|
page |
No |
numeric |
Page number of items to display. |
per_page |
No |
numeric |
The number of items to return per page (default: all returns returned) |
updated_at_min |
No |
datetime |
Only retrieve shipments updated since |
updated_at_max |
No |
datetime |
Only retrieve shipments updated before |
shipped_on_min |
No |
datetime |
Only retrieve shipments shipped since |
shipped_on_max |
No |
datetime |
Only retrieve shipments shipped before |
fosdick_order_num |
No |
varchar(17) |
Search by Fosdick order number |
external_order_num |
No |
varchar(50) |
Search by External order number |
shipped_detail = api.get_shipment_details()
# sample response
[
{
"fosdick_order_num": "00101201506460001",
"fosdick_line_num": "1",
"sku": "PROD001",
"quantity": 1,
"external_order_num": "10011001",
"external_line_num": null,
"external_sku": "PROD001",
"ship_date": "2015-02-06",
"trackings": [
{
"tracking_num": "9274899998944522337",
"carrier_code": "92",
"carrier_name": "FEDEX SMART POST"
},
{
"tracking_num": "9274899998944599999",
"carrier_code": "92",
"carrier_name": "FEDEX SMART POST"
}
]
},
{
"fosdick_order_num": "00101201506460001",
"fosdick_line_num": "2",
"sku": "PROD002",
"quantity": 1,
"external_order_num": "10011001",
"external_line_num": null,
"external_sku": "PROD002",
"ship_date": "2015-02-06",
"trackings": [
{
"tracking_num": "1Z44526832337",
"carrier_code": "3E",
"carrier_name": "UPS GROUND"
}
]
}
]
Get receipts
Parameters
page |
No |
numeric |
Page number of items to display. |
per_page |
No |
numeric |
The number of items to return per page (default: all returns returned) |
transaction_at_min |
No |
datetime |
Only retrieve receipts with transaction time since |
transaction_at_max |
No |
datetime |
Only retrieve receipts with transaction time before |
updated_at_min |
No |
datetime |
Only retrieve receipts updated since |
updated_at_max |
No |
datetime |
Only retrieve receipts updated before |
sku |
No |
varchar(50) |
Search by SKU |
warehouse |
No |
char(2) |
Search by warehouse (CT or NV) |
receipts = api.get_receipts()
# sample response
[
{
"date_time": "2015-10-14T10:46:21-04:00",
"warehouse": "NV",
"receiver_num": 101263,
"container_num": "CONTAINER-t",
"po_num": "2101",
"carrier_name": "UPS GROUND",
"sku": "778888",
"description_product": null,
"qty": 4800,
"num_of_floor_loaded": 60,
"num_of_skids": 3,
"num_of_cartons": 60,
"updated_at": "2015-10-14T10:48:00.75-04:00"
},
{
"date_time": "2015-10-13T13:24:16-04:00",
"warehouse": "NV",
"receiver_num": 101262,
"container_num": null,
"po_num": "2101",
"carrier_name": null,
"sku": "#B0X8",
"description_product": null,
"qty": 1200,
"num_of_floor_loaded": 0,
"num_of_skids": 2,
"num_of_cartons": 0,
"updated_at": "2015-10-13T13:28:07.63-04:00"
}
]
Post order
from fosdick.api import PlaceOrder
# sample order
order_item = {
"UnitycartOrderPost":{
"ClientName":"TEST",
"ClientCode":"ad54LIADFJ2754",
"Test":"y",
"Order":[
{
"Subtotal":"0.00",
"Total":"0.00",
"ExternalID":"LMTB-100466",
"AdCode":"DTC",
"ShipFirstname":"tes1",
"ShipLastname":"test2",
"ShipAddress1":"test_address",
"ShipCity":"agat",
"ShipState":"ID",
"ShipPhone":"",
"ShipZip":"96915",
"Email":"test@gmail.com",
"UseAsBilling":"y",
"PaymentType":"5",
"Items":{
"Item":[
{
"NumOfPayments":"1",
"Inv":"811934020015",
"Qty":1,
"PricePer":"0.00"
}
]
}
}
]
}
}
# y to denote test order.
test_flag = 'y'
order = PlaceOrder(order_item, <CLIENT_CODE>, <CLIENT_NAME>, test_flag)
# to place the order
item = order.create_order()
# sample response
{
"UnitycartOrderResponse":{
"@xml:lang":"en-US",
"OrderResponse":{
"@ExternalID":"ABCD-100467",
"SuccessCode":"True",
"OrderNumber":"603326202469"
}
}
}
Support
Python 2.6 and 2.7, 3.3, 3.4 & 3.5 are supported.
Contributors
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file fosdick-2.0.0.tar.gz.
File metadata
- Download URL: fosdick-2.0.0.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a76efaf7041c8724edfa028625486704c5e1dcebd6c30ee667900edc1565825
|
|
| MD5 |
2d57f9e6e2c1e75f1a9dd06c39e9bd6e
|
|
| BLAKE2b-256 |
b2b6c1846968f7fa7a3af23f534379859caab9bcf7fc1e0b32be0c38fdb401ef
|