Difference between revisions of "API Page"

From Spiffy Stores Knowledge Base

m
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
<html>
 
  <style type="text/css">
 
    table.reference {
 
      width: 100%;
 
      border: 1px solid #c9c9c9;
 
    }
 
    table.reference th, table.reference td {
 
      border: 1px solid #c9c9c9;
 
      padding: 10px;
 
    }
 
    table.reference th {
 
      text-align: left;
 
      vertical-align: top;
 
      width: 30%;
 
      font-size: 100%;
 
    }
 
    table.reference td pre {
 
      margin: 10px 0px;
 
      font-size: 80%;
 
      display: block;
 
    }
 
  </style>
 
</html>
 
 
 
Your Spiffy Store comes with a tool for creating basic HTML web pages. Store owners can create any number of pages to hold static content, such as an 'About us' page, a 'Contact us' page, or a page with customer testimonials.
 
Your Spiffy Store comes with a tool for creating basic HTML web pages. Store owners can create any number of pages to hold static content, such as an 'About us' page, a 'Contact us' page, or a page with customer testimonials.
  
Line 63: Line 39:
 
|<pre>{ "published" : true }</pre>
 
|<pre>{ "published" : true }</pre>
 
Indicates whether the page is published and visible to customers.
 
Indicates whether the page is published and visible to customers.
}
+
|}
  
 
== Endpoints ==
 
== Endpoints ==
Line 89: Line 65:
 
|Limit the results to only include pages with the given handle.
 
|Limit the results to only include pages with the given handle.
 
|-
 
|-
!published
+
!published_status
|Limit the results to only include pages with the given published status.
+
|Limit the results to only include pages with the given published status ('published' or 'unpublished').
 
|-
 
|-
 
!created_at_min
 
!created_at_min
Line 138: Line 114:
 
</pre>
 
</pre>
  
=== <code>GET /api/metafields/count.json<br/>GET /api/products/PRODUCT_ID/metafields/count.json<br/>GET /api/variations/VARIATION_ID/metafields/count.json<br/>GET /api/pages/PAGE_ID/metafields/count.json<br/>GET /api/blogs/BLOG_ID/metafields/count.json<br/>GET /api/standard_collections/STANDARD_COLLECTION_ID/metafields/count.json<br/>GET /api/super_collections/SUPER_COLLECTION_ID/metafields/count.json<br/>GET /api/customers/CUSTOMER_ID/metafields/count.json<br/>GET /api/orders/ORDER_ID/metafields/count.json</code> ===
+
=== <code>GET /api/pages/count.json</code> ===
  
Return a count of metafields that belong to the store, product, variation, page, blog, standard collection, super collection, customer or order.
+
Return a page count.
  
 
==== Optional Parameters ====
 
==== Optional Parameters ====
Line 148: Line 124:
 
|Limit the results to only include objects which have an id greater than the given value.
 
|Limit the results to only include objects which have an id greater than the given value.
 
|-
 
|-
!namespace
+
!title
|Limit the results to only include metafields with the given namespace.
+
|Limit the results to only include pages with the given title.
 
|-
 
|-
!key
+
!handle
|Limit the results to only include metafields with the given key.
+
|Limit the results to only include pages with the given handle.
 
|-
 
|-
!value_type
+
!published_status
|Limit the results to only include metafields with the given value_type.
+
|Limit the results to only include pages with the given published status ('published' or 'unpublished').
 
|-
 
|-
 
!created_at_min
 
!created_at_min
|Return only the metafields created after the given date and time. Use the format "2014-12-31 12:00".
+
|Return only the pages created after the given date and time. Use the format "2014-12-31 12:00".
 
|-
 
|-
 
!created_at_max
 
!created_at_max
|Return only the metafields created before the given date and time. Use the format "2014-12-31 12:00".
+
|Return only the pages created before the given date and time. Use the format "2014-12-31 12:00".
 
|-
 
|-
 
!updated_at_min
 
!updated_at_min
|Return only the metafields updated after the given date and time. Use the format "2014-12-31 12:00".
+
|Return only the pages updated after the given date and time. Use the format "2014-12-31 12:00".
 
|-
 
|-
 
!updated_at_max
 
