
import SubblyShopFields from "../../../src/reference/subbly-sdk/types/SubblyShop.mdx";

<SdkPage group="shop" />

<Method id="load" signature="subbly.shop.load()">

Loads the settings, branding, currencies, gateways and apps of the shop.

`Subbly.init` calls this for you, so `subbly.shop` already holds the fields
below by the time you get the SDK instance. Call it again only to pick up a
change.

`subbly.shop` is a model object: it carries the shop fields and the `load`
method together. `load` copies the response onto that same object and returns
it, so the value you get back and `subbly.shop` are one object.

<Returns type="Promise<SubblyShop>">
The shop object, with its fields refreshed.
<Properties label="shop" collapsed>
  <SubblyShopFields />
</Properties>
</Returns>

<Example>

```js title="Load the shop"
const shop = await subbly.shop.load()

console.log(shop.name, shop.country.currencyCode)
```

```js title="Read a setting before you draw a form"
if (subbly.shop.settings.collectCompanyName) {
  showCompanyNameField()
}

const currencies = subbly.shop.currencies.map((c) => c.abbreviation)
```

</Example>

</Method>
