Set

Endpoint to manage product option sets. Once a set is created, names of options and values cannot be changed as there may be variants that depend on them.

Example Object

{
    "set": {
        "id": 2785,
        "createdAt": "2019-05-28T15:32:12+00:00",
        "updatedAt": "2019-05-28T15:42:59+00:00",
        "name": "Shirts",
        "options": [
            {
                "id": 4626,
                "sortOrder": 1,
                "name": "Size",
                "values": [
                    {
                        "id": 14045,
                        "sortOrder": 1,
                        "name": "S"
                    },
                    {
                        "id": 14046,
                        "sortOrder": 2,
                        "name": "M"
                    },
                    {
                        "id": 14047,
                        "sortOrder": 3,
                        "name": "L"
                    }
                ]
            }
        ]
    }
}

Properties

id The unique numeric identifier for the set. {“id”: {id}}
createdAt The date and time when the set was created. (format: ISO-8601) {“createdAt”: “2013-09-24T21:48:17+02:00”}
updatedAt The date and time when the set was last updated. (format: ISO-8601) {“updatedAt”: “2013-09-24T22:02:24+02:00”}
options {“options”: [{“id”: 4626,
“sortOrder”: 1,
“name”: “Size”,
“values”: [{“id”: 14045,
“sortOrder”: 1,
“name”: “S”
},
{“id”: 14046,
“sortOrder”: 2,
“name”: “M”
},
{“id”: 14047,
“sortOrder”: 3,
“name”: “L”
}
]
}
]}
name (Internal) name of the set. {“name”: “Clothing”}

GET All sets

Retrieve a list of all set objects from this shop.

Definition

GET /sets.json

Example request

curl https://api.shoplightspeed.com/en/sets.json \
  -u {key}:{secret}
<?php $api->sets->get();

Example response

{
    "sets": [
        {
            "id": 2785,
            "createdAt": "2019-05-28T15:32:12+00:00",
            "updatedAt": "2019-05-28T15:42:59+00:00",
            "name": "Shirts",
            "options": [
                {
                    "id": 4626,
                    "sortOrder": 1,
                    "name": "Size",
                    "values": [
                        {
                            "id": 14045,
                            "sortOrder": 1,
                            "name": "S"
                        },
                        {
                            "id": 14046,
                            "sortOrder": 2,
                            "name": "M"
                        },
                        {
                            "id": 14047,
                            "sortOrder": 3,
                            "name": "L"
                        }
                    ]
                }
            ]
        },
        {
            "id": 2784,
            "createdAt": "2019-05-28T15:31:12+00:00",
            "updatedAt": "2019-05-28T15:47:31+00:00",
            "name": "Shoes",
            "options": [
                {
                    "id": 4625,
                    "sortOrder": 1,
                    "name": "Size",
                    "values": [
                        {
                            "id": 14040,
                            "sortOrder": 1,
                            "name": "6"
                        },
                        {
                            "id": 14041,
                            "sortOrder": 2,
                            "name": "7"
                        },
                        {
                            "id": 14042,
                            "sortOrder": 3,
                            "name": "8"
                        },
                        {
                            "id": 14043,
                            "sortOrder": 4,
                            "name": "9"
                        },
                        {
                            "id": 14044,
                            "sortOrder": 5,
                            "name": "10"
                        }
                    ]
                }
            ]
        }
    ]
}

Arguments

  No arguments available.

Filters

limit Number of results. {(default: 50) (maximum: 250)}
page Page to show. {(default: 1)}
since_id Restrict results to after the specified ID. {(default: 0)}
created_at_min Show sets created after date. {(format: YYYY-MM-DD HH:MM:SS)}
created_at_max Show sets created before date. {(format: YYYY-MM-DD HH:MM:SS)}
updated_at_min Show sets last updated after date. {(format: YYYY-MM-DD HH:MM:SS)}
updated_at_max Show sets last updated before date. {(format: YYYY-MM-DD HH:MM:SS)}
fields Comma-separated list of fields to include in the response. {(format: id,createdAt)}

GET Number of sets

Retrieve the total number of set objects from this shop.

Definition

GET /sets/count.json

Example request

curl https://api.shoplightspeed.com/en/sets/count.json \
  -u {key}:{secret}
<?php $api->sets->count();

Example response

{
  "count": 2
}

Arguments

  No arguments available.

Filters

limit Number of results. {(default: 50) (maximum: 250)}
page Page to show. {(default: 1)}
since_id Restrict results to after the specified ID. {(default: 0)}
created_at_min Show sets created after date. {(format: YYYY-MM-DD HH:MM:SS)}
created_at_max Show sets created before date. {(format: YYYY-MM-DD HH:MM:SS)}
updated_at_min Show sets last updated after date. {(format: YYYY-MM-DD HH:MM:SS)}
updated_at_max Show sets last updated before date. {(format: YYYY-MM-DD HH:MM:SS)}
fields Comma-separated list of fields to include in the response. {(format: id,createdAt)}

