NAV Navbar
Logo
Shell HTTP JavaScript Node.JS Python Ruby Java

iQX Amplify API Reference v1.0.0

Welcome to the iQX Amplify API reference. This is a live example of how you can use iQX Amplify to integrate your own e-commerce store or ticketing engine.

The iQX Amplify API is organized around the REST mothodology, and it uses resource-oriented URLs, and common HTTP response codes to indicate API errors. All requests are authenticated using an api-key which can be obtained from your developer dashboard within iQX Amplify.

Base URL

Sandbox Base URL

Terms of service Email: Support

Authentication

Customers

Customers methods provide access to information and operations relating to the customers.

FindCustomers

Code samples

# You can also use wget
curl -X get http://public-api.iqxamplify.com/V1/customers/
GET http://public-api.iqxamplify.com/V1/customers/ HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/customers/',
    method: 'get',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/customers/', { method: 'GET'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.get 'http://public-api.iqxamplify.com/V1/customers/', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.get('http://public-api.iqxamplify.com/V1/customers/', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/customers/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /customers/

Retrieve all customers

Retrieve all customers

Parameters

Parameter In Type Required Description
page query number false The page number ro return

Responses

Status Meaning Description
200 OK Customer object response
default Default Error

Example responses

{
  "pagination": {
    "object_count": 0,
    "page_number": 0,
    "page_size": 0,
    "page_count": 0
  },
  "results": [
    {
      "id": "string",
      "address1": "string",
      "address2": "string",
      "area_code": "string",
      "city": "string",
      "company": "string",
      "country": "string",
      "email": "string",
      "first_name": "string",
      "last_name": "string",
      "modified_date": "2017-05-21T02:25:04Z",
      "orders_count": 0,
      "phone": "string",
      "province": "string",
      "ref_id": "string",
      "signed_up_at": "2017-05-21T02:25:04Z",
      "time_zone_dst_offset": 0,
      "time_zone_id": "string",
      "time_zone_raw_offset": 0,
      "total_spent": 0,
      "user_id": "string",
      "valid_phone_number": true,
      "verified": true,
      "zip": "string"
    }
  ]
}
{}

CreateOrUpdateCustomer

Code samples

# You can also use wget
curl -X post http://public-api.iqxamplify.com/V1/customers/
POST http://public-api.iqxamplify.com/V1/customers/ HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/customers/',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/customers/', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'http://public-api.iqxamplify.com/V1/customers/', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('http://public-api.iqxamplify.com/V1/customers/', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/customers/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /customers/

Create or Update a customer

Create or Update a customer

Parameters

Parameter In Type Required Description
customer body Customer true Add or update customer details

Body parameter

{
  "id": "string",
  "address1": "string",
  "address2": "string",
  "area_code": "string",
  "city": "string",
  "company": "string",
  "country": "string",
  "email": "string",
  "first_name": "string",
  "last_name": "string",
  "modified_date": "2017-05-21T02:25:04Z",
  "orders_count": 0,
  "phone": "string",
  "province": "string",
  "ref_id": "string",
  "signed_up_at": "2017-05-21T02:25:04Z",
  "time_zone_dst_offset": 0,
  "time_zone_id": "string",
  "time_zone_raw_offset": 0,
  "total_spent": 0,
  "user_id": "string",
  "valid_phone_number": true,
  "verified": true,
  "zip": "string"
}

Responses

Status Meaning Description
200 OK Store response
default Default Error

Example responses

{
  "id": "string",
  "address1": "string",
  "address2": "string",
  "area_code": "string",
  "city": "string",
  "company": "string",
  "country": "string",
  "email": "string",
  "first_name": "string",
  "last_name": "string",
  "modified_date": "2017-05-21T02:25:04Z",
  "orders_count": 0,
  "phone": "string",
  "province": "string",
  "ref_id": "string",
  "signed_up_at": "2017-05-21T02:25:04Z",
  "time_zone_dst_offset": 0,
  "time_zone_id": "string",
  "time_zone_raw_offset": 0,
  "total_spent": 0,
  "user_id": "string",
  "valid_phone_number": true,
  "verified": true,
  "zip": "string"
}
{}

