Awkward Styles Print on Demand and Fulfilment API


Awkward Styles, based in Los Angeles, California, is a print on demand dropshipping company helping others to create their style in clothing and home decor since 2014. Working with the industry's best printing solution providers, we offer all printing techniques. We will be happy to assist you during Onboarding process.


Requirements


  • - Requests should be made using JSON form data.
  • - The Content-type header should be set accordingly to Content-type: application/json.
  • - You may access the API over either HTTP or HTTPS, but HTTPS is recommended where possible.


Authentication


Awkward Styles uses HTTP basic authentication for the API requests.

Your username Will be provided by Technical Support Team
Your password Will be provided by Technical Support Team

Order


The orders API allows you to create, view, update, and delete individual, or a batch, of orders.


Create


Create an order

HTTP request

POST    https://vendors.awkwardstyles.com/api/v1/orders.json


Request example

{
  "id": "{order_id}",
  "packing_slip": {
    "url": "https://vendors.awkwardstyles.com/buffer/packing-slip.png"
  },
  "address_to": {
    "address1": "4415 Bingamon Road",
    "address2": "",
    "city": "Cleveland",
    "zip": "44115",
    "country": "US",
    "region": "OH",
    "first_name": "Marina",
    "last_name": "Mauro",
    "email": "[email protected]",
    "phone": "440-520-6265"
  },
  "address_from": {
    "address1": "4415 Bingamon Road",
    "address2": "",
    "city": "Cleveland",
    "zip": "44115",
    "country": "US",
    "region": "OH",
    "company": "Mauro T-Shirt Company",
    "email": "[email protected]",
    "phone": "440-520-6265"
  },
  "shipping": {
    "carrier": "USPS",
    "service": "PRIORITY"
  },
  "items": [
    {
      "id": "{item-id}",
      "sku": "5001-BLACK-L",
      "preview_files": {
        "front": "",
        "back": ""
      },
      "print_files": {
        "front": "",
        "back": ""
      },
      "quantity": 1,
      "printing_technique": "DTF"
    }
  ]
}

Response example

Successful response

{
  "status": "success"
  "id" : "{order_id}",
  "reference_id" : "{Awkward Styles system Order ID}"
}


Failed response

{
  "status": "failed",
  "errors" : [
    {
      "message": "Order ID consist special characters!",
      "code": 404
    }
  ]
}


Get


Get the order

HTTP request

GET    https://vendors.awkwardstyles.com/api/v1/orders/{order_id}.json


Response example

{
    "id": "{Customer order ID}",
    "reference_id": "{order ID in Awkward Styles system}",
    "status": "created",
    "cancellation_reason": "",
    "address_to": {
        "address1": "4415 Bingamon Road",
        "address2": "",
        "city": "Cleveland",
        "zip": "44115",
        "country": "US",
        "region": "OH",
        "first_name": "Marina",
        "last_name": "Mauro",
        "email": "[email protected]",
        "phone": "440-520-6265"
    },
    "address_from": {
        "address1": "4415 Bingamon Road",
        "address2": "",
        "city": "Cleveland",
        "zip": "44115",
        "country": "US",
        "region": "OH",
        "company": "Mauro T-Shirt Company",
        "email": "[email protected]",
        "phone": "440-520-6265"
    },
    "shipping": {
        "carrier": "USPS",
        "service": "PRIORITY",
        "tracking_number": "",
        "tracking_url": "",
        "shipped_time": 2020-11-04
    },
    "items": [
        {
            "id": "{item-id}",
            "sku": "5000-BLACK-L",
            "preview_files": {
                "front": "",
                "back": ""
            },
            "print_files": {
                "front": "",
                "back": ""
            },
            "quantity": 1,
            "printing_technique": "DTF"
        }
    ]
}


Failed response

{
  "status": "failed"
}


Cancel


Cancel the order

HTTP request

POST    https://vendors.awkwardstyles.com/api/v1/order/{order_id}/cancel.json


Response example

Successful response

{
    "status": "success",
    "message" => "Order is canceled successfully."
}


Failed response

