跳至主要内容

Shopify

此页面包含 Shopify 来源连接器的设置指南和参考信息。

先决条件

  • 对于 Airbyte 开源 用户:具有启用 read_ 范围的自定义 Shopify 应用程序。

设置指南

此连接器支持 OAuth2.0API 密码(用于私有应用程序)身份验证方法。

设置 Shopify

注意

对于现有的 Airbyte Cloud 客户,如果您当前正在使用 API 密码 身份验证方法,请切换到 OAuth2.0,因为 API 密码很快将被弃用。此更改不会影响 Airbyte 开源 连接。

对于 Airbyte Cloud:

  1. 登录到您的 Airbyte Cloud 账户。
  2. 点击“来源”,然后点击“+ 新来源”。
  3. 在设置来源页面上,从来源类型下拉菜单中选择 Shopify。
  4. 输入 Shopify 连接器的名称。

使用 OAuth2.0 连接

  1. 选择一个 来源名称
  2. 点击 验证您的 Shopify 帐户
  3. 点击 安装应用 以安装 Airbyte 应用程序。如果您尚未登录,请登录您的帐户。选择您要同步的商店并查看同意表单。点击 安装应用 以完成安装。
  1. 在您验证 Shopify 帐户后,Shopify 商店 字段将根据您选择的商店自动填写。填写后,请确认该值准确无误。
  1. (可选) 您可以设置 复制开始日期 作为数据复制的起始点。在此日期之前创建的任何数据都不会被同步。默认值为 2020 年 1 月 1 日。
  1. 点击 设置来源 并等待连接测试完成。

对于 Airbyte 开源:

  1. 导航到 Airbyte 开源仪表板。
  2. 点击“来源”,然后点击“+ 新来源”。
  3. 在设置来源页面上,从来源类型下拉菜单中选择 Shopify。
  4. 输入 Shopify 连接器的名称。

创建自定义应用

要通过 API 验证 Shopify,需要一个 自定义应用程序。请按照以下说明创建自定义应用程序并找到您的 Admin API 访问令牌。

  1. 登录您的 Shopify 帐户。
  2. 在仪表板中,导航到 设置 > 应用和销售渠道 > 开发应用 > 创建应用
  3. 为您的新应用选择一个名称。
  4. 选择 配置 Admin API 范围
  5. 授予以下范围列表的访问权限。仅选择以 read_ 开头的范围,而不是 write_(例如 read_locationsread_price_rules 等)。
  6. 点击 安装应用 以授予此应用访问您数据的权限。
  7. 安装完成后,转到 API 凭据 以复制 Admin API 访问令牌。现在您可以设置 Airbyte 中的来源了!

使用 API 密码连接

  1. 输入一个 来源名称
  2. 输入您的 Shopify 商店 名称。您可以在登录 Shopify 时或在设置的商店详细信息部分找到它。
  3. 对于 API 密码,输入您的自定义应用程序的 Admin API 访问令牌。
  4. (可选) 您可以设置 复制开始日期 作为数据复制的起始点。在此日期之前创建的任何数据都不会被同步。请注意,默认值为 2020 年 1 月 1 日。
  5. 点击 设置来源 并等待连接测试完成。

自定义应用范围

将以下范围添加到您的自定义应用程序,以确保 Airbyte 可以同步所有可用数据。有关访问范围的更多信息,请参阅 Shopify 文档

  • read_analytics
  • read_assigned_fulfillment_orders
  • read_content
  • read_customers
  • read_discounts
  • read_draft_orders
  • read_fulfillments
  • read_gdpr_data_request
  • read_gift_cards
  • read_inventory
  • read_legal_policies
  • read_locations
  • read_locales
  • read_marketing_events
  • read_merchant_managed_fulfillment_orders
  • read_online_store_pages
  • read_order_edits
  • read_orders
  • read_price_rules
  • read_product_listings
  • read_products
  • read_publications
  • read_reports
  • read_resource_feedbacks
  • read_script_tags
  • read_shipping
  • read_shopify_payments_accounts
  • read_shopify_payments_bank_accounts
  • read_shopify_payments_disputes
  • read_shopify_payments_payouts
  • read_themes
  • read_third_party_fulfillment_orders
  • read_translations

支持的同步模式

Shopify 来源连接器支持以下 同步模式

功能支持?
完全刷新同步
增量同步

Shopify 来源支持完全刷新和增量同步。您可以选择此连接器是仅复制新的或更新的数据,还是每次运行同步时复制表格和列中所有行。

此来源可以同步 Shopify REST APIShopify GraphQL APIShopify GraphQL BULK API 的数据

支持的流

实体关系图 (ERD)

捕获已删除的记录