FindCustomersById

Code samples

# You can also use wget
curl -X get http://public-api.iqxamplify.com/V1/customers/{id}
GET http://public-api.iqxamplify.com/V1/customers/{id} HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/customers/{id}',
    method: 'get',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/customers/{id}', { method: 'GET'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.get 'http://public-api.iqxamplify.com/V1/customers/{id}', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.get('http://public-api.iqxamplify.com/V1/customers/{id}', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/customers/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /customers/{id}

Retrieve a single customer by id

Retrieve a single customer by id

Parameters

Parameter In Type Required Description
id path string true ID of the customer to get

Responses

Status Meaning Description
200 OK Customer object response
default Default Error

Example responses

{
  "id": "string",
  "address1": "string",
  "address2": "string",
  "area_code": "string",
  "city": "string",
  "company": "string",
  "country": "string",
  "email": "string",
  "first_name": "string",
  "last_name": "string",
  "modified_date": "2017-05-21T02:25:04Z",
  "orders_count": 0,
  "phone": "string",
  "province": "string",
  "ref_id": "string",
  "signed_up_at": "2017-05-21T02:25:04Z",
  "time_zone_dst_offset": 0,
  "time_zone_id": "string",
  "time_zone_raw_offset": 0,
  "total_spent": 0,
  "user_id": "string",
  "valid_phone_number": true,
  "verified": true,
  "zip": "string"
}
{}

Products

Products methods provide access to information and operations relating to the products.

FindProducts

Code samples

# You can also use wget
curl -X get http://public-api.iqxamplify.com/V1/products/
GET http://public-api.iqxamplify.com/V1/products/ HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/products/',
    method: 'get',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/products/', { method: 'GET'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.get 'http://public-api.iqxamplify.com/V1/products/', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.get('http://public-api.iqxamplify.com/V1/products/', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/products/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /products/

Retrieve all products

Retrieve all products

Parameters

Parameter In Type Required Description
page query number false The page number ro return

Responses

Status Meaning Description
200 OK Product object response
default Default Error

Example responses

{
  "pagination": {
    "object_count": 0,
    "page_number": 0,
    "page_size": 0,
    "page_count": 0
  },
  "results": [
    {
      "id": "string",
      "categories": "string",
      "currency": "string",
      "handle": "string",
      "image_source_url": "string",
      "image_thubnail": "string",
      "is_downloadable": true,
      "is_virtual": true,
      "keyword_locked": true,
      "out_stock": true,
      "price": 0,
      "price_compare": 0,
      "product_tags": [
        "string"
      ],
      "published_at": "2017-05-21T02:25:04Z",
      "ref_id": "string",
      "sku": "string",
      "source": "string",
      "tags": "string",
      "title": "string",
      "type": "string",
      "user_id": "string",
      "variants": [
        {
          "attributes": [
            {
              "name": "string",
              "option": "string",
              "slug": "string"
            }
          ],
          "created": "2017-05-21T02:25:04Z",
          "image_source_url": "string",
          "in_stock": true,
          "inventory_management": "string",
          "inventory_quantity": "string",
          "price": 0,
          "price_compare": 0,
          "product_ref_id": "string",
          "ref_id": "string",
          "sku": "string",
          "taxable": true,
          "title": "string",
          "updated": "2017-05-21T02:25:04Z",
          "visible": true,
          "weight": 0
        }
      ],
      "vendor": "string"
    }
  ]
}
{}

CreateOrUpdateProduct

Code samples

# You can also use wget
curl -X post http://public-api.iqxamplify.com/V1/products/
POST http://public-api.iqxamplify.com/V1/products/ HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/products/',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/products/', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'http://public-api.iqxamplify.com/V1/products/', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('http://public-api.iqxamplify.com/V1/products/', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/products/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /products/

Create or Update a product

Create or Update a product

Parameters

