---
title: Shopify
description: Shopify에 연결하고 동기화 동작을 파악하며 기록되는 모든 테이블과 열을 쿼리합니다.
species: reference
---
# Shopify

쇼핑몰 도메인과 Admin API 토큰을 사용해 Shopify에 연결합니다. 이 소스는 `titan.shopify` 아래에 고정 테이블 19개를 기록합니다.
```sql
select
  id,
  email,
  created_at
from titan.shopify.customers
limit 10
```

## Shopify 연결

1. **앱**을 열고 **앱 연결**을 선택한 뒤 **Shopify** 항목을 선택합니다.
2. 쇼핑몰 도메인과 Admin API 토큰을 입력합니다.
3. 테이블을 확인한 뒤 소스를 저장합니다.
4. 첫 실행이 완료될 때까지 **동기화 기록**을 확인합니다.

자격 증명은 비밀 정보로 저장됩니다. 레이크 열이 되거나 쿼리 결과에 나타나지 않습니다.

## 동기화 동작

Shopify 데이터는 재개 가능한 GraphQL 대량 작업으로 가져옵니다. 저장된 대량 작업 ID를 사용하면 다음 실행에서 처음부터 시작하지 않고 이어서 진행할 수 있습니다.

새 소스는 연결할 때 동기화한 다음 설정된 일정을 따릅니다. 기본 반복 간격은 4시간입니다. 실행이 중단되어도 완료한 진행 상황을 유지하며 안전하게 재시도합니다.

