API Page
From Spiffy Stores Knowledge Base
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.
Contents
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
Return a single metafield that belongs to the store, product, variation, page, blog, standard collection, super collection, customer or order.
Optional Parameters
fields | A comma-separated list of fields to return in the response. |
---|
Example Request and Response
GET /api/metafields/123456789.json HTTP/1.1 200 OK { "metafield": { "id": 123456789, "namespace": "inventory", "key": "stock_location", "value": "Sydney", "value_type": "string", "description": "Physical location of stock items", "owner_id": 36903842, "owner_resource": "Store", "created_at": "2015-02-19T06:02:51Z", "updated_at": "2015-02-19T06:02:51Z" } }
POST /api/pages.json
Create a new metafield that belongs to the store, product, variation, page, blog, standard collection, super collection, customer or order.
Example Request and Response
POST /api/pages.json { "metafield": { "namespace": "inventory", "key": "stock_location", "value": "Sydney", "value_type": "string", "description": "Physical location of stock items" } } HTTP/1.1 201 Created
PUT /api/pages/PAGE_ID.json
Update an existing pages that belongs to the store, product, variation, page, blog, standard collection, super collection, customer or order.
The Namespace and Key of an existing metafield cannot be changed.
Example Request and Response
PUT /api/pages/123456789.json { "metafield": { "id": 123456789, "value": "Melbourne", "value_type": "string" } } HTTP/1.1 200 OK
DELETE /api/pages/PAGE_ID.json
Delete an existing metafield that belongs to the store, product, variation, page, blog, standard collection, super collection, customer or order.
Example Request and Response
DELETE /api/metafields/123456789.json HTTP/1.1 200 OK {}