Finding pay_type via v1/v2... or do I have to get it via XML-RPC API?

I am developing a data-retrieval API so we can send data from our Keap instance and ingest it through Google BigQuery.

I am using the REST V1 and V2 APIs but am running into a problem.

There’s not an endpoint in either of these API versions that contains a payments table with a pay_type field.
There is transactions1 but it doesn’t have pay_type. (options include Credit, Credit Card, Void, etc.)

I know the XML-RPC API version does have this table under “query a data table”, but I want to explore all options in V1 and V2 before developing a separate connection to an XML-RPC-based API :frowning:

Would you have any advice for how to get this information through v1 or v2 or do you suggest that I just get it through the XML-RPC’s “Query a Data Table” feature??

Hi @Kevin_Norman, just checking something here, what does the REST V1 Transactions - “collection_method” and “type” fields return?

If the fields are not suitable, then you will have to use the XML-RPC API Data Query Method instead.

The “Payment” table contains the “PayType” field.

Hope that helps.

Hello @Pav , thank you for the response!
The “transactions” table:

  • collection_method: {MANUAL, GATEWAY}
  • status: {Successful, Failed, Deleted}

I did more EDA this morning on the transactions table vs the payments table and found that the transactions table will work for our needs. There are some drawbacks, so if there were an easy way to get pay_type I would still like to hear it.

After doing a deeper dive into the data, I found that the transactions endpoint doesn’t know the difference between a manual payment, like ACH, and a manual adjustment. The distinction is very important because one is a payment and the other is a credit.
After researching a dozen or so ELT/ETL services, I found none that connects to Keap’s XML API. Zapier offers a payments integration with a payment_type field, but when I started using it I found that all the pay_type fields are null. :frowning:
My last resort is to use a series of tools to automate a daily export of a payments report from Keap and load it into our BigQuery.
I’m putting this here in case anyone out there thinks I’m missing something. I would be so grateful if you had an easier way than building a Python API just for one endpoint.