CorrelationIds with Mass Payments

I’m trying to figure out how to keep track of the transfers created for a Mass Payment, which Dwolla suggests you can do through a CorrelationId - but am starting to feel like I’m chasing my tail here. Are there any guides for the implementation of Mass Payments?

When creating a Mass Payment - the response body includes [’_links’][‘items’][‘href’] , which when you make a subsequent request to gives you all of the items. When following this link, you’re given all of the objects with the following information for each item, but notably no correlationId:

{ "_links": {
                    "self": {
                        "href": "https://api-sandbox.dwolla.com/mass-payment-items/722ccd59-45c6-49e1-99d9-c08c3dc03b1c",
                        "type": "application/vnd.dwolla.v1.hal+json",
                        "resource-type": "mass-payment-item"
                    },
                    "mass-payment": {
                        "href": "https://api-sandbox.dwolla.com/mass-payments/ca99fa7b-2b2c-4cdf-940d-ac0e002125c5",
                        "type": "application/vnd.dwolla.v1.hal+json",
                        "resource-type": "mass-payment"
                    },
                    "destination": {
                        "href": "https://api-sandbox.dwolla.com/customers/306a6900-2cb9-405d-aff7-5251d45f2108",
                        "type": "application/vnd.dwolla.v1.hal+json",
                        "resource-type": "customer"
                    },
                    "transfer": {
                        "href": "https://api-sandbox.dwolla.com/transfers/71627e74-bfd6-ea11-8126-fb48ed1dda28",
                        "type": "application/vnd.dwolla.v1.hal+json",
                        "resource-type": "transfer"
                    }
                },
                "id": "722ccd59-45c6-49e1-99d9-c08c3dc03b1c",
                "status": "success",
                "amount": {
                    "value": "2000.00",
                    "currency": "USD"
                }
            },

From an application side, if you’re checking transfers (from for example a webhook) - the only way I see to figure out what Mass Payment an item belongs to is to then make a subsequent request to the Mass Payment link. Is this correct? Is there a reason the correlationId can not be provided on the Mass Payment item?

My primary concern here is that with the _links architecture and something that can have a large amount of requests (for example sending an Operational Notification from a webhook event can take an additional 6-7 requests to get the customer information, bank information, etc.), is this really explodes with mass payment items and the number of things that can go wrong (request aborts/times out, dwolla thinks you’re hammering the API and locks you out, etc.)

Hey @jmtichell – I’d recommend checking out this post on masspayments for more information/step-by-step guide on using masspayments in Dwolla - Mass Payments - Pay 5,000 People in Five Simple Steps

You can definitely use correlatioinIds in your masspayments for each item as well as for the masspayment as a whole. You can find this listed in the Request Parameters table within the masspayments section in our API Reference Docs.

It may also be worth noting that there aren’t any defined rate-limits in the API that would lock you out, apart from concurrent Balance sourced transfers (this isn’t currently supported).

Hope that helps!