该连接器捕获 ArticlesBlogsCustomCollectionsOrdersPagesPriceRules 流中的记录删除。当记录被删除时,连接器会输出一个包含该记录的 ID 以及填充了 deleted_atdeleted_messagedeleted_description 字段的记录。已删除记录的其他字段均未填充。

对于已删除的产品,请使用专用的 Deleted Products 流,该流查询 Shopify GraphQL Events API 以获取产品删除事件。此流返回包含 id(产品 ID)、deleted_atdeleted_messageshop_url 字段的记录。

请查看以下 Shopify 文档,了解有关检索已删除记录的更多信息。

营销归因数据

营销归因相关的数据可以在几个不同的流中找到。同步这些流以了解营销效果

  • Customer Journey Summary (firstVisit.source, firstVisit.sourcetype)
  • Orders (referring_site, source_name)
  • Abandoned Checkouts (referring_site, source_name)

功能

功能支持?(是/否)
完全刷新同步
增量 - 追加同步
命名空间

数据类型映射

集成类型Airbyte 类型
字符串字符串
数字数字
arrayarray
对象对象
布尔值布尔值

限制和故障排除

展开以查看 Shopify 连接器限制和故障排除的详细信息

连接器限制

速率限制

Shopify 有一些 速率限制。通常,不应出现节流或超出速率限制的问题,但在某些极端情况下,您可能会遇到以下警告消息

"Caught retryable error '<some_error> or null' after <some_number> tries.
Waiting <some_number> seconds then retrying..."

当连接器遇到 429 - Rate Limit Exceeded HTTP 错误时,这是预期的。在短暂的回退期后,同步操作将继续成功。

对于所有 Shopify GraphQL BULK api 请求,这些限制适用:https://shopify.dev/docs/api/usage/bulk-operations/queries#operation-restrictions。请注意,不同的请求有不同的限制。

故障排除

  • 如果您在使用 OAuth2.0 身份验证时遇到访问错误,请确保您已遵循此 Shopify 文章 首先请求访问客户端的商店。一旦授予访问权限,您应该能够继续使用 OAuth2.0 身份验证。
  • 如果您收到“由于另一个作业正在运行,因此此时无法创建 BULK 作业。”错误,请 检查您的作业进度 使用 Shopify GraphQL BULK api。
  • 如果您需要取消 Shopify GraphQL BULK 作业,请遵循 这些步骤。您需要当前正在进行的作业 ID 才能取消。
  • 在我们的 Airbyte 论坛上查看 Shopify 来源连接器的常见故障排除问题 此处

参考

配置字段参考

字段
类型
属性名称
字符串
shop
整数
bulk_window_in_days
对象
credentials
布尔值
fetch_transactions_user_id
整数
job_checkpoint_interval
布尔值
job_product_variants_include_pres_prices
整数
job_termination_threshold
字符串
start_date

变更日志

