Integration guide
Voting Integrations
Discover public campaigns and nominees or use approved organization routes without bypassing vote pricing and verification.
Use the campaign and nominee identifiers
POST /api/public/vote validates campaign_id, participant_id, phone_number and vote_count. The current public schema accepts an integer vote_count from 1 to 100; pricing and availability are checked by the payment service.
Keep payment pending until confirmed
The initialization response starts a payment. Preserve its reference and handle pending or failed states without inventing credited votes in your frontend.
Read public counts in context
GET /api/public/vote-counts/:campaignId exposes the public count contract. Vote quantities are not the same as transactions or unique supporters, and awards voting does not provide the formal election architecture of SEVA.