> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryaeris.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopify에 발행하기

> Shopify 스토어를 연결해 Aeris 가 AEO/SEO 콘텐츠와 on-page 수정을 발행하도록 합니다.

Shopify 스토어를 연결해 Aeris 가 콘텐츠를 발행하도록. Shopify 에서 custom app 을 만들고 접근 권한을 줌 후 credentials 를 Aeris 에 붙여넣습니다. **약 5분.**

<Info>
  모든 publish 는 **draft** 이며 승인 필요 — 자동으로 라이브로 나가지 않음.
</Info>

<Steps>
  <Step title="App 생성">
    Shopify admin → **Settings → Apps and sales channels → Develop apps → Build apps in Dev Dashboard → Create app**. 이름을 **Aeris Publish** 로.
  </Step>

  <Step title="URL 설정 (Configuration)">
    **App URL**

    ```text theme={"dark"}
    https://tryaeris.ai
    ```

    **Redirect URL**

    ```text theme={"dark"}
    https://ads.realry.com/api/v1/content-connections/shopify/callback
    ```
  </Step>

  <Step title="Scope 추가 (Access → Scopes)">
    ```text theme={"dark"}
    read_products,read_inventory,read_content,write_content,write_products,write_themes,write_publications
    ```
  </Step>

  <Step title="Release → Install">
    **Release** 클릭 후 **Install app** 클릭. Install 건너뛰지 마세요 — 이게 실제로 접근 권한을 주는 단계.
  </Step>

  <Step title="Credentials 복사">
    **Settings → Credentials** → **Client ID** 와 **Client secret** 복사. 스토어 도메인은 **Settings → Domains** 에.
  </Step>

  <Step title="Aeris 에서 연결">
    **Settings → Publishing** → domain, Client ID, secret 붙여넣기 → **Connect Shopify**. Shopify 에서 authorize 하면 연결된 상태로 돌아옵니다.
  </Step>
</Steps>

<Note>
  발행은 draft-first 이며 언제든 되돌릴 수 있습니다. 고객이나 주문 데이터는 요청하지 않음.
</Note>

## 문제 해결

<AccordionGroup>
  <Accordion title="&#x22;bad_hmac&#x22; error">
    Client secret 을 다시 복사. 붙여넣기에 trailing whitespace 가 들어간 것이 보통의 원인.
  </Accordion>

  <Accordion title="Redirect error">
    Shopify 의 **Redirect URL** 은 Step 2 와 정확히 일치해야 함: `https://ads.realry.com/api/v1/content-connections/shopify/callback`. Trailing slash 하나만 달라도 실패.
  </Accordion>

  <Accordion title="Shopify 에서 app 을 삭제했어요">
    Aeris 에서 재연결하면 됨. 기존 상태는 섬 넘어오지 않으메 flow 는 Step 1 부터 다시.
  </Accordion>
</AccordionGroup>