Parameter In Type Required Description
product body Product true Add or update products details

Body parameter

{
  "id": "string",
  "categories": "string",
  "currency": "string",
  "handle": "string",
  "image_source_url": "string",
  "image_thubnail": "string",
  "is_downloadable": true,
  "is_virtual": true,
  "keyword_locked": true,
  "out_stock": true,
  "price": 0,
  "price_compare": 0,
  "product_tags": [
    "string"
  ],
  "published_at": "2017-05-21T02:25:04Z",
  "ref_id": "string",
  "sku": "string",
  "source": "string",
  "tags": "string",
  "title": "string",
  "type": "string",
  "user_id": "string",
  "variants": [
    {
      "attributes": [
        {
          "name": "string",
          "option": "string",
          "slug": "string"
        }
      ],
      "created": "2017-05-21T02:25:04Z",
      "image_source_url": "string",
      "in_stock": true,
      "inventory_management": "string",
      "inventory_quantity": "string",
      "price": 0,
      "price_compare": 0,
      "product_ref_id": "string",
      "ref_id": "string",
      "sku": "string",
      "taxable": true,
      "title": "string",
      "updated": "2017-05-21T02:25:04Z",
      "visible": true,
      "weight": 0
    }
  ],
  "vendor": "string"
}

Responses

Status Meaning Description
200 OK Store response
default Default Error

Example responses

{
  "id": "string",
  "categories": "string",
  "currency": "string",
  "handle": "string",
  "image_source_url": "string",
  "image_thubnail": "string",
  "is_downloadable": true,
  "is_virtual": true,
  "keyword_locked": true,
  "out_stock": true,
  "price": 0,
  "price_compare": 0,
  "product_tags": [
    "string"
  ],
  "published_at": "2017-05-21T02:25:04Z",
  "ref_id": "string",
  "sku": "string",
  "source": "string",
  "tags": "string",
  "title": "string",
  "type": "string",
  "user_id": "string",
  "variants": [
    {
      "attributes": [
        {
          "name": "string",
          "option": "string",
          "slug": "string"
        }
      ],
      "created": "2017-05-21T02:25:04Z",
      "image_source_url": "string",
      "in_stock": true,
      "inventory_management": "string",
      "inventory_quantity": "string",
      "price": 0,
      "price_compare": 0,
      "product_ref_id": "string",
      "ref_id": "string",
      "sku": "string",
      "taxable": true,
      "title": "string",
      "updated": "2017-05-21T02:25:04Z",
      "visible": true,
      "weight": 0
    }
  ],
  "vendor": "string"
}
{}

FindProductsById

Code samples

# You can also use wget
curl -X get http://public-api.iqxamplify.com/V1/products/{id}
GET http://public-api.iqxamplify.com/V1/products/{id} HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/products/{id}',
    method: 'get',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/products/{id}', { method: 'GET'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.get 'http://public-api.iqxamplify.com/V1/products/{id}', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.get('http://public-api.iqxamplify.com/V1/products/{id}', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/products/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /products/{id}

Retrieve a single product by id

Retrieve a single product by id

Parameters

Parameter In Type Required Description
id path string true ID of the product to get

Responses

Status Meaning Description
200 OK Product object response
default Default Error

Example responses

{
  "id": "string",
  "categories": "string",
  "currency": "string",
  "handle": "string",
  "image_source_url": "string",
  "image_thubnail": "string",
  "is_downloadable": true,
  "is_virtual": true,
  "keyword_locked": true,
  "out_stock": true,
  "price": 0,
  "price_compare": 0,
  "product_tags": [
    "string"
  ],
  "published_at": "2017-05-21T02:25:04Z",
  "ref_id": "string",
  "sku": "string",
  "source": "string",
  "tags": "string",
  "title": "string",
  "type": "string",
  "user_id": "string",
  "variants": [
    {
      "attributes": [
        {
          "name": "string",
          "option": "string",
          "slug": "string"
        }
      ],
      "created": "2017-05-21T02:25:04Z",
      "image_source_url": "string",
      "in_stock": true,
      "inventory_management": "string",
      "inventory_quantity": "string",
      "price": 0,
      "price_compare": 0,
      "product_ref_id": "string",
      "ref_id": "string",
      "sku": "string",
      "taxable": true,
      "title": "string",
      "updated": "2017-05-21T02:25:04Z",
      "visible": true,
      "weight": 0
    }
  ],
  "vendor": "string"
}
{}

