안녕하세요, Hoda입니다.

여러 플랫폼에서 소셜 미디어 게시물을 관리하는 것으로 잘 알려진 Zernio가 이제 Shopify 스토어 연동을 지원합니다.

하지만 이번에 새롭게 추가된 연동 기능은 소셜 미디어 콘텐츠 발행용이 아닙니다. 대신 Zernio API를 통해 뉴스, 공지사항 및 기타 온라인 스토어 콘텐츠와 같은 Shopify의 기본 블로그 시스템 게시물을 생성, 수정, 삭제, 예약할 수 있도록 지원합니다.

Zernio Shopify integration

쇼파이 연동의 작동 방식: 연결 전용 플랫폼

가장 먼저 이해해야 할 점은 Shopify가 Zernio의 다른 소셜 미디어 연동 방식과 다르게 작동한다는 것입니다.

Shopify는 **연결 전용 플랫폼(connect-only platform)**으로 분류되며, 이는 Zernio의 멀티 플랫폼 소셜 발행 또는 분석 기능에 포함되지 않음을 의미합니다.

대신 이 연동 기능은 Shopify의 온라인 스토어 섹션 내에서 블로그와 블로그 게시물을 관리할 수 있도록 특별히 API 접근 권한을 제공합니다.

지원되는 기능과 지원되지 않는 기능

기능세부 정보
관리 가능한 콘텐츠Shopify 블로그 및 블로그 게시물
인증스토어 도메인을 사용하는 OAuth 2.0 또는 커스텀 앱의 Admin API 토큰
필수 권한 범위 (Scopes)read_content 및 write_content
소셜 미디어 발행지원되지 않음
분석 및 리포팅지원되지 않음
이미지URL 참조만 지원 (직접 업로드 불가)
예약 발행Shopify의 기본 publishDate 기능을 통해 지원 (Zernio는 별도의 발행 큐를 유지하지 않음)
임시글 (Drafts)isPublished: false을 사용하여 지원
아티클 콘텐츠bodyHtml를 사용하는 HTML
SEO 필드seo.title 및 seo.description을 통해 지원
페이지네이션요청당 1~50개의 결과(기본값 20)를 지원하는 커서 기반 페이지네이션

소셜 미디어 발행이나 분석 기능을 기대하고 Shopify를 연결한다면 기능이 제한적으로 느껴질 수 있습니다. 전용 Shopify 블로그 관리 연동 기능으로 이해하는 것이 더 정확합니다.

Shopify 스토어 연결 방법

연동에는 두 가지 방법이 있습니다.

방법 1: OAuth 연동 (권장)

Zernio의 Shopify 연결 엔드포인트를 호출하면 사용자를 자동으로 리디렉션하는 대신 authUrl이라는 인증 URL을 반환합니다.

그 후 스토어 소유자를 이 URL로 유도해야 합니다. 소유자가 설치를 승인하면 Shopify가 콜백을 처리하고 스토어를 Zernio에 연결합니다.

여기서 중요한 요구 사항은 스토어의 myshopify.com 도메인을 사전에 알고 있어야 한다는 것입니다.

Shopify는 이 인증 과정에서 스토어 선택 화면이나 이메일 주소를 사용해 스토어를 검색하는 방법을 제공하지 않습니다. 도메인이 없으면 Zernio는 올바른 인증 URL을 생성할 수 없습니다.

따라서 연동 프로세스를 시작하기 전에 스토어 소유자에게 myshopify.com 도메인을 요청해야 합니다.

Shopify 앱스토어를 통해 앱을 설치하는 경우, Shopify가 자동으로 스토어 도메인을 Zernio로 전달하므로 이 단계는 필요하지 않습니다.

방법 2: 커스텀 앱의 Admin 토큰

브라우저 기반의 OAuth 흐름을 피하고 싶다면, 스토어 소유자가 Shopify 관리자 페이지에서 직접 커스텀 앱을 만들 수 있습니다.

설정(Settings) → 앱 및 판매 채널(Apps and sales channels) → 앱 개발(Develop apps)

스토어 소유자는 커스텀 앱에 read_content 및 write_content 권한을 부여한 다음, Admin API 액세스 토큰을 생성하여 Zernio에 제공해야 합니다.

액세스 토큰 자체만으로는 어떤 스토어에 속해 있는지 식별할 수 없으므로, Shopify 스토어 도메인은 별도로 입력해야 합니다.

Shopify 블로그 및 게시물 관리

스토어를 연결한 후에는 기존 블로그 목록을 불러올 수 있습니다. Shopify 스토어에는 보통 “News”라는 기본 블로그가 포함되어 있습니다.