!updated_at_max
|Return only the metafields updated before the given date and time. Use the format "2014-12-31 12:00".
+
|Return only the pages updated before the given date and time. Use the format "2014-12-31 12:00".
 
|}
 
|}
  
Line 173: Line 149:
  
 
<pre>
 
<pre>
GET /api/metafields/count.json
+
GET /api/pages/count.json
  
 
HTTP/1.1 200 OK
 
HTTP/1.1 200 OK
Line 183: Line 159:
 
Examples using filters
 
Examples using filters
  
GET /api/metafields/count.json?namespace=inventory
+
GET /api/pages/count.json?handle=how-to-make-money
  
 
</pre>
 
</pre>
  
=== <code>GET /api/metafields/METAFIELD_ID.json<br/>GET /api/products/PRODUCT_ID/metafields/METAFIELD_ID.json<br/>GET /api/variations/VARIATION_ID/metafields/METAFIELD_ID.json<br/>GET /api/pages/PAGE_ID/metafields/METAFIELD_ID.json<br/>GET /api/blogs/BLOG_ID/metafields/METAFIELD_ID.json<br/>GET /api/standard_collections/STANDARD_COLLECTION_ID/metafields/METAFIELD_ID.json<br/>GET /api/super_collections/SUPER_COLLECTION_ID/metafields/METAFIELD_ID.json<br/>GET /api/customers/CUSTOMER_ID/metafields/METAFIELD_ID.json<br/>GET /api/orders/ORDER_ID/metafields/METAFIELD_ID.json</code> ===
+
=== <code>GET /api/pages/PAGE_ID.json</code> ===
  
Return a single metafield that belongs to the store, product, variation, page, blog, standard collection, super collection, customer or order.
+
Retrieves a single page by its ID.
  
 
==== Optional Parameters ====
 
==== Optional Parameters ====
Line 201: Line 177:
  
 
<pre>
 
<pre>
GET /api/metafields/123456789.json
+
GET /api/pages/123456789.json
  
 
HTTP/1.1 200 OK
 
HTTP/1.1 200 OK
  
 
{
 
{
   "metafield": {
+
   "page": {
 
     "id": 123456789,
 
     "id": 123456789,
     "namespace": "inventory",
+
     "title": "How to make money",
     "key": "stock_location",
+
     "handle": "how-to-make-money",
     "value": "Sydney",
+
     "body": "This is a *sample* page.",
     "value_type": "string",
+
     "body_html": "<p>This is a <b>sample<b> page.",
    "description": "Physical location of stock items",
 
    "owner_id": 36903842,
 
    "owner_resource": "Store",
 
 
     "created_at": "2015-02-19T06:02:51Z",
 
     "created_at": "2015-02-19T06:02:51Z",
     "updated_at": "2015-02-19T06:02:51Z"
+
     "updated_at": "2015-02-19T06:02:51Z",
 +
    "published": true
 
   }
 
   }
 
}
 
}
 
</pre>
 
</pre>
  
=== <code>POST /api/metafields.json<br/>POST /api/products/PRODUCT_ID/metafields.json<br/>POST /api/variations/VARIATION_ID/metafields.json<br/>POST /api/pages/PAGE_ID/metafields.json<br/>POST /api/blogs/BLOG_ID/metafields.json<br/>POST /api/standard_collections/STANDARD_COLLECTION_ID/metafields.json<br/>POST /api/super_collections/SUPER_COLLECTION_ID/metafields.json<br/>POST /api/customers/CUSTOMER_ID/metafields.json<br/>POST /api/orders/ORDER_ID/metafields.json</code> ===
+
=== <code>POST /api/pages.json</code> ===
  
Create a new metafield that belongs to the store, product, variation, page, blog, standard collection, super collection, customer or order.
+
Creates a page.
  
 
==== Example Request and Response ====
 
==== Example Request and Response ====
  
 
<pre>
 
<pre>
POST /api/metafields.json
+
POST /api/pages.json
  
 
{
 
{
   "metafield": {
+
   "page": {
     "namespace": "inventory",
+
     "title": "How to make more money",
     "key": "stock_location",
+
     "body": "This is a *sample* page.",
     "value": "Sydney",
+
     "published": true
    "value_type": "string",
 
    "description": "Physical location of stock items"
 
 
   }
 
   }
 
}
 
}
Line 243: Line 215:
 