展开以查看
版本日期拉取请求主题
3.1.22026-01-1571188在连接检查中处理 CDK 异常
3.1.12026-01-0671035修复 countries 流中 profile_location_groups 为空时的 IndexError
3.1.02026-01-0571005使用 GraphQL Events API 添加 deleted_products
3.0.132025-10-2168245更新依赖项
3.0.122025-10-1467805更新依赖项
3.0.112025-10-0767448更新依赖项
3.0.102025-09-3066904更新依赖项
3.0.92025-09-1666291将发布候选版本 3.0.9-rc.1 提升到主版本。
3.0.9-rc.12025-09-0965987使用筛选字段值调整具有 ID 光标字段的流的切片。
3.0.82025-09-0465552修复 Metafield 子流的增量同步。
3.0.72025-06-0259015🐙 source-shopify: 更新依赖项 [2025-05-17]
3.0.62025-05-2860797通过添加动态页面限制修复 ordersorder_refunds 流中的 500 错误。
3.0.52025-04-2358598修复 product_variants 流中 Null measurement_weight 字段的 AttributeError
3.0.42025-04-1958431更新依赖项
3.0.32025-04-1257984更新依赖项
3.0.22025-04-0557449更新依赖项
3.0.12025-03-2956861更新依赖项
3.0.02025-03-2755823更新 API 版本
2.6.72025-03-2256316更新依赖项
2.6.62025-03-0855621更新依赖项
2.6.52025-03-0155126更新依赖项
2.6.42025-02-2254477更新依赖项
2.6.32025-02-1551983更新依赖项
2.6.22025-01-1450976重试返回 HTTP 500 的请求
2.6.12025-02-1651602更新了关于 此更改的弃用通知的 UpgradeDeadline
2.6.02025-01-1551037从流目录中弃用了 ProductsGraphQLCustomerSavedSearch
2.5.182025-01-1151326更新依赖项
2.5.172025-01-0650884moments 字段添加到 Customer Journey Summary
2.5.162025-01-0450938更新依赖项
2.5.152024-12-2850779更新依赖项
2.5.142024-12-2149088更新依赖项
2.5.132024-12-1149134为支持 BULK 的流添加了 checkpointed value 冲突检测
2.5.122024-11-2548661从这个版本开始,Docker 镜像现在是 rootless。 请注意,此版本和未来的版本将与 Airbyte 版本早于 0.64 不兼容
2.5.112024-11-0748402image_srcimage_url,包括 options 添加到 Product Variants
2.5.102024-11-0548322更新依赖项
2.5.92024-10-2947814更新依赖项
2.5.82024-10-2847044更新依赖项
2.5.72024-10-1446552为 BULK 子流添加 parent state 跟踪
2.5.62024-10-1246844更新依赖项
2.5.52024-10-0546578引发缺失流的异常
2.5.42024-10-0545759更新依赖项
2.5.32024-09-2746095修复了 Product ImagesMetafield Product ImagesMetafield Products 流的增量同步中的重复项
2.5.22024-09-1745633product_variants 流添加 read_inventory 作为必需的作用域
2.5.12024-09-1445255更新依赖项
2.5.02024-09-0645190迁移到 CDK v5
2.4.242024-09-0345116使 custom_collections 删除事件的消息和描述可为空
2.4.232024-08-3144971更新依赖项
2.4.222024-08-2444723更新依赖项
2.4.212024-08-1744318更新依赖项
2.4.202024-08-1243834更新依赖项
2.4.192024-08-1043194更新依赖项
2.4.182024-08-0643326Customer Journey Summary 流模式添加了缺失的 type 类型
2.4.172024-08-0242973修复了 no-checkpointing BULK 流的 FAILED 作业处理,修复了带有 Deleted Events 的 REST 流的 STATE 冲突
2.4.162024-07-2142095BULK 流添加了 Checkpointing,修复了 store 重定向
2.4.152024-07-2742806更新依赖项
2.4.142024-07-2042150更新依赖项
2.4.132024-07-1341809更新依赖项
2.4.122024-07-1041103更新依赖项
2.4.112024-07-0941068options 字段添加到 Product Variants
2.4.102024-07-0941042使用最新的 CDK: 3.0.0
2.4.92024-07-0640768更新依赖项
2.4.82024-07-0340707修复了当 product_images 流发出没有 primary_key 的记录时的错误
2.4.72024-06-2740593使用尽可能最新的 CDK 版本
2.4.62024-06-2640526使 BULK Job termination threshold 限制可从 input configuration 调整,并将默认值增加到 1 hour
2.4.52024-06-2540484更新依赖项
2.4.42024-06-1939594扩展了 Discount CodesFulfillment OrdersInventory ItemsInventory LevelsProductsProduct VariantsTransactions 流模式
2.4.32024-06-0638084使用 HttpClient 对一些瞬态错误添加弹性
2.4.12024-06-2039651更新依赖项
2.4.02024-06-1739527添加了新的流 Order Agreements
2.3.02024-06-1439487添加了新的流 Customer Journey Summary
2.2.32024-06-0638084使用 HttpClient 对一些瞬态错误添加弹性
2.2.22024-06-0439019[autopull] 将基础镜像升级到 v1.2.1
2.2.12024-05-3038769使 products 流返回所有标签,以逗号分隔
2.2.02024-05-2938746更新了 countries 模式
2.1.42024-05-2438610将源 API Version 更新到 2024-04
2.1.32024-05-2338464Products 流添加了缺失的字段
2.1.22024-05-2338352Order Risks 流迁移到 GraphQL BULK
2.1.12024-05-2038251将 AirbyteLogger 替换为 logging.Logger
2.1.02024-05-0237767ProductsProduct ImagesProduct Variants 迁移到 GraphQL BULK
2.0.82024-05-0237589为 BULK 流添加了 HTTP 错误重试
2.0.72024-04-2436660模式描述
2.0.62024-04-2237468为 BULK 流的 Internal Server Error 添加了一次重试
2.0.52024-04-0336788添加了动态调整 slice 大小的能力
2.0.42024-03-2236355更新 CDK 版本以确保 Per-Stream 错误消息和状态中的记录计数(功能已经存在,只是提高版本)
2.0.32024-03-1536170修复了 nested 子流的 STATE 消息发射频率
2.0.22024-03-1236000修复无效商店名称导致索引超出范围错误的错误
2.0.12024-03-1135952修复了缺少 start datestream 需要它的问题
2.0.02024-02-1232345修复了 state 导致 substreams 跳过记录的问题,使 metafield_*: collections, customers, draft_orders, locations, orders, product_images, product_variants, products,以及 fulfillment_orders, collections, discount_codes, inventory_levels, inventory_items, transactions_graphql, customer_address 流使用 BULK Operations 而不是 REST
1.1.82024-02-1235166使用 Poetry 管理依赖项。
1.1.72024-01-1933804更新了文档,其中包含所有受支持的流的列表
1.1.62024-01-0433414为 airbyte-lib 准备
1.1.52023-12-2833827修复 GraphQL 查询
1.1.42023-10-1931599基础镜像迁移:移除 Dockerfile 并使用 python-connector-base 镜像
1.1.32023-10-1731500修复了在设置新源时未进行身份验证时导致的 missing access token 问题
1.1.22023-10-1331381修复了在分页时使用 state 获取 deleted events 时导致的问题
1.1.12023-09-1830560性能测试 - 在 docker 镜像中包含 socat 二进制文件
1.1.02023-09-0730246添加了获取 ArticlesBlogsCustomCollectionsOrdersPagesPriceRulesProductsdestroyed 记录的能力
1.0.02023-08-1129361迁移到 2023-07 Shopify API 版本
0.6.22023-08-0929302处理实体无法获取时的 Internal Server Error
0.6.12023-08-0828291允许 shop 字段接受 *.myshopify.com 商店名称,更新了 OAuth Spec
0.6.02023-08-0228770添加了 Disputes
0.5.12023-07-1328700改进了 error messages,使其更易于用户理解,重构了代码
0.5.02023-06-1327732许可证更新:Elv2
0.4.02023-06-1327083添加了 CustomerSavedSearchCustomerAddressCountries
0.3.42023-05-1025961为输入配置中的 shop 添加了验证(接受非 URL 样式的输入)
0.3.32023-04-1225110修复了当 cursor_field"None" 时的问题,添加了流模式中缺失的属性,修复了 access_scopes 验证错误
0.3.22023-02-2723473修复了 Airbyte Cloud 的 OOM / 内存泄漏问题
0.3.12023-01-1621461discount_applications 添加到 orders
0.3.02022-11-1619492添加了 graphql 支持并添加了一个 graphql 产品流
0.2.02022-10-2118298将 API 版本更新到 2022-10,使流模式向后兼容
0.1.392022-10-1317962添加了 metafield 流;支持嵌套列表流
0.1.382022-10-1017777修复了配置流的 404,修复了旧记录的缺失 cursor 错误
0.1.372022-04-3012500改进了输入配置复制
0.1.362022-03-229850添加了 BalanceTransactions
0.1.352022-03-0710915修复了一个导致为 incremental 配置的子 REST 实体的 full-refresh 同步的问题
0.1.342022-03-0210794次要规范重新排序,修复了文档中的链接
0.1.332022-02-1710419修复了 Abandoned_checkouts 流中 tax_exemptions 的错误字段类型
0.1.322022-02-1810449添加了 tender_transactions
0.1.312022-02-0810175修复了旧版用户配置的兼容性问题
0.1.302022-01-249648添加了同步前的权限验证
0.1.292022-01-209248为所有流的记录添加了 shop_url
0.1.282022-01-199591为 Airbyte Cloud 实现了 OAuth2.0 身份验证方法
0.1.272021-12-229049更新了连接器字段标题/描述
0.1.262021-12-148597修复了基本规范化中的 mismatched number of tables,提高了 order_refunds 流的性能
0.1.252021-12-028297添加了 Shop 流
0.1.242021-11-307783审查并更正了所有流的模式
0.1.232021-11-157973添加了 InventoryItems
0.1.222021-10-187107添加了 FulfillmentOrders、Fulfillments 流
0.1.212021-10-147382修复了 InventoryLevels 主键
0.1.202021-10-147063添加了 LocationInventoryLevels 作为流
0.1.192021-10-116951添加了对 OAuth 2.0 授权选项的支持
0.1.182021-09-216056pre_tax_price 添加到 orders/line_items 模式
0.1.172021-09-175244创建了将价格转换为数字的数据类型强制执行器
0.1.162021-09-095945修复了连接器的 Incremental refresh 性能
0.1.152021-09-025853修复了 order_refund 模式中的 amount 类型
0.1.142021-09-025801修复了 orders 模式中 line_items/discount allocationsduties 部分
0.1.132021-08-175470修复了速率限制节流
0.1.122021-08-095276为产品模式添加了状态属性
0.1.112021-07-234943修复了产品模式,最高到 API 2021-07
0.1.102021-07-194830修复了流 json 模式,升级到 API 版本 2021-07
0.1.92021-07-044472增量同步现在默认使用 updated_at 而不是 since_id
0.1.82021-06-294121添加了草稿订单流
0.1.72021-06-264290修复了将输出记录限制为 1 导致无限循环的错误
0.1.62021-06-244009添加了页面、价格规则和折扣代码流
0.1.52021-06-103973添加了 AIRBYTE_ENTRYPOINT 以支持 Kubernetes
0.1.42021-06-093926新的订单模式属性
0.1.32021-06-083787添加了 Native Shopify 来源连接器