블로그 ID를 획득하면 게시물에 대한 표준 CRUD 작업을 수행할 수 있습니다.

  • 게시물 목록 조회
  • 게시물 생성
  • 게시물 상세 조회
  • 게시물 수정
  • 게시물 삭제

또한 Zernio는 블로그 자체의 생성, 수정, 삭제도 지원합니다.

새 게시물을 만들 때 제목, HTML 콘텐츠, 태그, 작성자 이름, 요약(excerpt), 발행 상태를 지정할 수 있습니다.

  • isPublished: true → 즉시 발행
  • isPublished: false → 임시글(Draft)로 저장
  • publishDate를 사용하여 미래 날짜 설정 → Shopify가 지정된 시간에 자동으로 게시물을 발행함

예약 발행은 Shopify 자체의 네이티브 발행 기능을 사용합니다. Zernio가 별도의 예약 큐를 처리할 때까지 기다릴 필요가 없습니다.

seo.title 및 seo.description 값은 테마에서 페이지 제목과 메타DESCRIPTION에 주로 사용하는 Shopify의 title_tag 및 description_tag 필드에 직접 적용됩니다.

반드시 알아두어야 할 주요 동작 방식

  • 제목이 변경되어도 URL은 자동으로 바뀌지 않습니다: 게시물 핸들(handle)은 게시물이 처음 생성될 때 생성됩니다. 나중에 제목을 변경해도 URL은 바뀌지 않습니다. 이는 발행된 아티클의 URL을 유지하고 싶을 때 유용하지만, 제목과 URL 간에 불일치가 발생할 수도 있습니다. URL을 정밀하게 제어해야 하는 경우 handle를 명시적으로 지정하세요.

  • 태그는 알파벳 순서로 반환됩니다: Shopify가 태그를 반환하기 전에 정렬하기 때문에, 원래 입력했던 순서와 다를 수 있습니다.

  • 삭제된 콘텐츠는 복구할 수 없습니다: 게시물을 삭제하면 204 응답이 반환되며, 이후 해당 게시물에 대한 요청은 404을 반환합니다. 블로그 전체를 삭제하면 그 안에 있는 모든 게시물도 함께 삭제됩니다. Zernio는 복구용 백업을 보관하지 않습니다.

  • blogId는 반드시 숫자여야 합니다: 숫자가 아닌 값을 입력하면 Zernio는 Shopify에 연락하기 전에 400 오류와 함께 요청을 거부합니다.

Shopify 연동에서 지원하지 않는 기능

Shopify 연동은 블로그 관리에만 국한됩니다.

다음 기능은 지원하지 않습니다.

  • 멀티 플랫폼 소셜 미디어 발행
  • 분석 또는 인사이트
  • 받은 편지함(Inbox) 또는 메시징 기능
  • 직접 이미지 업로드
  • 상품 데이터
  • 주문 데이터
  • 고객 데이터

이 연동 기능은 콘텐츠와 관련된 read_content 및 write_content 권한 범위만 요청합니다. 결제나 고객 정보에 대한 접근 권한은 필요로 하지 않습니다.

장점 4
  • 다른 발행 플랫폼에서 사용하는 것과 동일한 Zernio API 생태계를 통해 Shopify 블로그 콘텐츠 관리 가능

  • 발행 시점을 더욱 안정적으로 제어할 수 있도록 Shopify의 네이티브 예약 발행 기능 활용

  • API를 통해 SEO 제목 및 메타 설명 설정 가능

  • 결제나 고객 정보를 노출하지 않고, 콘텐츠 관련 권한으로만 접근이 제한됨

단점 4
  • Shopify는 연결 전용 연동 기능이며 Zernio의 소셜 발행 또는 분석 기능에 포함되지 않음

  • 이미지는 URL로만 참조할 수 있으며 Zernio를 통해 직접 업로드할 수 없음

  • 삭제된 블로그와 게시물은 복구할 수 없으므로 자동 삭제 구현 시 각별한 주의가 필요함

  • Shopify 앱스토어를 통해 앱을 설치하는 경우를 제외하고는, OAuth 연결 시 스토어의 `myshopify.com` 도메인을 사전에 알아야 함

최종 정리

이번 업데이트를 통해 Zernio는 소셜 미디어 관리 영역을 넘어 동일한 API 생태계를 통해 Shopify 블로그 운영까지 아우를 수 있게 되었습니다.

비교적 특화된 기능 추가일 수 있지만, 여러 스토어와 발행 채널에 걸쳐 콘텐츠 관리를 자동화하고자 하는 개발자와 에이전시에게는 유용할 것입니다.