Customers vote on a budget: donations with the Charitips API
A retailer sets a yearly budget, 20 000 € for example, and lets customers decide where it goes. Each customer casts one vote on a hosted ballot; the budget is billed at activation.
- Who paysYour company
- Starts withA customer action
- Tax receiptIn your company's name
Needs API access on a validated account. Plans
One variant of Customers vote on a budget · Retail
A yearly budget split by the votes
See every variantyour-brand.example/vote
Step by step
Click through the site. Each step shows what your customer does, what your server sends and what Charitips answers.
1Vote created
To comeYour customer does…
Clicks “Vote for the charity”.
Your server sends…
Creates a vote of weight 1 for customer #204 on the campaign “Our 2026 budget”.
POSTcreate-vote
Charitips answers…
Charitips creates the vote and returns its id.
Charitips will then tell your server the vote was created.
2Vote cast
To comeYour customer does…
Clicks “Vote for the charity”.
Your server sends…
Casts that vote for the charity your customer picks.
POSTcast-vote
Charitips answers…
The vote counts for the charity your customer picks.
Charitips will then tell your server the vote was updated.
3Second vote refused
To comeYour customer does…
Clicks “Simulate a second vote”.
Your server sends…
Casts that vote for another charity.
POSTcast-vote
Charitips answers…
Charitips refuses the call: this was already done, so the first one stands.
How to read this demo: the site shows what your customer does, and the panel what your server sends and what Charitips answers, step by step.
The site is made up and nothing is sent. The endpoints, fields and webhook events are the real ones, and so are the charities.
How it works
The screens of the demo in order, with the calls your server makes at each one. Its build spec
vote_createvote_updateOnce, before the first customer
- POST /v1/charities-selectionsCreate a charities selection: once: the charities people can vote for, from the catalog
- POST /v1/campaignsCreate a campaign: once: a DISTRIBUTION campaign with a fixed budget, billed at activation
- POST /v1/campaigns/{campaignId}/activateActivate a campaign: once: the campaign starts taking votes
01
We give 20 000 € this year. You decide where.
The ballot opens on the page, in a random order for each customer, with no results before the vote. When the customer confirms, your server creates their vote, then casts it: two taps in all.
The customer picks a charity from your selection. Button: Vote for the charity
Your server calls:
- POST /v1/votesCreate a vote: when the customer confirms, just before casting it: one vote per customer, with its weight
Charitips then sends the
vote_createwebhook to your endpoint.02
Your vote is recorded
Button: Vote for the charity
Your server calls:
- POST /v1/votes/{voteId}/castCast a vote: right after create-vote, with its voteId
Charitips then sends the
vote_updatewebhook to your endpoint.03
You have already voted
The same customer tries again: the API keeps the first vote.
Button: Simulate a second vote
Your server calls:
- POST /v1/votes/{voteId}/castCast a vote: the same voteId, cast a second time
Other ways to run it
The same calls in other sectors and products. Each card opens its own page, with its demo.
- Culture and eventsVisitors vote at an exhibitionA museum funds a pot of 1 € per ticket for an exhibition. Each ticket is one vote on a screen at the exit; the pot is split by the votes when the exhibition closes.1 € per ticket, split by the votesTry the demoCustomers vote on a budget: Visitors vote at an exhibition
- Software and appsThe tournament winner picksAn e-sport league puts 2 € per entry into a charity pot. Players sign up and compete; the tournament winner picks the charity the whole pot goes to; the league pays.2 € per entry, the winner picks the charityTry the demoCustomers vote on a budget: The tournament winner picks
- Software and appsCollective adoption goalA SaaS ties a donation to a feature's adoption: once 500 users have turned it on, it gives 0,50 € per user. Each user picks their own charity.0,50 € per user, paid once the goal is reachedTry the demoCustomers vote on a budget: Collective adoption goal
- EducationPoll after a webinarA training company gives 5 % of each webinar ticket. When the live session ends, a poll opens and the attendees choose the charity together; the company pays.5 % of each ticket, the attendees chooseTry the demoCustomers vote on a budget: Poll after a webinar



