Geliştiriciler için

Votinova ile geliştirin

REST API, webhook’lar, bağlayıcılar ve bir MCP sunucusu. Web uygulamasının yaptığı her şey API’de de var: bir oturum oluşturun, açın ve sonuçları beş dakikadan kısa sürede kendi sisteminize taşıyın.

  1. Çalışma alanınızda bir kimlik bilgisi oluşturun — iki izin, kuruluş genelinde.
  2. İlk çağrınızı yapın: curl ile bir oturum oluşturun ve açın.
  3. Bir webhook’a abone olun ve her soru kapandıkça sonuçları alın.
curl -X POST https://api.votinova.prd.atbionapps.com/public/v1/sessions \  -H "X-API-Key: vz_live_…" \  -d '{ "presentation_id": "prs_8f3k2" }' 200 OK   · X-RateLimit-Remaining: 119{  "id": "ses_71xw9",  "join_code": "482913",  "state": "LIVE"}

Her yüzey, tek sözleşme

Her entegrasyon aynı OpenAPI belgesinden türer. Yeni bir uç nokta her yerde aynı anda belirir.

İnsanlar bununla ne kuruyor

Sonuçlar CRM’inizde

Her soru kapandığı anda yanıtları ve yoklamayı CRM’inize ya da veri ambarınıza aktarın — sürekli sorgulamaya gerek yok, bir webhook size haber verir.

Kendi raporlamanız

API üzerinden imleçli sayfalamayla KPI’lar, katılımcılar ve sonuçlar: raporu tam olarak kuruluşunuzun istediği gibi kurun.

Kendi yazılımınızdan oturumlar

Oturumları arka ucunuzdan, iç araçlarınızdan ya da aracınızdan oluşturun, açın ve yönetin — bu web uygulamasının kullandığı API’nin aynısı.

Aracılar için tasarlandı

Aracınız Votinova’yı zaten biliyor

OpenAPI belgesinden türetilen ve kimlik bilginizin izinlerine göre süzülen araçlara sahip uzak bir MCP sunucusu. Ayrıca her modelin belgeleri bulabilmesi için bir llms.txt.

MCP sunucusunu kurun
{  "mcpServers": {    "votinova": {      "url": "https://mcp.votinova.com/mcp",      "headers": { "Authorization": "Bearer vz_live_…" }    }  }}

Son API değişiklikleri

Değişiklik günlüğü
  • ADDITIVE

    An event stranded by an auto-disable is now dead-lettered, so it can be replayed once the endpoint is back. Recovering from a bad afternoon is supposed to be: the platform pauses the endpoint, you fix it, you re-enable it, you redeliver what never arrived. Redelivery only accepts a dead-lettered delivery, and the queue of an auto-disabled endpoint was being terminated as merely failed — so there was nothing to replay and nothing said so. The arithmetic hid it: a delivery gets 8 attempts and an endpoint is paused after 10 consecutive failures, so a single event in flight always dead-letters first. The counter is per endpoint, and one ordinary session emits three events. Deliveries for an endpoint its owner REMOVED are still terminated without a dead letter: nobody is coming back for those.

  • ADDITIVE

    Three corrections found by driving this API the way an integration does. A bad request body now answers the envelope this surface documents ({ error, code: INVALID_REQUEST_BODY, invalid_fields }) naming the PUBLISHED field: it used to fall through to a shape the API emits nowhere else, which named the internal property (TargetUrl for target_url) and carried no error member for a generated client to read. session.ended is delivered ONCE per close; closing a live session through this API delivered it twice, so anything that posts a summary or books a room did it twice, and the event now always names presentation_id whichever surface closed the session. And enabling an endpoint only revives one the platform paused after failures: it used to undo a DELETE too, so a connector's unsubscribe could be reversed by one call while the connector itself could no longer remove it. Enabling an endpoint that was removed now answers 400 WEBHOOK_NOT_AUTO_DISABLED; register it again instead.

  • ADDITIVE

    question_id is now published as REQUIRED on per-question results, which is what the endpoint has always enforced: it answers 400 without one. The document said optional, so an integrator who believed it did not send the value and found out from a failed call — and the failed call counted against the organization's quota. Nothing about the endpoint's behaviour changed, and no request that worked before stops working; what changed is that the reference now describes it. Generated clients and MCP tools derived from this document will ask for the question up front instead of discovering the rule at runtime.

Plan başına kota

  • STARTERHer 60 sn’de 120 istek
  • PROHer 60 sn’de 120 istek
  • TEAMHer 60 sn’de 600 istek
  • ENTERPRISEHer 60 sn’de 3.000 istek

Kotanız her yanıtta gelir (X-RateLimit-* başlıkları).