Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

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

Release History

Release History

This version
History Node

2.0.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
fosdick-2.0.0.tar.gz (6.8 kB) Copy SHA256 Checksum SHA256 Source Feb 1, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting