标签: shopify-api

Shopify - 根据查询参数预填充帐单地址

我正在尝试通过 URL 查询参数在 Shopify 结账中预填充送货/账单地址。我发现使用此处引用的送货地址很容易做到这一点:

https://community.shopify.com/c/Shopify-APIs-SDKs/Autofill-checkout-fields/td-p/318793

但是,当我尝试对帐单信息执行相同操作时,付款屏幕上始终选择“与送货地址相同”单选框,如果我手动选择不同地址的选项,则所有值都为空

如何预填充两个地址?我已经尝试将帐单查询参数直接添加到结帐付款页面 URL,但这也不起作用。这是我一直在尝试的网址:

demo-store.myshopify.com/checkout?checkout[email]=fake.name@gmail.com&checkout[shipping_address][first_name]=John&checkout[shipping_address][last_name]=Doe&checkout[shipping_address][address1]=333%20Fake%20St.&checkout[shipping_address][city]=San%20Diego&checkout[shipping_address][province]=CA&checkout[shipping_address][country]=USA&checkout[shipping_address][zip]=92116&checkout[shipping_address][phone]=333-333-3333&checkout[different_billing_address]=true&checkout[billing_address][first_name]=Jane&checkout[billing_address][last_name]=Doe&checkout[billing_address][address1]=444%20Fake%20St%20&checkout[billing_address][city]=San%20Diego&checkout[billing_address][province]=CA&checkout[billing_address][country]=USA&checkout[billing_address][zip]=92121&checkout[billing_address][phone]=444-444-4444
Run Code Online (Sandbox Code Playgroud)

另外,额外的问题,运输状态似乎总是根据 IP 地址填充,所以即使我给它传递一个值,它也会显示我所处的状态。我怎样才能让它始终反映查询参数的值?

query-parameters url-parameters shopify shopify-api

8
推荐指数
1
解决办法
567
查看次数

即使用户关闭了 Web 浏览器/选项卡,如何运行 Python 3 函数?

我在处理一个 python 项目时遇到问题(我通常使用 PHP/Java,所以我缺乏一些知识)。基本上,我有一个使用 Flask 构建的 Python 程序,该程序使用 Shopify Python API 将库存管理系统连接到 Shopify。

当用户通过 AJAX 请求触发功能时,我需要启动一个功能/流程,通过 Shopify API 更新客户 Shopify 商店中的产品。这大约需要 2 个小时(大约 7000 件产品加上必须首先从库存管理系统中提取它们)。问题是我需要一种方法来触发这个函数/进程,即使客户端关闭浏览器,函数/进程也会继续运行。

如果有任何方法可以使用此后台功能/进程的当前进度来更新前端,那将会膨胀。

如果有人知道完成此任务的任何图书馆或资源,将不胜感激。我有一个谷歌,但我能找到的所有解决方案似乎都是针对 CLI 脚本而不是 Web 脚本的。

谢谢堆,科里:)

python python-3.x shopify-api

8
推荐指数
2
解决办法
421
查看次数

使用来自链接标头 RFC8288 的 RESTful 分页信息

我正在与 Shopify 交互,他们使用 RESTful API。当我请求返回项目数组的资源时,它们使用 RFC8288 分页格式。

例如,https://example.com/api/inventory_levels.json ?limit=10 返回 10 个实体以及以下响应标头:

Link: <https://example.com/api/inventory_levels.json?limit=10&page_info=eyJs9pZHMiO>; 
rel="previous", <https://example.com/api/inventory_levels.json?limit=10&page_info=MiZHeyJs9pO>; rel="next"
Run Code Online (Sandbox Code Playgroud)

显然,如果我想从该资源中检索所有实体,我需要迭代“下一个”URL,直到不再返回“下一个”。但是我如何使用 JAVA 或 C# 代码解析这些信息呢?我可以使用正则表达式来<(?<next_url>.*)>; rel="next"从中检索“next_url”。但感觉就像是重新发明轮子,不够稳健。

如果这是一个定义明确的功能,那么难道不应该有一个现成的库/基础设施可以使用吗?我只是不想因为有一天格式显示不同(例如有一个额外的空格等)而感到惊讶,并且在遵守 RFC 定义的同时打破了我匆忙整理的 RegEx 解决方案。

欢迎提出 Java 或 C# 的建议。

c# java pagination restful-url shopify-api

5
推荐指数
0
解决办法
1154
查看次数

Shopify API Node/Express 无法读取未定义的属性(读取“Rest”)

刚刚开始使用 Shopify,并尝试获得订单。根据 Shopify API 文档,这是我的代码:

const Shopify = require('@shopify/shopify-api');

const client = new Shopify.Clients.Rest('my-store.myshopify.com', 
process.env.SHOPIFY_KEY);

module.exports.getShopifyOrderById = async (orderId) => {
return await client.get({ 
    path: `orders/${orderId}`,
  });
}
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,出现以下错误:

TypeError: Cannot read properties of undefined (reading 'Rest')

似乎无法弄清楚问题是什么。

node.js shopify express shopify-app shopify-api

5
推荐指数
1
解决办法
4859
查看次数

@shopify/shopify-api jws 依赖不起作用

我是 Shopify 的新手,当我尝试使用 @shopify/shopify-api 时遇到问题。我正在从 API 导入此属性。

import Shopify from '@shopify/shopify-api'
Run Code Online (Sandbox Code Playgroud)

当我进行导入时,出现下一个错误。