GET Retrieve a set

Retrieve a single set based on the unique identifier.

Definition

GET /sets/{set_id}.json

Example request

curl https://api.shoplightspeed.com/en/sets/{set_id}.json \
  -u {key}:{secret}
<?php $api->sets->get($set_id);

Example response

{
    "set": {
        "id": 2785,
        "createdAt": "2019-05-28T15:32:12+00:00",
        "updatedAt": "2019-05-28T15:42:59+00:00",
        "name": "Shirts",
        "options": [
            {
                "id": 4626,
                "sortOrder": 1,
                "name": "Size",
                "values": [
                    {
                        "id": 14045,
                        "sortOrder": 1,
                        "name": "S"
                    },
                    {
                        "id": 14046,
                        "sortOrder": 2,
                        "name": "M"
                    },
                    {
                        "id": 14047,
                        "sortOrder": 3,
                        "name": "L"
                    }
                ]
            }
        ]
    }
}

Arguments

id The unique numeric identifier for the set. {“id”: {id}}

POST Create a set

Create a new set based on the given parameters.

Definition

POST /sets.json

Example request

curl -X POST https://api.shoplightspeed.com/en/sets.json \
  -u {key}:{secret} \
  -d options[values][0][sortOrder]=1 \
  -d options[values][0][id]=168 \
  -d options[values][0][name]="Black" \
  -d options[values][1][sortOrder]=2 \
  -d options[values][1][id]=169 \
  -d options[values][1][name]="White" \
  -d options[sortOrder]=1 \
  -d options[id]=76 \
  -d options[name]="Color" \
  -d options[values][2][sortOrder]=1 \
  -d options[values][2][id]=170 \
  -d options[values][2][name]="S" \
  -d options[values][3][sortOrder]=2 \
  -d options[values][3][id]=171 \
  -d options[values][3][name]="M" \
  -d options[values][4][sortOrder]=3 \
  -d options[values][4][id]=172 \
  -d options[values][4][name]="L" \
  -d options[sortOrder]=2 \
  -d options[id]=77 \
  -d options[name]="Size"
<?php $api->sets->create([
        "options" => [
            [
                "values" => [
                    [
                        "sortOrder" => 1,
                        "name" => "Black"
                    ],
                    [
                        "sortOrder" => 2,
                        "name" => "White"
                    ]
                ],
                "sortOrder" => 1,
                "name" => "Color"
            ],
            [
                "values" => [
                    [
                        "sortOrder" => 1,
                        "name" => "S"
                    ],
                    [
                        "sortOrder" => 2,
                        "name" => "M"
                    ],
                    [
                        "sortOrder" => 3,
                        "name" => "L"
                    ]
                ],
                "sortOrder" => 2,
                "name" => "Size"
            ]
        ],
    "name" => "Clothing"
]);

Example Json payload

{
    "set" : {
        "options" : [
            {
                "values" : [
                    {
                        "sortOrder" : 1,
                        "name" : "Black"
                    },
                    {
                        "sortOrder" : 2,
                        "name" : "White"
                    }
                ],
                "sortOrder" : 1,
                "name" : "Color"
            },
            {
                "values" : [
                    {
                        "sortOrder" : 1,
                        "name" : "S"
                    },
                    {
                        "sortOrder" : 2,
                        "name" : "M"
                    },
                    {
                        "sortOrder" : 3,
                        "name" : "L"
                    }
                ],
                "sortOrder" : 2,
                "name" : "Size"
            }
        ],
        "name" : "Clothing"
    }
}

Example response

{
    "set": {
        "id": 3046,
        "createdAt": "2019-09-06T19:45:10+00:00",
        "updatedAt": "2019-09-06T19:45:10+00:00",
        "name": "Clothing",
        "options": [
            {
                "id": 5074,
                "sortOrder": 1,
                "name": "Color",
                "values": [
                    {
                        "id": 15618,
                        "sortOrder": 1,
                        "name": "Black"
                    },
                    {
                        "id": 15619,
                        "sortOrder": 2,
                        "name": "White"
                    }
                ]
            },
            {
                "id": 5075,
                "sortOrder": 2,
                "name": "Size",
                "values": [
                    {
                        "id": 15620,
                        "sortOrder": 1,
                        "name": "S"
                    },
                    {
                        "id": 15621,
                        "sortOrder": 2,
                        "name": "M"
                    },
                    {
                        "id": 15622,
                        "sortOrder": 3,
                        "name": "L"
                    }
                ]
            }
        ]
    }
}

Arguments

