有赞新零售社区

发帖
API使用问题»调用接口,发现退单数据缺失

[API调用-商品/交易] 调用接口,发现退单数据缺失

大师兄 2 天前 282 浏览 26 评论 | 只看楼主 [打印]
调接口发现数据缺失:
缺失的数据是有赞的接口没有返回导致,调用接口根据更新的开始时间和截止时间倒序拉不出来,但是根据订单id可以查询出来,
例如:订单的tid=E2024101612575806970043
这是咋回事?

用手机打开
收藏 ··· 回复
    尊敬的有赞用户 您好,我们已收到您的问题,并已安排相关技术支持正在处理中,请耐心等待。您可以关注之前预留的邮箱539918464@注意问题解决进度提醒邮件。

      请问调用的是什么接口报错信息 或 trace 提供下,不然无法排查问题
      • 大师兄 2 天前
        调用没报错,就是拉取数据拉不过来,有赞后台能查到,然后去调用接口数据就没有了
      • 阿文 回复 大师兄 2 天前
        您好,您还没有提供您调用的接口,就算没有报错也有 trace  入参之类的必要信息要提供下,不然完全无法排查您的问题
      • 大师兄 回复 阿文 2 天前
        退款订单接口:https://doc.youzanyun.com/detail/API/0/3694
      • 大师兄 回复 阿文 2 天前
        trace参数信息:yz7-0ae859a1-1735019228040-636
        yz7-0ae859a1-1735019334557-450322

        下面2个查询,1个是带tid,1个是不带tid,不带tid查出来就是少数据
        YouzanTradeRefundSearchParams youzanTradeRefundSearchParams = new YouzanTradeRefundSearchParams();
            youzanTradeRefundSearchParams.setTid("E20241016125758069700043");
            youzanTradeRefundSearchParams.setUpdateTimeStart(1731641670L);
            youzanTradeRefundSearchParams.setUpdateTimeEnd(1731641675L);
            youzanTradeRefundSearchParams.setPageSize(20);
            youzanTradeRefundSearchParams.setPageNo(1);


        YouzanTradeRefundSearchParams youzanTradeRefundSearchParams = new YouzanTradeRefundSearchParams();
            youzanTradeRefundSearchParams.setUpdateTimeStart(1731641670L);
            youzanTradeRefundSearchParams.setUpdateTimeEnd(1731641675L);
            youzanTradeRefundSearchParams.setPageSize(20);
            youzanTradeRefundSearchParams.setPageNo(1);



      yz7-0ae859a1-1735019228040-636


      youzan.trade.refund.search.3.0.0  入参  返回有 total375  条数据


      {
      "page_no": "1",
      "update_time_start": "1731641670",
      "update_time_end": "1731641675",
      "page_size": "20"
      },

      根据最新退款时间差查 2024-11-15 11:34:3 到 2024-11-15 11:34:35



      yz7-0ae859a1-1735019334557-450322 入参 total 1



      {
      "page_no": "1",
      "update_time_start": "1731641670",
      "tid": "E20241016125758069700043",
      "update_time_end": "1731641675",
      "page_size": "20"
      }

      根据最新时间查E20241016125758069700043  开始时间和结束时间如下

      2024-11-15 11:34:30  ~  2024-11-15 11:34:35



      您是指少了什么, 不带订单号的查询有 300 多呢,您传了 page_no 和 page_size  要分页去查其他页的数据
      • 大师兄 2 天前
        没有返回E20241016125758069700043这条数据,接口是正常,但是E20241016125758069700043这条数据的更新时间"modified": "2024-11-15 11:34:32",但是在所有分页后没有这条交易数据
        我们的问题是缺少返回数据,并不是说接口调不同

      您好,这边测试正常

      {
      "page_no": "3",
      "update_time_start": "1731641672",
      "update_time_end": "1731641675",
      "page_size": "100"
      } 第三页就有 您确认您把所有页都查完了吗
      • 阿文 2 天前
        如果按你的update_time_start 每页 100 就是第四页就能查到
      • 大师兄 2 天前
        根本查不到???
        //创建参数对象,并设置参数
        YouzanTradeRefundSearchParams youzanTradeRefundSearchParams = new YouzanTradeRefundSearchParams();
            youzanTradeRefundSearchParams.setUpdateTimeStart(1731641672L);
            youzanTradeRefundSearchParams.setUpdateTimeEnd(1731641675L);
            youzanTradeRefundSearchParams.setPageSize(100);
            youzanTradeRefundSearchParams.setPageNo(3);
        分别3页的trace_id:
        yz7-0a35003e-1735028713122-171629
        yz7-0a3506ed-1735028748501-683304
        yz7-0a35003e-1735028761765-366963
        用你们文档中心的开发工具:API调试,你再去看看?到底咋回事


      测试有的,您在看看,如果有问题,请吧所有的订单输出下给我一个订单列表,总该这个时间范围应该是260笔订单

        看你是使用 java 写的,你的 sdk 版本是多少,我这边测试下 sdk,你可以使用 postman 调用试试看看是不是也是查不到

          我这边看返回的也是 260笔,应该是在的,您把所有的订单号都输出看看
          • -- 昨天
            找到问题了,你们返回退款订单数据列表中的更新时间没有按排序规则输出,但是你们接口又有最大3000的限制,时间范围已经限制到了1个小时,这样的情况我怎么处理,
          • 阿文 回复 -- 昨天
            您好,只能继续缩小时间范围查,或者每次分页查的数据量缩小
          • -- 回复 阿文 昨天
            这个解决不了问题,如果我一秒内超了3000的限制怎么办呢,要解决这个问题,需要你能在返回列表中的更新时间时倒序或正序,我可以根据上次最后一页的最后一条数据的更新时间做起始时间,但是现在你们时乱序就没有办法保证我能拿到全部数据

          你现在的入参是怎么样的,提供下 trace
          • 大师兄 昨天
            麻烦先回答这个问题:
            这个解决不了问题,如果我一秒内超了3000的限制怎么办呢,要解决这个问题,需要你能在返回列表中的更新时间时倒序或正序,我可以根据上次最后一页的最后一条数据的更新时间做起始时间,但是现在你们时乱序就没有办法保证我能拿到全部数据
          • -- 昨天
            这种问题要我每次调用给你们trace么,

          您好,确认了,目前这个接口就是有这个限制,建议是缩小范围查,比如接消息去同步订单退款的信息,然后调用这个接口传具体的订单去查,对于历史订单可以先调用 https://doc.youzanyun.com/detail/API/0/3887 查询订单列表然后再去查退款信息  退款消息可以参考 https://doc.youzanyun.com/list/MSG/1215 这个列表的一些状态笑消息接口

          --   青铜   4 小时前 | 只看该作者
          我现在有一批交易ID调用退款列表没有返回数据,这个帮忙查一下是什么问题,
          代码:
          YouzanTradeRefundSearch youzanTradeRefundSearch = new YouzanTradeRefundSearch();


          //创建参数对象,并设置参数
          YouzanTradeRefundSearchParams youzanTradeRefundSearchParams = new YouzanTradeRefundSearchParams();
              youzanTradeRefundSearchParams.setTid("E20241004102226020606153");
              youzanTradeRefundSearchParams.setPageSize(20);
              youzanTradeRefundSearchParams.setPageNo(1);

          youzanTradeRefundSearch.setAPIParams(youzanTradeRefundSearchParams);
          YouzanTradeRefundSearchResult result = yzClient.invoke(youzanTradeRefundSearch, token, YouzanTradeRefundSearchResult.class);
          返回数据:
          {
            "trace_id": "yz7-0a350866-1735177628273-599438",
            "code": 200,
            "data": {
              "total": 0,
              "refunds": []
            },
            "success": true,
            "message": "successful"
          }

          查不到数据的交易id列表:

          E20241217213858004000119,
          E20241204151444002200015,
          E20241120112837055200062,
          E20241120112837055200061,
          E20241102094940028300029,
          E20241016100140074500011,
          E20241016100141059800049,
          E20241016100135079906163,
          E20241016100132024000031,
          E20241016100129050606159,
          E20241004102226020606153,
          • 阿文 17 分钟前
            您查的这些订单可以自行去后台的订单-售后维权列表搜搜看,我核实了几个是没有的,后台列表没有,接口也肯定是没有的,是正常的

          12跳至
          您需要登录后才可以回帖 登录 | 立即注册

          本版积分规则

          复制链接
          新浪微博
          QQ空间
          微信扫码
          • 回复

          • 评分

          客服工作时间是9:00-18:00,客服妹子当前不在线,若不能及时回复请谅解。试试右上角的搜索吧,论坛有丰富的经验贴、公告贴,相信一定能够帮到您~

          复制成功