Orders

Orders methods provide access to information and operations relating to the orders.

FindOrders

Code samples

# You can also use wget
curl -X get http://public-api.iqxamplify.com/V1/orders/
GET http://public-api.iqxamplify.com/V1/orders/ HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/orders/',
    method: 'get',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/orders/', { method: 'GET'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.get 'http://public-api.iqxamplify.com/V1/orders/', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.get('http://public-api.iqxamplify.com/V1/orders/', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/orders/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /orders/

Retrieve all orders

Retrieve all orders

Parameters

Parameter In Type Required Description
page query number false The page number ro return

Responses

Status Meaning Description
200 OK Order object response
default Default Error

Example responses

{
  "pagination": {
    "object_count": 0,
    "page_number": 0,
    "page_size": 0,
    "page_count": 0
  },
  "results": [
    {
      "id": "string",
      "customer_ref_id": "string",
      "financial_status": "string",
      "iqx_order": "string",
      "line_items": [
        {
          "attributes": [
            {
              "fulfillable_quantity": 0,
              "price": 0,
              "product_ref_id": 0,
              "ref_id": 0,
              "sku": "string"
            }
          ]
        }
      ],
      "processed_at": "2017-05-21T02:25:04Z",
      "ref_id": 0,
      "subtotal_price": 0,
      "total_price": 0,
      "total_shipping": 0,
      "total_tax": 0,
      "user_id": "string"
    }
  ]
}
{}

CreateOrUpdateOrder

Code samples

# You can also use wget
curl -X post http://public-api.iqxamplify.com/V1/orders/
POST http://public-api.iqxamplify.com/V1/orders/ HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/orders/',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/orders/', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'http://public-api.iqxamplify.com/V1/orders/', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('http://public-api.iqxamplify.com/V1/orders/', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/orders/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /orders/

Create or Update a order

Create or Update a order

Parameters

Parameter In Type Required Description
order body Order true Add or update orders details

Body parameter

{
  "id": "string",
  "customer_ref_id": "string",
  "financial_status": "string",
  "iqx_order": "string",
  "line_items": [
    {
      "attributes": [
        {
          "fulfillable_quantity": 0,
          "price": 0,
          "product_ref_id": 0,
          "ref_id": 0,
          "sku": "string"
        }
      ]
    }
  ],
  "processed_at": "2017-05-21T02:25:04Z",
  "ref_id": 0,
  "subtotal_price": 0,
  "total_price": 0,
  "total_shipping": 0,
  "total_tax": 0,
  "user_id": "string"
}

Responses

Status Meaning Description
200 OK Order response
default Default Error

Example responses

{
  "id": "string",
  "customer_ref_id": "string",
  "financial_status": "string",
  "iqx_order": "string",
  "line_items": [
    {
      "attributes": [
        {
          "fulfillable_quantity": 0,
          "price": 0,
          "product_ref_id": 0,
          "ref_id": 0,
          "sku": "string"
        }
      ]
    }
  ],
  "processed_at": "2017-05-21T02:25:04Z",
  "ref_id": 0,
  "subtotal_price": 0,
  "total_price": 0,
  "total_shipping": 0,
  "total_tax": 0,
  "user_id": "string"
}
{}

FindOrdersById

Code samples