options {“options”: [{“id”: 4626,
“sortOrder”: 1,
“name”: “Size”,
“values”: [{“id”: 14045,
“sortOrder”: 1,
“name”: “S”
},
{“id”: 14046,
“sortOrder”: 2,
“name”: “M”
},
{“id”: 14047,
“sortOrder”: 3,
“name”: “L”
}
]
}
]}
name (Internal) name of the set. {“name”: “Clothing”}

PUT Update a set

Update an existing set based on the given parameters.

Definition

PUT /sets/{set_id}.json

Example request

curl -X POST https://api.shoplightspeed.com/en/sets.json \
  -u {key}:{secret} \
  -d options[values][0][sortOrder]=1 \
  -d options[values][0][id]=168 \
  -d options[values][0][name]="Black" \
  -d options[values][1][sortOrder]=2 \
  -d options[values][1][id]=169 \
  -d options[values][1][name]="White" \
  -d options[sortOrder]=1 \
  -d options[id]=76 \
  -d options[name]="Color" \
  -d options[values][2][sortOrder]=1 \
  -d options[values][2][id]=170 \
  -d options[values][2][name]="S" \
  -d options[values][3][sortOrder]=2 \
  -d options[values][3][id]=171 \
  -d options[values][3][name]="M" \
  -d options[values][4][sortOrder]=3 \
  -d options[values][4][id]=172 \
  -d options[values][4][name]="L" \
  -d options[sortOrder]=2 \
  -d options[id]=77 \
  -d options[name]="Size"
<?php $api->sets->update({set_id}, [
    "set" : [
        "options" : [
            [
                "values" : [
                    [
                        "sortOrder" : 1,
                        "name" : "Black"
                    ],
                    [
                        "sortOrder" : 2,
                        "name" : "White"
                    ]
                ],
                "sortOrder" : 1,
                "name" : "Color"
            ],
            [
                "values" : [
                    [
                        "sortOrder" : 1,
                        "name" : "S"
                    ],
                    [
                        "sortOrder" : 2,
                        "name" : "M"
                    ],
                    [
                        "sortOrder" : 3,
                        "name" : "L"
                    ]
                ],
                "sortOrder" : 2,
                "name" : "Size"
            ]
        ],
        "name" : "Clothing"
    ]
]);

Example Json payload

{
    "set" : {
        "id" : 16,
        "options" : [
            {
                "values" : [
                    {
                        "sortOrder" : 1,
                        "id" : 168,
                        "name" : "Black"
                    },
                    {
                        "sortOrder" : 2,
                        "id" : 169,
                        "name" : "White"
                    }
                ],
                "sortOrder" : 1,
                "id" : 76,
                "name" : "Color"
            },
            {
                "values" : [
                    {
                        "sortOrder" : 1,
                        "id" : 170,
                        "name" : "S"
                    },
                    {
                        "sortOrder" : 2,
                        "id" : 171,
                        "name" : "M"
                    },
                    {
                        "sortOrder" : 3,
                        "id" : 172,
                        "name" : "L"
                    }
                ],
                "sortOrder" : 2,
                "id" : 77,
                "name" : "Size"
            }
        ],
        "name" : "Clothing"
    }
}

Example response

{
    "set" : {
        "id" : 16,
        "options" : [
            {
                "values" : [
                    {
                        "sortOrder" : 1,
                        "id" : 168,
                        "name" : "Black"
                    },
                    {
                        "sortOrder" : 2,
                        "id" : 169,
                        "name" : "White"
                    }
                ],
                "sortOrder" : 1,
                "id" : 76,
                "name" : "Color"
            },
            {
                "values" : [
                    {
                        "sortOrder" : 1,
                        "id" : 170,
                        "name" : "S"
                    },
                    {
                        "sortOrder" : 2,
                        "id" : 171,
                        "name" : "M"
                    },
                    {
                        "sortOrder" : 3,
                        "id" : 172,
                        "name" : "L"
                    }
                ],
                "sortOrder" : 2,
                "id" : 77,
                "name" : "Size"
            }
        ],
        "name" : "Clothing"
    }
}

Arguments

options {“options”: [{“id”: 4626,
“sortOrder”: 1,
“name”: “Size”,
“values”: [{“id”: 14045,
“sortOrder”: 1,
“name”: “S”
},
{“id”: 14046,
“sortOrder”: 2,
“name”: “M”
},
{“id”: 14047,
“sortOrder”: 3,
“name”: “L”
}
]
}
]}
name (Internal) name of the set. {“name”: “Clothing”}

DELETE Delete a set

Delete an existing set based on the unique identifier.

Definition

DELETE /sets/{set_id}.json

Example request

curl -X DELETE https://api.shoplightspeed.com/en/webhooks/{webhook_id}.json \
  -u {key}:{secret}
<?php $api->sets->delete($set_id);

Example response

HTTP/1.1 204 No Content

Arguments

id The unique numeric identifier for the set. {“id”: {id}}