I see that the API v2 has been recently updated to add the pledge_cadence on members.
I’d expect that it was done to differentiate annual vs non annual members.
Is there any plan to add a similar information to pledge events as well? It’d be very useful to know that a pledge_start was for an annual or non annual subscription. At the moment I’m relying on the price vs the associated tier’s price, but that’s not 100% correct as patrons could pledge for different amounts.
I cannot use the pledge_cadence on the member as I need to know that historical information on the specific pledge, not the current status of the member.
A pledge event is ultimately linked to a member which has pledge_cadence, so that should help. To separate in between different pledge events, checking the dates may be needed at this moment. Im not aware of any particular plan for adding cadence to pledge event, but api is being worked on so it could happen. However i cant give any timeline or guarantees.
But that member could have a pledge_cadence as 12 today, and in a week, month or year they may downgrade back to a monthly cadence and thus have a pledge_cadence as 1, so having that value only on the member is not useful for historical data, just for the current status of a member.
I think the best solution would be to just add a pledge_cadence to pledge events as well, that way it’d be possible to know if a specific event was for 1 year or 1 month, without having to compare dates or amounts. Dates aren’t reliable either, as many events could occur in between (upgrade/downgrade/subscription), so to understand if a specific pledge is for 1 year or not wouldn’t be so simple, or not possible at all.
For example, if you take a member that upgrades for 1 year, then after 1 week downgrades back to monthly, I’d expect that the member’s pledge cadence is back to 1, and the date between the two events would be near to not be enough to distinguish as an annual cadence.
Just want to follow up on this with my latest discovery: tier’s price is unreliable to calculate if a pledge is annual or not, for two reasons:
Tier’s amount cents is not always in usd like mentioned in the docs
The tier’s amount could have changed during the page currency switch, and old pledges wouldn’t reflect that
If you want a practical example: Tier id 3154125 was usd ($15.00), then got switched to eur (€19.99), but old pledges like pledge_start:50547711 reference the annual amount in usd ($151.20), and newer annual pledges use the new eur price, eg pledge_upgrade:51447603 converted as usd ($236.88).
And from the api we only know about the current tier price (19.99 in an unknown currency), not the old one (15.00).
I suspect the tier amount is in the page’s currency, but having old pledges referencing old prices just makes this very hard to rely on.
Without a pledge_cadence on pledge events it becomes very hard to understand what’s an annual pledge and what’s not (expecting 100% confidence).
There isnt a specific url for that resource. You can get it from either /members/XX endpoint, or from the member entry at /campaigns/xx/members page that lists members, or request it as a relation in any resource that supports it as a relation.