모든 레이크 테이블에는 [시스템 열](/docs/concepts/your-lake#시스템-열)인 `_synced_at`과 `_deleted`도 있습니다. 아래 열 참조에는 소스 열만 나열합니다.

## 테이블 참조

### `customers`

`titan.shopify.customers`의 소스 열 수는 17개입니다.

```columns table=shopify.customers
id                                      integer pk          `id` 소스 필드.
email                                   string              `email` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
first_name                              string              `firstName` 소스 필드.
last_name                               string              `lastName` 소스 필드.
phone                                   string              `phone` 소스 필드.
number_of_orders                        integer             `numberOfOrders` 소스 필드.
multipass_identifier                    string              `multipassIdentifier` 소스 필드.
note                                    string              `note` 소스 필드.
state                                   string              `state` 소스 필드.
tax_exempt                              boolean             `taxExempt` 소스 필드.
amount_spent                            json                `amountSpent` 소스 필드.
verified_email                          boolean             `verifiedEmail` 소스 필드.
email_marketing_consent                 json                `emailMarketingConsent` 소스 필드.
currency_code                           string              `currencyCode` 소스 필드.
tags                                    json                `tags` 소스 필드.
```

### `mailing_addresses`

`titan.shopify.mailing_addresses`의 소스 열 수는 17개입니다.

```columns table=shopify.mailing_addresses
id                                      integer pk          `id` 소스 필드.
customer_id                             integer             `customerId` 소스 필드.
first_name                              string              `firstName` 소스 필드.
last_name                               string              `lastName` 소스 필드.
address1                                string              `address1` 소스 필드.
address2                                string              `address2` 소스 필드.
city                                    string              `city` 소스 필드.
company                                 string              `company` 소스 필드.
coordinates_validated                   boolean             `coordinatesValidated` 소스 필드.
phone                                   string              `phone` 소스 필드.
country                                 string              `country` 소스 필드.
country_code                            string              `countryCode` 소스 필드.
province                                string              `province` 소스 필드.
province_code                           string              `provinceCode` 소스 필드.
zip                                     string              `zip` 소스 필드.
latitude                                float               `latitude` 소스 필드.
longitude                               float               `longitude` 소스 필드.
```

### `orders`

`titan.shopify.orders`의 소스 열 수는 42개입니다.

```columns table=shopify.orders
id                                      integer pk          `id` 소스 필드.
note                                    string              `note` 소스 필드.
email                                   string              `email` 소스 필드.
taxes_included                          boolean             `taxesIncluded` 소스 필드.
currency_code                           string              `currencyCode` 소스 필드.
name                                    string              `name` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
subtotal_price_set                      json                `subtotalPriceSet` 소스 필드.
total_tax_set                           json                `totalTaxSet` 소스 필드.
total_price_set                         json                `totalPriceSet` 소스 필드.
total_discounts_set                     json                `totalDiscountsSet` 소스 필드.
total_tip_received_set                  json                `totalTipReceivedSet` 소스 필드.
total_shipping_price_set                json                `totalShippingPriceSet` 소스 필드.
current_total_price_set                 json                `currentTotalPriceSet` 소스 필드.
current_total_discounts_set             json                `currentTotalDiscountsSet` 소스 필드.
current_subtotal_price_set              json                `currentSubtotalPriceSet` 소스 필드.
current_total_tax_set                   json                `currentTotalTaxSet` 소스 필드.
original_total_duties_set               json                `originalTotalDutiesSet` 소스 필드.
total_weight                            integer             `totalWeight` 소스 필드.
source_name                             string              `sourceName` 소스 필드.
client_ip                               string              `clientIp` 소스 필드.
shipping_address                        json                `shippingAddress` 소스 필드.
billing_address                         json                `billingAddress` 소스 필드.
customer_id                             integer             `customerId` 소스 필드.
retail_location                         json                `retailLocation` 소스 필드.
app_id                                  integer             `appId` 소스 필드.
po_number                               string              `poNumber` 소스 필드.
display_financial_status                string              `displayFinancialStatus` 소스 필드.
display_fulfillment_status              string              `displayFulfillmentStatus` 소스 필드.
processed_at                            datetime            `processedAt` 소스 필드.
customer_journey_summary                json                `customerJourneySummary` 소스 필드.
cancel_reason                           string              `cancelReason` 소스 필드.
cancelled_at                            datetime            `cancelledAt` 소스 필드.
closed_at                               datetime            `closedAt` 소스 필드.
customer_accepts_marketing              boolean             `customerAcceptsMarketing` 소스 필드.
confirmed                               boolean             `confirmed` 소스 필드.
presentment_currency_code               string              `presentmentCurrencyCode` 소스 필드.
status_page_url                         string              `statusPageUrl` 소스 필드.
tags                                    json                `tags` 소스 필드.
transactions                            json                `transactions` 소스 필드.
custom_attributes                       json                `customAttributes` 소스 필드.
```

### `order_line_items`

`titan.shopify.order_line_items`의 소스 열 수는 23개입니다.

```columns table=shopify.order_line_items
id                                      integer pk          `id` 소스 필드.
order_id                                integer             `orderId` 소스 필드.
product_id                              integer             `productId` 소스 필드.
variant_id                              integer             `variantId` 소스 필드.
title                                   string              `title` 소스 필드.
name                                    string              `name` 소스 필드.
quantity                                integer             `quantity` 소스 필드.
current_quantity                        integer             `currentQuantity` 소스 필드.
variant                                 json                `variant` 소스 필드.
tax_lines                               json                `taxLines` 소스 필드.
vendor                                  string              `vendor` 소스 필드.
sku                                     string              `sku` 소스 필드.
custom_attributes                       json                `customAttributes` 소스 필드.
discounted_unit_price_after_all_discounts_set  json                `discountedUnitPriceAfterAllDiscountsSet` 소스 필드.
discounted_total_set                    json                `discountedTotalSet` 소스 필드.
discounted_unit_price_set               json                `discountedUnitPriceSet` 소스 필드.
original_total_set                      json                `originalTotalSet` 소스 필드.
original_unit_price_set                 json                `originalUnitPriceSet` 소스 필드.
taxable                                 boolean             `taxable` 소스 필드.
total_discount_set                      json                `totalDiscountSet` 소스 필드.
unfulfilled_original_total_set          json                `unfulfilledOriginalTotalSet` 소스 필드.
unfulfilled_quantity                    integer             `unfulfilledQuantity` 소스 필드.
variant_title                           string              `variantTitle` 소스 필드.
```

### `discount_applications`

`titan.shopify.discount_applications`의 소스 열 수는 8개입니다.

```columns table=shopify.discount_applications
order_id                                integer pk          `orderId` 소스 필드.
index                                   integer pk          `index` 소스 필드.
target_selection                        string              `targetSelection` 소스 필드.
target_type                             string              `targetType` 소스 필드.
value                                   json                `value` 소스 필드.
code                                    string              `code` 소스 필드.
type                                    string              `type` 소스 필드.
allocation_method                       string              `allocationMethod` 소스 필드.
```

### `refunds`

`titan.shopify.refunds`의 소스 열 수는 6개입니다.

```columns table=shopify.refunds
id                                      integer pk          `id` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
note                                    string              `note` 소스 필드.
restock                                 boolean             `restock` 소스 필드.
order_id                                integer             `orderId` 소스 필드.
```

### `order_adjustments`

`titan.shopify.order_adjustments`의 소스 열 수는 6개입니다.

```columns table=shopify.order_adjustments
id                                      integer pk          `id` 소스 필드.
order_id                                integer             `orderId` 소스 필드.
refund_id                               integer             `refundId` 소스 필드.
amount_set                              json                `amountSet` 소스 필드.
tax_amount_set                          json                `taxAmountSet` 소스 필드.
reason                                  string              `reason` 소스 필드.
```

### `refund_line_items`

`titan.shopify.refund_line_items`의 소스 열 수는 10개입니다.

```columns table=shopify.refund_line_items
id                                      integer pk          `id` 소스 필드.
refund_id                               integer             `refundId` 소스 필드.
location_id                             integer             `locationId` 소스 필드.
line_item_id                            integer             `lineItemId` 소스 필드.
subtotal_set                            json                `subtotalSet` 소스 필드.
price_set                               json                `priceSet` 소스 필드.
total_tax_set                           json                `totalTaxSet` 소스 필드.
quantity                                integer             `quantity` 소스 필드.
restocked                               boolean             `restocked` 소스 필드.
restock_type                            string              `restockType` 소스 필드.
```

### `inventory_items`

`titan.shopify.inventory_items`의 소스 열 수는 16개입니다.

```columns table=shopify.inventory_items
id                                      integer pk          `id` 소스 필드.
sku                                     string              `sku` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
requires_shipping                       boolean             `requiresShipping` 소스 필드.
unit_cost                               json                `unitCost` 소스 필드.
country_code_of_origin                  string              `countryCodeOfOrigin` 소스 필드.
province_code_of_origin                 string              `provinceCodeOfOrigin` 소스 필드.
tracked                                 boolean             `tracked` 소스 필드.
tracked_editable                        json                `trackedEditable` 소스 필드.
inventory_history_url                   string              `inventoryHistoryUrl` 소스 필드.
duplicate_sku_count                     integer             `duplicateSkuCount` 소스 필드.
measurement                             json                `measurement` 소스 필드.
harmonized_system_code                  string              `harmonizedSystemCode` 소스 필드.
legacy_resource_id                      integer             `legacyResourceId` 소스 필드.
variant_id                              integer             `variantId` 소스 필드.
```

### `inventory_levels`

`titan.shopify.inventory_levels`의 소스 열 수는 5개입니다.

```columns table=shopify.inventory_levels
id                                      integer pk          `id` 소스 필드.
inventory_item_id                       integer pk          `inventoryItemId` 소스 필드.
location_id                             integer pk          `locationId` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
quantities                              json                `quantities` 소스 필드.
```

### `locations`

`titan.shopify.locations`의 소스 열 수는 6개입니다.

```columns table=shopify.locations
id                                      integer pk          `id` 소스 필드.
address                                 json                `address` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
is_active                               boolean             `isActive` 소스 필드.
name                                    string              `name` 소스 필드.
```

### `products`

`titan.shopify.products`의 소스 열 수는 14개입니다.

```columns table=shopify.products
id                                      integer pk          `id` 소스 필드.
title                                   string              `title` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
published_at                            datetime            `publishedAt` 소스 필드.
handle                                  string              `handle` 소스 필드.
product_type                            string              `productType` 소스 필드.
vendor                                  string              `vendor` 소스 필드.
status                                  string              `status` 소스 필드.
template_suffix                         string              `templateSuffix` 소스 필드.
tags                                    json                `tags` 소스 필드.
description                             string              `description` 소스 필드.
description_html                        string              `descriptionHtml` 소스 필드.
featured_image                          json                `featuredImage` 소스 필드.
```

### `product_variants`

`titan.shopify.product_variants`의 소스 열 수는 23개입니다.

```columns table=shopify.product_variants
id                                      integer pk          `id` 소스 필드.
barcode                                 string              `barcode` 소스 필드.
compare_at_price                        float               `compareAtPrice` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
display_name                            string              `displayName` 소스 필드.
inventory_item_id                       integer             `inventoryItemId` 소스 필드.
inventory_quantity                      integer             `inventoryQuantity` 소스 필드.
legacy_resource_id                      integer             `legacyResourceId` 소스 필드.
position                                integer             `position` 소스 필드.
price                                   float               `price` 소스 필드.
product_id                              integer             `productId` 소스 필드.
requires_components                     boolean             `requiresComponents` 소스 필드.
selected_options                        json                `selectedOptions` 소스 필드.
sellable_online_quantity                integer             `sellableOnlineQuantity` 소스 필드.
show_unit_price                         boolean             `showUnitPrice` 소스 필드.
sku                                     string              `sku` 소스 필드.
taxable                                 boolean             `taxable` 소스 필드.
tax_code                                string              `taxCode` 소스 필드.
title                                   string              `title` 소스 필드.
unit_price                              json                `unitPrice` 소스 필드.
unit_price_measurement                  json                `unitPriceMeasurement` 소스 필드.
image                                   json                `image` 소스 필드.
```

### `tender_transactions`

`titan.shopify.tender_transactions`의 소스 열 수는 7개입니다.

```columns table=shopify.tender_transactions
id                                      integer pk          `id` 소스 필드.
order_id                                integer             `orderId` 소스 필드.
amount                                  json                `amount` 소스 필드.
processed_at                            datetime            `processedAt` 소스 필드.
payment_method                          string              `paymentMethod` 소스 필드.
remote_reference                        string              `remoteReference` 소스 필드.
test                                    boolean             `test` 소스 필드.
```

### `order_transactions`

`titan.shopify.order_transactions`의 소스 열 수는 22개입니다.

```columns table=shopify.order_transactions
id                                      integer pk          `id` 소스 필드.
order_id                                integer             `orderId` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
processed_at                            datetime            `processedAt` 소스 필드.
amount_rounding_set                     json                `amountRoundingSet` 소스 필드.
amount_set                              json                `amountSet` 소스 필드.
currency_exchange_adjustment            json                `currencyExchangeAdjustment` 소스 필드.
error_code                              string              `errorCode` 소스 필드.
formatted_gateway                       string              `formattedGateway` 소스 필드.
gateway                                 string              `gateway` 소스 필드.
kind                                    string              `kind` 소스 필드.
location_id                             integer             `locationId` 소스 필드.
parent_transaction_id                   integer             `parentTransactionId` 소스 필드.
payment_id                              string              `paymentId` 소스 필드.
receipt_json                            json                `receiptJson` 소스 필드.
settlement_currency                     string              `settlementCurrency` 소스 필드.
settlement_currency_rate                float               `settlementCurrencyRate` 소스 필드.
status                                  string              `status` 소스 필드.
test                                    boolean             `test` 소스 필드.
total_unsettled_set                     json                `totalUnsettledSet` 소스 필드.
user_id                                 integer             `userId` 소스 필드.
amount                                  float               `amount` 소스 필드.
```

### `fulfillments`

`titan.shopify.fulfillments`의 소스 열 수는 16개입니다.

```columns table=shopify.fulfillments
id                                      integer pk          `id` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
delivered_at                            datetime            `deliveredAt` 소스 필드.
display_status                          string              `displayStatus` 소스 필드.
estimated_delivery_at                   datetime            `estimatedDeliveryAt` 소스 필드.
in_transit_at                           datetime            `inTransitAt` 소스 필드.
legacy_resource_id                      integer             `legacyResourceId` 소스 필드.
location_id                             integer             `locationId` 소스 필드.
order_id                                integer             `orderId` 소스 필드.
name                                    string              `name` 소스 필드.
requires_shipping                       boolean             `requiresShipping` 소스 필드.
service                                 json                `service` 소스 필드.
status                                  string              `status` 소스 필드.
total_quantity                          integer             `totalQuantity` 소스 필드.
tracking_info                           json                `trackingInfo` 소스 필드.
```

### `metafields`

`titan.shopify.metafields`의 소스 열 수는 11개입니다.

```columns table=shopify.metafields
id                                      integer pk          `id` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
type                                    string              `type` 소스 필드.
key                                     string              `key` 소스 필드.
value                                   string              `value` 소스 필드.
json_value                              json                `jsonValue` 소스 필드.
namespace                               string              `namespace` 소스 필드.
owner_id                                integer             `ownerId` 소스 필드.
owner_type                              string              `ownerType` 소스 필드.
legacy_resource_id                      integer             `legacyResourceId` 소스 필드.
```

### `staff_members`

`titan.shopify.staff_members`의 소스 열 수는 13개입니다.

```columns table=shopify.staff_members
id                                      integer pk          `id` 소스 필드.
account_type                            string              `accountType` 소스 필드.
active                                  boolean             `active` 소스 필드.
avatar                                  json                `avatar` 소스 필드.
email                                   string              `email` 소스 필드.
exists                                  boolean             `exists` 소스 필드.
first_name                              string              `firstName` 소스 필드.
last_name                               string              `lastName` 소스 필드.
name                                    string              `name` 소스 필드.
initials                                json                `initials` 소스 필드.
is_shop_owner                           boolean             `isShopOwner` 소스 필드.
locale                                  string              `locale` 소스 필드.
phone                                   string              `phone` 소스 필드.
```

### `product_images`

`titan.shopify.product_images`의 소스 열 수는 6개입니다.

```columns table=shopify.product_images
id                                      integer pk          `id` 소스 필드.
product_id                              integer             `productId` 소스 필드.
url                                     string              `url` 소스 필드.
width                                   integer             `width` 소스 필드.
height                                  integer             `height` 소스 필드.
alt_text                                string              `altText` 소스 필드.
```

## 삭제와 이력

행은 소스 키로 병합됩니다. 소스에서 행 삭제를 입증할 수 있으면 Supernova는 행을 유지하고 `_deleted`를 설정합니다. 따라서 쿼리에서 이력을 포함할지 선택할 수 있습니다. 현재 상태를 조회하는 쿼리에는 `where not _deleted` 필터를 사용하세요.