# You can also use wget
curl -X get http://public-api.iqxamplify.com/V1/orders/{id}
GET http://public-api.iqxamplify.com/V1/orders/{id} HTTP/1.1
Host: public-api.iqxamplify.com
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'http://public-api.iqxamplify.com/V1/orders/{id}',
    method: 'get',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('http://public-api.iqxamplify.com/V1/orders/{id}', { method: 'GET'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.get 'http://public-api.iqxamplify.com/V1/orders/{id}', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.get('http://public-api.iqxamplify.com/V1/orders/{id}', params={
  # TODO
})

print r.json()
URL obj = new URL("http://public-api.iqxamplify.com/V1/orders/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /orders/{id}

Retrieve a single order by id

Retrieve a single order by id

Parameters

Parameter In Type Required Description
id path string true ID of the order to get

Responses

Status Meaning Description
200 OK Order object response
default Default Error

Example responses

{
  "id": "string",
  "customer_ref_id": "string",
  "financial_status": "string",
  "iqx_order": "string",
  "line_items": [
    {
      "attributes": [
        {
          "fulfillable_quantity": 0,
          "price": 0,
          "product_ref_id": 0,
          "ref_id": 0,
          "sku": "string"
        }
      ]
    }
  ],
  "processed_at": "2017-05-21T02:25:04Z",
  "ref_id": 0,
  "subtotal_price": 0,
  "total_price": 0,
  "total_shipping": 0,
  "total_tax": 0,
  "user_id": "string"
}
{}

Errors

The Amplify API uses conventional HTTP response codes to indicate the success or failure of an API request. Codes in the 4xx range indicate an error that failed given the information provided and codes in the 5xx range indicate an error with Amplify’s servers (these are quite rare):

Error Code Meaning
400 Bad Request – Your request sucks
401 Unauthorized – Your API key is wrong
403 Forbidden – The kitten requested is hidden for administrators only
404 Not Found – The specified kitten could not be found
405 Method Not Allowed – You tried to access a kitten with an invalid method
406 Not Acceptable – You requested a format that isn’t json
410 Gone – The kitten requested has been removed from our servers
418 I’m a teapot
429 Too Many Requests – You’re requesting too many kittens! Slow down!
500 Internal Server Error – We had a problem with our server. Try again later.
503 Service Unavailable – We’re temporarially offline for maintanance. Please try again later.

Webhooks

The webhooks are used in response to certain actions within Amplify. For example if an order is occuring, we will send a request to your webhook address asking for your system to process the order.

You can register your Webhook endpoint within the amplify API developer integration.

A list of the webhook types are:

General request structure

The general overall structure for the webhook request is as follows:

Example request

{
  "api_version": "v1",
  "created": "213435343",
  "data": {
    "object": {
    }
  },
  "id": "d35e34e333",
  "livemode": true,
  "object": "product",
  "type": "get_product",
  "user_id": "365345"
  }

The type attribute will change depending on the type of webhook being sent.

get_product

The structure of the create refund object is as follows:

Example request

{
  "product_ref_id": "389353",
  "integration_id": "32434543"
}

To respond to this request properly an example response is as follows:

Example response

{
  "_key": "string",
  "categories": "string",
  "currency": "string",
  "handle": "string",
  "image_source_url": "string",
  "image_thubnail": "string",
  "is_downloadable": true,
  "is_virtual": true,
  "keyword_locked": true,
  "out_stock": true,
  "price": 0,
  "price_compare": 0,
  "product_tags": [
    "string"
  ],
  "published_at": "2017-02-12T00:24:35Z",
  "ref_id": "string",
  "sku": "string",
  "source": "string",
  "tags": "string",
  "title": "string",
  "type": "string",
  "user_id": "string",
  "variants": [
    {
      "attributes": [
        {
          "name": "string",
          "option": "string",
          "slug": "string"
        }
      ],
      "created": "2017-02-12T00:24:35Z",
      "image_source_url": "string",
      "in_stock": true,
      "inventory_management": "string",
      "inventory_quantity": "string",
      "price": 0,
      "price_compare": 0,
      "product_ref_id": "string",
      "ref_id": "string",
      "sku": "string",
      "taxable": true,
      "title": "string",
      "updated": "2017-02-12T00:24:35Z",
      "visible": true,
      "weight": 0
    }
  ],
  "vendor": "string"
}

The product will be used to check for inventory numbers and other attributes as needed.

create_customer

The structure of the create refund object is as follows:

Example request

{
  "first_name": "John",
  "last_name": "Smith",
  "email": "[email protected]",
  "phone": "7786734536",
  "profile_id": "32434543",
  "shipping_address_1": "234 Long Lane",
  "shipping_address_2": "#7867",
  "shipping_city": "Vancouver",
  "shipping_state": "BC",
  "shipping_zip": "V6B 0Y1",
  "shipping_country": "CA",
  "integration_id": "32434543"
}

To respond to this request properly an example response is as follows:

Example response

{
  "ref_id": "string"
}

The reference id for amplify to store the new customer against.

create_order

The structure of the create a new order object is as follows:

Example request

{
  "type": "1234566",
  "variation_id": "completed",
  "first_name": "John",
  "last_name": "Smith",
  "email": "[email protected]",
  "phone": "7786734536",
  "shipping_rate": 49.98,
  "shipping_rate_code": 56.00,
  "tax_rate": 0,
  "total": 0,
  "quantity": "234324323",
  "product_ref_id": "234324323",
  "profile_ref_id": "234324323",
  "shipping_address_1": "234 Long Lane",
  "shipping_address_2": "#7867",
  "shipping_city": "Vancouver",
  "shipping_state": "BC",
  "shipping_zip": "V6B 0Y1",
  "shipping_country": "CA",
  "integration_id": "32434543"
}

To respond to this request properly an example response is as follows:

Example response

{
  "customer_ref_id": "1234566",
  "financial_status": "completed",
  "iqx_order": "2314324",
  "line_items": [
    {
      "attributes": [
        {
          "fulfillable_quantity": 2,
          "price": 29.99,
          "product_ref_id": 2137432,
          "ref_id": 1234324234,
          "sku": "123nds3"
        }
      ]
    }
  ],
  "processed_at": "2017-02-12T00:24:35Z",
  "ref_id": 123143242,
  "subtotal_price": 49.98,
  "total_price": 56.00,
  "total_shipping": 0,
  "total_tax": 0,
  "user_id": "234324323"
}

The reference id for amplify to store the new customer against.

get_shipping_class

The structure of the get shipping class object is as follows:

Example request

{
  "shipping_country": "CA",
  "shipping_state": "BC",
  "integration_id": "John",
  "price": "29.99",
  "weight": 0
}

To respond to this request properly an example response is as follows:

Example response

{
  "Standard Shipping": 10.00,
  "Express Shipping": 29.99,
}

A JSON object with addtibute keys as the shipping rate name and the value as the cost of the shipping.

Exit Popup Code Snippet

The exit popup code snippet can be found under the screen popup section within the developer section.

There are three ways in which you can use the code snippet within your HTML page.

Pass all the customer details within the URL

The first way is to include the customer_id and phone variables within the scripts URL:

Example URL

https://iqxstatic.s3.amazonaws.com/modal/snippet.js?iqxUrl=https://public-api.iqxamplify.com/V1/&iqxIntegrationId=18355178&customerId=4561572551&phone=404-333-7777

Call the init function with a callback

The second way is to call the amplifyModal.onInit function and set the customerId and phone number in the callback as follows:

Example Function

amplifyModal.onInit(function(){
  amplifyModal.customerId = "1234565";
  amplifyModal.phone = "778 995 2877";
});

Describe the object the holds the customer information

The last way is to set the path to a global object that contains the customerId an dphone number of the customer. This is useful if you can only set the javascript URL, but not call a funciton on the page. An example is as follows:

Example URL

https://iqxstatic.s3.amazonaws.com/modal/snippet.js?iqxUrl=https://public-api.iqxamplify.com/V1/&iqxIntegrationId=18355178&customerId=4561572551&phone=404-333-7777&customerIdVariableName=GlobalObject.customer_id&phoneVariableName=GlobalObject.checkout.phone