</pre>
 
</pre>
  
=== <code>PUT /api/metafields/METAFIELD_ID.json<br/>PUT /api/products/PRODUCT_ID/metafields/METAFIELD_ID.json<br/>PUT /api/variations/VARIATION_ID/metafields/METAFIELD_ID.json<br/>PUT /api/pages/PAGE_ID/metafields/METAFIELD_ID.json<br/>PUT /api/blogs/BLOG_ID/metafields/METAFIELD_ID.json<br/>PUT /api/standard_collections/STANDARD_COLLECTION_ID/metafields/METAFIELD_ID.json<br/>PUT /api/super_collections/SUPER_COLLECTION_ID/metafields/METAFIELD_ID.json<br/>PUT /api/customers/CUSTOMER_ID/metafields/METAFIELD_ID.json<br/>PUT /api/orders/ORDER_ID/metafields/METAFIELD_ID.json</code> ===
+
=== <code>PUT /api/pages/PAGE_ID.json</code> ===
  
Update an existing metafield that belongs to the store, product, variation, page, blog, standard collection, super collection, customer or order.
+
Updates a page.  
 
 
The Namespace and Key of an existing metafield cannot be changed.
 
  
 
==== Example Request and Response ====
 
==== Example Request and Response ====
  
 
<pre>
 
<pre>
PUT /api/metafields/123456789.json
+
PUT /api/pages/123456789.json
  
 
{
 
{
   "metafield": {
+
   "page": {
 
     "id": 123456789,
 
     "id": 123456789,
     "value": "Melbourne",
+
     "title": "Untold Wealth"
    "value_type": "string"
 
 
   }
 
   }
 
}
 
}
Line 265: Line 234:
 
</pre>
 
</pre>
  
=== <code>DELETE /api/metafields/METAFIELD_ID.json<br/>DELETE /api/products/PRODUCT_ID/metafields/METAFIELD_ID.json<br/>DELETE /api/variations/VARIATION_ID/metafields/METAFIELD_ID.json<br/>DELETE /api/pages/PAGE_ID/metafields/METAFIELD_ID.json<br/>DELETE /api/blogs/BLOG_ID/metafields/METAFIELD_ID.json<br/>DELETE /api/standard_collections/STANDARD_COLLECTION_ID/metafields/METAFIELD_ID.json<br/>DELETE /api/super_collections/SUPER_COLLECTION_ID/metafields/METAFIELD_ID.json<br/>DELETE /api/customers/CUSTOMER_ID/metafields/METAFIELD_ID.json<br/>DELETE /api/orders/ORDER_ID/metafields/METAFIELD_ID.json</code> ===
+
=== <code>DELETE /api/pages/PAGE_ID.json</code> ===
  
Delete an existing metafield that belongs to the store, product, variation, page, blog, standard collection, super collection, customer or order.
+
Deletes a page.
  
 
==== Example Request and Response ====
 
==== Example Request and Response ====
  
 
<pre>
 
<pre>
DELETE /api/metafields/123456789.json
+
DELETE /api/pages/123456789.json
  
 
HTTP/1.1 200 OK
 
HTTP/1.1 200 OK
Line 278: Line 247:
 
{}
 
{}
 
</pre>
 
</pre>
 +
 +
== Further Reference ==
 +
 +
* [[An Introduction to the Spiffy Stores API]]
 +
* [[Creating Private API Keys]]
 +
* [[Using the API]]
 +
* [[API Reference]]

Latest revision as of 11:40, 24 May 2018

Your Spiffy Store comes with a tool for creating basic HTML web pages. Store owners can create any number of pages to hold static content, such as an 'About us' page, a 'Contact us' page, or a page with customer testimonials.

These web pages are represented by the Page resource, and their HTML content is contained in the value of the body_html property. The Page resource lets you retrieve, create, update, and delete web pages for a store.

Pages are used for long-term, static content that rarely changes. Frequently updated content is best created with the Blog resource instead.

Page Properties

id
{ "id" : 123456789 }

A unique numeric identifier for the page.

title
{ "title" : "How to save Money" }

This is the page title.

handle
{ "handle" : "how-to-save-money" }

A unique, human-friendly string for the page, generated automatically from its title. In online store themes, the Liquid templating language refers to a page by its handle.

