【问题标题】:Can I get all active ARB subscription in a single API call我可以在单个 API 调用中获取所有有效的 ARB 订阅吗
【发布时间】:2020-10-05 00:20:28
【问题描述】:

当前我通过调用 API 导出所有 ARB 数据以获取所有活动 ARB id,然后通过每个 ARB id 获取存储在每个 ID 中的信息。但是这个过程太长了,它会提出很多请求。有什么方法可以像任何数据库一样在一个请求中获取所有活动的 ARB ids 数据?

https://developer.authorize.net/api/reference/index.html#recurring-billing-get-a-list-of-subscriptions

此功能仅提供少量数据,而我需要将完整数据存储在像这样的配置文件中:https://developer.authorize.net/api/reference/index.html#recurring-billing-get-subscription 但是这个功能只适用于单个ID。

【问题讨论】:

    标签: authorize.net authorize.net-arb


    【解决方案1】:

    新答案

    没有。 ARBGetSubscriptionListRequest 只返回有限数量的信息。如果您需要详细信息,则需要调用ARBGetSubscriptionListRequest,然后循环查看结果并对每个订阅进行 API 调用以获取更精细的数据。

    由于潜在的大量结果,您可能应该将结果存储在数据库中,然后让一堆预定脚本进行后续 API 调用。

    旧答案

    是的。您可以拨打ARBGetSubscriptionListRequest

    请求:

    {
        "ARBGetSubscriptionListRequest": {
            "merchantAuthentication": {
                "name": "5KP3u95bQpv",
                "transactionKey": "346HZ32z3fP4hTG2"
            },
            "refId": "123456",
            "searchType": "subscriptionActive",
            "sorting": {
                "orderBy": "id",
                "orderDescending": "false"
            },
            "paging": {
                "limit": "1000",
                "offset": "1"
            }
        }
    }
    

    回复:

    {
        "totalNumInResultSet": 1273,
        "totalNumInResultSetSpecified": true,
        "subscriptionDetails": [
            {
                "id": 100188,
                "name": "subscription",
                "status": "canceled",
                "createTimeStampUTC": "2004-04-28T23:59:47.33",
                "firstName": "Joe",
                "lastName": "Tester",
                "totalOccurrences": 12,
                "pastOccurrences": 6,
                "paymentMethod": "creditCard",
                "accountNumber": "XXXX5454",
                "invoice": "42820041325496571",
                "amount": 10,
                "currencyCode": "USD"
            },
            {
                "id": 100222,
                "name": "",
                "status": "canceled",
                "createTimeStampUTC": "2004-10-22T21:00:15.503",
                "firstName": "asdf",
                "lastName": "asdf",
                "totalOccurrences": 12,
                "pastOccurrences": 0,
                "paymentMethod": "creditCard",
                "accountNumber": "XXXX1111",
                "invoice": "",
                "amount": 1,
                "currencyCode": "USD"
            },
            {
                "id": 100223,
                "name": "",
                "status": "canceled",
                "createTimeStampUTC": "2004-10-22T21:01:27.69",
                "firstName": "asdf",
                "lastName": "asdf",
                "totalOccurrences": 12,
                "pastOccurrences": 1,
                "paymentMethod": "eCheck",
                "accountNumber": "XXXX3888",
                "invoice": "",
                "amount": 10,
                "currencyCode": "USD"
            }
        ],
        "refId": "123456",
        "messages": {
            "resultCode": "Ok",
            "message": [
                {
                    "code": "I00001",
                    "text": "Successful."
                }
            ]
        }
    }
    

    【讨论】:

    • 它提供的数据量非常小。是否可以从这个获取批量数据:developer.authorize.net/api/reference/…
    • 没有。如果您想要每个订阅的详细信息,您需要为ARBGetSubscriptionListRequest.返回的每个订阅创建一个 API
    • 感谢您提供此信息。我将继续使用我当前的python脚本来一一抓取。但如果他们有批量导出,那么它会降低 API 调用。
    猜你喜欢
    • 2022-09-27
    • 1970-01-01
    • 2020-01-17
    • 2014-06-06
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    相关资源
    最近更新 更多