{
    "status": "failed",
    "message" => "Order not found"
}


Update Address To


Update Address To to Order

HTTP request

PUT    https://vendors.awkwardstyles.com/api/v1/updateAddressTo/{order_id}.json


Request example

{
     "address_to": {
        "address1": "4415 Bingamon Road",
        "address2": "",
        "city": "Cleveland",
        "zip": "44115",
        "country": "US",
        "region": "OH",
        "first_name": "Marina",
        "last_name": "Mauro",
        "email": "[email protected]",
        "phone": "440-520-6265"
    }
}

Response example

Successful response

{
  "status": "success"
  "id" : "{order_id}"
}


Failed response

{
  "status": "failed",
  "errors" : [
    {
      "message": "Address to properties not found",
      "code": 404
    }
  ]
}


Properties


General properties
id string REQUIRED* Order ID.
reference_id string REQUIRED* A unique string identifier for the Order in Awkward Styles system.
status string AVAILABLE ON GET REQUEST Current Status of the Order.
packing_slip string OPTIONAL Http(s) accessible path to image file (or PDF) for the order Packing Slip

Address to properties
address1 string REQUIRED* First line of recipient address.
address2 string REQUIRED* Second line of recipient address.
city string REQUIRED* Town/City of recipient address.
zip string REQUIRED* Postal/Zipcode of recipient address.
country string REQUIRED* Two-letter country code of the recipient.
region string OPTIONAL Region of recipient address.
first_name string REQUIRED* Recipient First Name.
last_name string REQUIRED* Recipient Last Name.
email string OPTIONAL Recipient Email.
phone string OPTIONAL Recipient's Phone Number.

Address from properties
address1 string REQUIRED* First line of seller address.
address2 string REQUIRED* Second line of seller address.
city string REQUIRED* Town/City of seller address.
zip string REQUIRED* Postal/Zipcode of seller address.
country string REQUIRED* Two-letter country code of the seller.
region string OPTIONAL Region of seller address.
company string REQUIRED* Seller company name.
email string OPTIONAL Seller Email.
phone string OPTIONAL Seller Phone Number.

Shipping properties
carrier string REQUIRED* Shipping Carrier.
service string REQUIRED* Shipping Service.
tracking_number string AVAILABLE ON GET REQUEST
tracking_url string AVAILABLE ON GET REQUEST

Items properties
id string REQUIRED* Item id.
sku string REQUIRED* Item sku.
preview_files array REQUIRED* List of preview image links.
print_files array REQUIRED* List of print image links.
quantity int REQUIRED* Item quantity.
printing_technique string OPTIONAL* Item print type. Example: DTG, DTF

Stock


Stock availability for products


Get


Get all stock

HTTP request

GET    https://vendors.awkwardstyles.com/api/v1/stock.json?limit=10&offset=1


Response example

Successful response

{
    "5000-WHT-S": {
        "stock": 999,
        "status": "in-stock"
    },
    "5000-WHT-M": {
        "stock": 0,
        "status": "out-of-stock"
    },
    "5000-WHT-L": {
        "stock": 0,
        "status": "low-stock"
    },
    "5000-WHT-XL": {
        "stock": 0,
        "status": "discontinued"
    }
}


Failed response

{
  "status": "failed"
}


Get Single


Get single stock by sku

HTTP request

GET    https://vendors.awkwardstyles.com/api/v1/stock/{sku}.json


Response example

Successful response

{
        "stock": 999,
        "status": "in-stock"
}


Failed response

{
    "status": "failed",
    "message" => "SKU not available"
}


Params


Header params
limit int OPTIONAL Limit SKU's
offset int OPTIONAL Offset

HTTP Codes


Standard HTTP response codes

200 OK Request completed successfully.
304 Not modified The request has already been received.
400 Bad Request The request encoding is invalid; the request can't be parsed as valid JSON.
404 Not Found Route or resource is not found. This error is returned when the request hits an undefined route, or if the resource doesn't exist (e.g. has been deleted).
422 Invalid Request The request data is invalid. This includes most of the base-specific validations. You will receive a detailed error message and code pointing to the exact issue.