body
{ "body" : "This is a *sample* page."}

The text content of the page in Textile markup. This is automatically translated into body_html for display on a browser.

body_html
{ "body_html" : "<p>This is a <b>sample</b> page.</p>"}

The text content of the page, complete with HTML markup.

created_at
{ "created_at": "2008-07-15T20:00:00-04:00" }

The date and time (ISO 8601 format) when the page was created.

updated_at
{ "updated_at": "2008-07-16T20:00:00-04:00" }

The date and time (ISO 8601 format) when the page was last updated.

published
{ "published" : true }

Indicates whether the page is published and visible to customers.

Endpoints

GET /api/pages.json

Retrieve a list of all pages.

Optional Parameters

limit Number of results returned. The default is 30, with a maximum of 50 in a single request.
page The number of the page to return. The number of results per page is set by the limit parameter. If more results are required, then submit the request again, increasing the page number each time.
since_id Limit the results to only include objects which have an id greater than the given value.
title Limit the results to only include pages with the given title.
handle Limit the results to only include pages with the given handle.
published_status Limit the results to only include pages with the given published status ('published' or 'unpublished').
created_at_min Return only the pages created after the given date and time. Use the format "2014-12-31 12:00".
created_at_max Return only the pages created before the given date and time. Use the format "2014-12-31 12:00".
updated_at_min Return only the pages updated after the given date and time. Use the format "2014-12-31 12:00".
updated_at_max Return only the pages updated before the given date and time. Use the format "2014-12-31 12:00".
fields A comma-separated list of fields to return in the response.

Example Request and Response

GET /api/pages.json

HTTP/1.1 200 OK

{
  "pages": [
    {
      "id": 123456789,
      "title": "How to make money",
      "handle": "how-to-make-money",
      "body": "This is a *sample* page.",
      "body_html": "<p>This is a <b>sample<b> page.",
      "created_at": "2015-02-19T06:02:51Z",
      "updated_at": "2015-02-19T06:02:51Z",
      "published": true
    }, ...
  ]
}

Examples using filters

GET /api/pages.json?fields=id,handle,body

GET /api/pages.json?handle=how-to-make-money

GET /api/pages/count.json

Return a page count.

Optional Parameters

since_id Limit the results to only include objects which have an id greater than the given value.
title Limit the results to only include pages with the given title.
handle Limit the results to only include pages with the given handle.
published_status Limit the results to only include pages with the given published status ('published' or 'unpublished').
created_at_min Return only the pages created after the given date and time. Use the format "2014-12-31 12:00".
created_at_max Return only the pages created before the given date and time. Use the format "2014-12-31 12:00".
updated_at_min Return only the pages updated after the given date and time. Use the format "2014-12-31 12:00".
updated_at_max Return only the pages updated before the given date and time. Use the format "2014-12-31 12:00".

Example Request and Response

GET /api/pages/count.json

HTTP/1.1 200 OK

{
  "count": 578
}

Examples using filters

GET /api/pages/count.json?handle=how-to-make-money

GET /api/pages/PAGE_ID.json

Retrieves a single page by its ID.

Optional Parameters

fields A comma-separated list of fields to return in the response.

Example Request and Response

GET /api/pages/123456789.json

HTTP/1.1 200 OK

{
  "page": {
    "id": 123456789,
    "title": "How to make money",
    "handle": "how-to-make-money",
    "body": "This is a *sample* page.",
    "body_html": "<p>This is a <b>sample<b> page.",
    "created_at": "2015-02-19T06:02:51Z",
    "updated_at": "2015-02-19T06:02:51Z",
    "published": true
  }
}

POST /api/pages.json

Creates a page.

Example Request and Response

POST /api/pages.json

{
  "page": {
    "title": "How to make more money",
    "body": "This is a *sample* page.",
    "published": true
  }
}

HTTP/1.1 201 Created

PUT /api/pages/PAGE_ID.json

Updates a page.

Example Request and Response

PUT /api/pages/123456789.json

{
  "page": {
    "id": 123456789,
    "title": "Untold Wealth"
  }
}

HTTP/1.1 200 OK

DELETE /api/pages/PAGE_ID.json

Deletes a page.

Example Request and Response

DELETE /api/pages/123456789.json

HTTP/1.1 200 OK

{}

Further Reference