Selectors
Selectors
Selectors are a hypermedia control that change a resource's state. Selectors provide a list of predefined options that a shopper can choose from. Once a choice is made through the selector, the resource's state updates accordingly. Selectors are generally rendered on the UI as radio button groups, combo boxes, or check boxes.
- The options available for a resource.
- The options already selected for a resource.
- The selection-rule that determines how many options can be selected at once.
- The links to make the selection.
-
A name property that identifies which options the selector handles.
-
A selection-rule property that identifies the number of options that can be selected at once.
-
A choice link for options that can be selected.
-
A chosen link for options that are already selected.
-
A description link that links to a description of the option.
-
A selectaction link that when followed selects the option. The link appears only on choice resources as chosen resources are already selected.
Selector Example: Selecting a Billing Address
- {
- "rel": "selector",
- "rev": "billingaddressinfo",
- "type": "elasticpath.controls.selector",
- "uri": "/commerce-legacy/orders/mobee/mu3=/billingaddressinfo/selector",
- "href": "http://api.elasticpath.net/cortex/orders/mobee/mu3=/billingaddressinfo/selector"
- }
- {
- "self": {
- "type": "elasticpath.controls.selector",
- "uri": "/commerce-legacy/orders/mobee/mu3=/billingaddressinfo/selector",
- "href": "http://api.elasticpath.net/cortex/orders/mobee/mu3=/billingaddressinfo/selector"
- },
- "name": "billing-address-selector",
- "selection-rule": "1",
- "links": [
- {
- "rel": "choice",
- "rev": "selector",
- "type": "elasticpath.collections.links",
- "uri": "/commerce-legacy/orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ga3=",
- "href": "http://api.elasticpath.net/cortex/orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ga3="
...
Read more
- {
- "self": {
- "type": "elasticpath.collections.links",
- "uri": "/commerce-legacy/orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ga3=",
- "href": "http://api.elasticpath.net/cortex/orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ga3="
- },
- "links": [
- {
- "rel": "description",
- "type": "elasticpath.addresses.address",
- "uri": "/commerce-legacy/profiles/mobee/grd=/addresses/ga3=",
- "href": "http://api.elasticpath.net/cortex/profiles/mobee/grd=/addresses/ga3="
- },
- {
- "rel": "selectaction",
...
Read more
- POST /orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ga3=
- Content-Type: application/json
- 200 OK
- Location: http://api.elasticpath.net/cortex/orders/mobee/mu3=/billingaddressinfo/selector
- {
- "self": {
- "type": "elasticpath.controls.selector",
- "uri": "/commerce-legacy/orders/mobee/mu3=/billingaddressinfo/selector",
- "href": "http://api.elasticpath.net/cortex/orders/mobee/mu3=/billingaddressinfo/selector"
- },
- "name": "billing-address-selector",
- "selection-rule": "1",
- "links": [
- {
- "rel": "choice",
- "rev": "selector",
- "type": "elasticpath.collections.links",
- "uri": "/commerce-legacy/orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ha4=",
- "href": "http://api.elasticpath.net/cortex/orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ha4="
...
Read more
The chosen resource does not have a selectaction link because it is already selected:
- {
- "self": {
- "type": "elasticpath.collections.links",
- "uri": "/commerce-legacy/orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ga3=",
- "href": "http://api.elasticpath.net/cortex/orders/mobee/mu3=/billingaddressinfo/selector/profiles/mobee/grd=/addresses/ga3="
- },
- "links": [
- {
- "rel": "description",
- "type": "elasticpath.addresses.address",
- "uri": "/commerce-legacy/profiles/mobee/grd=/addresses/ga3=",
- "href": "http://api.elasticpath.net/cortex/profiles/mobee/grd=/addresses/ga3="
- }
- {
- "rel": "selector",
...
Read more