Uncaught TypeError: util.inherits is not a function
at node_modules/jsonwebtoken/node_modules/jws/lib/data-stream.js (data-stream.js:39:6)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
at node_modules/jsonwebtoken/node_modules/jws/lib/sign-stream.js (sign-stream.js:3:18)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
at node_modules/jsonwebtoken/node_modules/jws/index.js (index.js:2:18)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
at node_modules/jsonwebtoken/decode.js (decode.js:1:11)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
at node_modules/jsonwebtoken/index.js (index.js:2:11)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
Run Code Online (Sandbox Code Playgroud)

所以我转到文件中发生错误的行:

node_modules/jsonwebtoken/node_modules/jws/lib/data-stream.js
Run Code Online (Sandbox Code Playgroud)

我发现错误是节点包中的一个属性

如果您在此处看不到图像,请查看代码行。

util.inherits(DataStream, Stream);
Run Code Online (Sandbox Code Playgroud)

所以我查阅了节点文档,发现该方法不鼓励使用,但并未弃用,因此它应该可以工作。

如果您看不到图像,这里是该方法的描述。

不鼓励使用util.inherits()。请使用 ES6 class 和 extends 关键字来获得语言级别的继承支持。另请注意,这两种样式在语义上不兼容。

将原型方法从一个构造函数继承到另一个构造函数。构造函数的原型将被设置为从创建的新对象 superConstructor

这主要是在Object.setPrototypeOf(constructor.prototype, superConstructor.prototype). 作为额外的便利, superConstructor可通过constructor.super_ 酒店抵达。

有问题的包名为 jws,我不太确定这个包的用途,我有修改文件并使用原型继承替换该代码行的想法,但我不知道这样做有多好。此外,我必须对每个存在该问题的文件执行此操作,我还没有在互联网上找到有关此问题的任何信息。

shopify shopify-app shopify-api-node shopify-api

5
推荐指数
0
解决办法
337
查看次数

如何根据Python中动态给出的多个不同标签获取shopify产品?

我正在尝试通过基于标签的过滤来从 Shopify 获取产品。标签将是动态的,不止一个,并且会发生变化。

import json
import time
import requests

API_KEY = 'xxxx'
PASSWORD = 'xxxx'
SHOP_NAME = 'xxxx'
API_VERSION = '2020-04' #change to the API version
shop_url = "https://%s:%s@%s.myshopify.com/admin/api/%s" % (API_KEY, PASSWORD, SHOP_NAME, API_VERSION)

def callShopifyGraphQL(GraphQLString, data):
    headers = {
        "X-Shopify-Storefront-Access-Token": 'xxxxxx',
        "accept":"application/json"      
    }
    response = requests.post(shop_url+'/graphql', json={'query': GraphQLString, 'variables': data}, headers=headers)
    answer = json.loads(response.text)
    return answer['data']

str1 = '0-12'
str2 = 'physical'

graphQLquery7 = """ {
  products(first:100, query:"tag:$tags") {
    edges {
      node {
        id
        tags
        title
        onlineStoreUrl
      }
    } …
Run Code Online (Sandbox Code Playgroud)

shopify graphql shopify-api-node shopify-api

3
推荐指数
1
解决办法
5168
查看次数

结帐时修改 Shopify 运费

我们是否可以通过 API 调用或脚本在结账时添加自定义运费? 在此输入图像描述

我想根据一些规则修改价格,但我不知道如何在 Shopify 中执行此操作。任何帮助将不胜感激。

shopify shopify-app shopify-api-node shopify-api

3
推荐指数
1
解决办法
2035
查看次数

Shopify 产品 API 跳过分页中的项目

我正在尝试创建一个分页的 shopify 产品页面。我正在使用since_id他们的文档中列出的策略:https : //shopify.dev/docs/admin-api/rest/reference/products/product#index-2020-10

使用此端点,如文档中所述:

/products.json?limit=5&since_id=${sinceId}

因为Id是上一页上最​​后一个产品的ID

分页似乎跳过项目。它似乎没有跳过一定数量的产品。有时它只是一个。其他的最多可达 10 个。

显然,这使得“分页”不起作用。

我知道标题解决方案中的链接。但是想知道是否有人遇到过这个问题since_id

shopify shopify-api

2
推荐指数
1
解决办法
186
查看次数

如何在 Shopify 中使用 GraphQL 更新商店元字段

如何在 shopify 中使用 GraphQL 创建/更新商店元字段?我可以使用以下内容轻松创建集合元字段:

mutation {
  collectionUpdate(
    input: {
      id: "gid"
      metafields: [
        {
          namespace: "testNamespace"
          key: "testKey"
          value: "someValue2"
          valueType: STRING
        }
        {
          id: "gid"
          value: "value"
        }
      ]
    }
  ) {
    collection {
      id
      metafields(first: 10) {
        edges {
          node {
            id
            value
          }
        }
      }
    }
    userErrors {
        field
        message
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

但这家商店似乎没有类似的东西。此外,可以使用以下方式检索商店元字段:

{
  shop {
    metafield(namespace:"namespace",key:"key") {
          id
          value
        }
  }
}
Run Code Online (Sandbox Code Playgroud)

shopify graphql shopify-api

2
推荐指数
1
解决办法
2421
查看次数

在前端使用shopify admin api时出现CORS错误

我有 shopify admin api,我想在前端调用它,但是当我尝试获取数据时,它给出以下错误“访问 XMLHttpRequest at 'https://API_KEY:PASSORD@NAME.myshopify.com/admin来自原点“null”的“/api/2021-07/orders.json”已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:“Access-Control-Allow-Origin”标头不存在请求的资源。”,我使用 axios 和 fetch,但都不起作用。任何帮助我们将不胜感激。

javascript shopify-api

2
推荐指数
1
解决办法
1万
查看次数