问题标签 [shopify-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
459 浏览

shopify - Shopify - inventory_quantity 弃用通知

我正在使用 Shopify Admin REST API 进行商品和库存同步,并且我没有在变体 API 中发送 inventory_quantity 字段,但我在几天前收到了 Shopify 的以下电子邮件。创建履行时,我也发送了正确的 location_id,它在 Shopify 中成功创建。

现在在创建履行和退款请求时需要 location_id 字段。

Inventory_quantity 和inventory_quantity_adjustment 不能再在产品变体上设置。

于 2019-10 年弃用,支持将于 2020 年 7 月 1 日移除

我想知道上面的电子邮件是否是 Shopify 发送给所有开发者的通用电子邮件?还是我在这里做错了什么?

0 投票
0 回答
127 浏览

graphql - 如何修复 Shopify GraphQL 错误:“在线商店渠道已锁定。”

在我正在开发的 Shopify 主题中,Chrome 开发工具中的网络选项卡显示请求/api/graphql返回状态代码 400 和以下错误消息: {"error":"Online Store channel is locked."}

此请求的有效负载是:

为什么会失败,我该如何解决?

0 投票
0 回答
341 浏览

ruby-on-rails - 基于相对光标的分页在 Shopify api gem 中不起作用

我已经使用 shopify_api gem 在我的 Shopify 应用程序中实现了基于相对光标的分页。

这是我实现的代码

但它在next_page上给了我一个错误?和fetch_next_pagehttps://prnt.sc/q95sjp

有什么见解吗?

0 投票
1 回答
607 浏览

php - 如何返回单个资产 OhMyBrew Laravel Shopify

我正在尝试使用 ohmybrew/laravel-shopify 在 Laravel 中以单个 Shopify 资产的形式获取对象:

我相信 $asset 的结果应该是 Shopify 资产但是当我 print_r($asset) 我得到这个:

_secure_admin_session_id_csrf=7e198a5093ed7d91cfd87bda81a73126;路径=/管理员;过期=2020 年 3 月 16 日星期一 13:28:09 -0000;安全的; 仅http;SameSite=Lax [3] => _orig_referrer=; 过期=格林威治标准时间 19 年 12 月 30 日星期一 13:28:09;路径=/; HttpOnly [4] => _landing_page=%2Fadmin%2Fauth%2Flogin; 过期=格林威治标准时间 19 年 12 月 30 日星期一 13:28:09;路径=/; HttpOnly [5] => _master_udr=eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJaWszTTJGbVl6VmlaaTA0TlRoa0xUUmtOemN0T0RZNU55MWxZV0l6WVRnM05HVmtObVlHT2daRlJnPT0iLCJleHAiOiIyMDIxLTEyLTE2VDEzOjI4OjA5LjU3OVoiLCJwdXIiOiJjb29raWUuX21hc3Rlcl91ZHIifX0%3D--e71a00abb5d0a41d5af672a647e68b4306ceea78; 域=.myshopify.com;路径=/管理员;到期=2021 年 12 月 16 日星期四 13:28:09 -0000;安全的; HttpOnly ) [X-Sorting-Hat-PodId] => 数组 ( [0] => 87 ) [X-Sorting-Hat-ShopId] => 数组 ( [0] => 8865972324 ) [Vary] => 数组 ( [ 0] =>; 阻止所有混合内容;child-src 'self' https:// shopify-pos:// ; 连接-src 'self' wss:// https://*; 框架祖先“无”;img-src 'self' 数据:blob:https:;script-src https://cdn.shopify.com https://cdn.shopify.cn https://js-agent.newrelic.com https://bam.nr-data.net https://v.shopify .com'unsafe-inline' 'unsafe-eval'; 升级不安全请求;report-uri /csp-report?source%5Baction%5D=login&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Fauth&source%5Bsection%5D=admin&source%5Buuid%5D=8f3c44cc-7e32-48f5-a018-80df31681bc9) [X-Content-Type-Options] => Array ([0] => nosniff) [X-Download-Options] => Array ([0] => noopen) [X-Permitted-Cross-Domain-Policies] = > 数组 ( [0] => 无 ) [X-XSS-Protection] => 数组 ( [0] => 1; mode=block; report=/xss-report?source%5Baction%5D=login&source%5Bapp%5D =Shopify&source%5Bcontroller%5D=admin%2Fauth&source%5Bsection%5D=admin&source%5Buuid%5D=8f3c44cc-7e32-48f5-a018-80df31681bc9 ) [X-Dc] => 数组 ([0] => gcp-us-east1 ,gcp-us-central1,gcp-us-central1 ) [NEL] => 数组 ([0] => {"report_to":"https://monorail-edge.shopifycloud.com/v1/reports/nel/20190325/shopify "}]} [1] => {"group":"network-errors","max_age":2592000,"endpoints" :[{"url":" https://monorail-edge.shopifycloud.com/v1/reports/nel/20190325/shopify"}]}) [X-Request-ID] => 数组 ([0] => 8f3c44cc-7e32-48f5-a018-80df31681bc9) [CF-Cache-Status] => 数组 ([0] => DYNAMIC) [ Expect-CT] => 数组 ([0] => max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" ) [服务器] => 数组 ( [0] => cloudflare ) [CF-RAY] => 数组 ( [0] => 5460ffb34d00dc0b-LHR ) ) [headerNames:GuzzleHttp\Psr7\Response:private] => 数组 ( [日期] => Date [content-type] => Content-Type [transfer-encoding] => Transfer-Encoding [connection] => Connection [set-cookie] => Set-Cookie [x-sorting-hat-podid] => X- Sorting-Hat-PodId [x-sorting-hat-shopid] => X-Sorting-Hat-ShopId [vary] => Vary [referrer-policy] => Referrer-Policy [x-frame-options] => X- Frame-Options [x-shopid] => X-ShopId [x-shardid] =>X-ShardId [cache-control] => Cache-Control [x-shopify-login-required] => X-Shopify-Login-Required [shopify-auth-mechanisms] => Shopify-Auth-Mechanisms [strict-transport- security] => Strict-Transport-Security [x-shopify-stage] => X-Shopify-Stage [content-security-policy] => Content-Security-Policy [x-content-type-options] => X- Content-Type-Options [x-download-options] => X-Download-Options [x-permitted-cross-domain-policies] => X-Permitted-Cross-Domain-Policies [x-xss-protection] => X-XSS-Protection [x-dc] => X-Dc [nel] => NEL [report-to] => Report-To [x-request-id] => X-Request-ID [cf-cache- status] => CF-Cache-Status [expect-ct] => Expect-CT [server] => Server [cf-ray] => CF-RAY ) [protocol:GuzzleHttp\Psr7\Response:private] => 1.1 [流:GuzzleHttp\Psr7\Response:private] =>GuzzleHttp\Psr7\Stream 对象 ( [stream:GuzzleHttp\Psr7\Stream:private] => 资源 id #15 [size:GuzzleHttp\Psr7\Stream:private] => [seekable:GuzzleHttp\Psr7\Stream:private] => 1 [可读:GuzzleHttp\Psr7\Stream:private] => 1 [可写:GuzzleHttp\Psr7\Stream:private] => 1 [uri:GuzzleHttp\Psr7\Stream:private] => php://temp [customMetadata: GuzzleHttp\Psr7\Stream:private] => Array ( ) ) [body] => [link] => [timestamps] => Array ( [0] => [1] => 1576502889.2041 )GuzzleHttp\Psr7\Stream:private] => Array ( ) ) [body] => [link] => [timestamps] => Array ( [0] => [1] => 1576502889.2041 )GuzzleHttp\Psr7\Stream:private] => Array ( ) ) [body] => [link] => [timestamps] => Array ( [0] => [1] => 1576502889.2041 )

我可以使用以下方法正确检索所有资产的列表:

但是这个对象不包括我需要的信息——特别是每项资产的价值。

Shopify 文档详细说明了这是检索单个资产的正确方法:

GET /admin/api/2019-10/themes/#{theme_id}/assets.json?asset[key]=templates/index.liquid&theme_id=828155753

我可以成功地从浏览器发出 GET 请求来检索我想要的信息。

不确定我在 PHP/Laravel/OhMyBrew 方面做错了什么。

0 投票
1 回答
95 浏览

php - 创建带有置换选项的 Shopify 产品

我想知道如何创建一个预设了多个选项值的新项目。例如,衬衫有选项,尺寸:值:S,和颜色:值:R、G。当我在 Shopify 管理员上手动执行此操作时,我得到选项 S/R、S/G。

但是,使用 API,使用以下作为选项不会生成选项的排列。

我知道您可以使用变体并分配 option1 和 option2,但这意味着我必须自己生成排列并发送该发布请求。这是唯一的方法吗?

0 投票
1 回答
42 浏览

flutter - 将电子商务应用程序与现有电子商务商店链接

目前设计了我正在从现有 Shopify 商店开发的电子商务应用程序的 UI。我将我的设计带到了 Supernova(从设计到代码的平台),我想知道如何将 Shopify API 合并到应用程序中,以便我可以在应用程序中显示我的产品,并将其链接到 Shopify 商店。希望有人可以帮助我吗?

0 投票
0 回答
462 浏览

ruby-on-rails - 应该如何使用来自 shopify_api gem 的 ShopifyAPI::GraphQL?(未定义的方法 `path=' )

我正在尝试使用 shopify_api gem 中的 ShopifyAPI::GraphQL,它似乎在我的本地环境中运行良好,但我在 Heroku 环境中遇到了问题。

第一个错误似乎与 shopify_api gem 中的错误有关,并通过设置 api 版本修复,即 ShopifyAPI::Base.api_version = "2019-10"(即使它已经在 config/initializers/shopify_app. rb 带有 config.api_version = "2019-10")。

继续我在 Heroku 环境中启动服务器时收到以下错误:

查看来自 shopify_api 的 graphql.rb 文件中失败的行:

这似乎是由于 Base.site 为 nil 的事实引起的,这是有道理的,因为在服务器启动时没有会话。

据我所知,graphql 查询需要是常量,并且当它们引用 graphql 客户端时,我将 graphql 客户端实例化为类参数:

上面的行似乎是在服务器启动期间初始化的(我对 Rails 很陌生),并且如前所述,发生错误是因为没有会话,因此当时没有站点。

所以我一定是错误地使用了graphql组件。我的问题是,我应该如何使用 ShopifyAPI::GraphQL 类?例如,我应该在哪里放置 ShopifyAPI::GraphQL.new 代码?

或者让问题更笼统 - graphql-client 需要查询,因此 graphql 客户端 ShopifyAPI::GraphQL 被定义为常量。如何防止在服务器启动期间初始化常量,因为在服务器启动时没有初始化 graphql 客户端时需要的会话?

谢谢,-路易丝

0 投票
1 回答
153 浏览

rest - Shopify API:如何获取大于的 id

如何通过 ID 大于 xxxxx 的 Shopify API 获得订单?

就像是:

或者

我希望你明白我的意思。

0 投票
2 回答
622 浏览

javascript - 如何强制我的脚本在异步外部脚本之后加载?

我有一个正在修改 Shopify 应用程序的脚本(这意味着脚本是通过第三方进程附加的,我无法访问它们。)我希望我的脚本仅在脚本完全执行完成后加载,但我可以'不知道用什么来表示这个过程已经完成。

这是我的脚本(目前使用 setInterval 作为权宜之计):

这是附上他们的脚本的地方:

这是他们的脚本本身:

0 投票
1 回答
1336 浏览

shopify-api - 我无法使用 shopify Api 获取 page_info

我正在做 Shopify 版本控制,因为我无法获取页面数据。我查看 API 新版本,因为我显示 page_info 我在哪里获得 page_info