{"id":15631,"date":"2026-07-10T00:32:40","date_gmt":"2026-07-10T05:32:40","guid":{"rendered":"https:\/\/voxpria.com\/docs\/webhooks-api-2\/"},"modified":"2026-07-10T00:32:40","modified_gmt":"2026-07-10T05:32:40","password":"","slug":"webhooks-api","status":"publish","type":"docs","link":"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/","title":{"rendered":"API des webhooks"},"content":{"rendered":"<h2>API des webhooks<\/h2>\n<p>Configurez des webhooks pour recevoir des notifications en temps r\u00e9el lorsque des \u00e9v\u00e9nements se produisent dans votre compte VoxPria.<\/p>\n<h3>Cr\u00e9er un webhook<\/h3>\n<p><strong>Point de terminaison :<\/strong> <code class=\"\" data-line=\"\">POST \/api\/v1\/webhooks<\/code><\/p>\n<pre style=\"background: #1e293b; color: #e2e8f0; padding: 20px; border-radius: 8px;\">\ncurl -X POST \"https:\/\/app.voxpria.com\/api\/v1\/webhooks\" \n  -H \"Authorization: Bearer YOUR_API_KEY\" \n  -H \"Content-Type: application\/json\" \n  -d '{\n    \"url\": \"https:\/\/yourapp.com\/webhooks\/voxpria\",\n    \"events\": [\n      \"call.completed\",\n      \"campaign.finished\"\n    ],\n    \"active\": true\n  }'\n<\/pre>\n<h4>R\u00e9ponse<\/h4>\n<pre style=\"background: #1e293b; color: #e2e8f0; padding: 20px; border-radius: 8px;\">\n{\n  \"success\": true,\n  \"data\": {\n    \"webhookId\": \"webhook_abc123\",\n    \"url\": \"https:\/\/yourapp.com\/webhooks\/voxpria\",\n    \"events\": [\"call.completed\", \"campaign.finished\"],\n    \"secret\": \"whsec_xyz789...\",\n    \"active\": true\n  }\n}\n<\/pre>\n<div style=\"background: #fff3cd; border-left: 4px solid #ffc107; padding: 15px;\">\n<strong>\u26a0\ufe0f Important :<\/strong> Conservez le <code class=\"\" data-line=\"\">secret<\/code> du webhook \u2014 vous en aurez besoin pour v\u00e9rifier les signatures des webhooks!\n<\/div>\n<h3>Lister les webhooks<\/h3>\n<p><strong>Point de terminaison :<\/strong> <code class=\"\" data-line=\"\">GET \/api\/v1\/webhooks<\/code><\/p>\n<pre style=\"background: #1e293b; color: #e2e8f0; padding: 20px; border-radius: 8px;\">\ncurl -X GET \"https:\/\/app.voxpria.com\/api\/v1\/webhooks\" \n  -H \"Authorization: Bearer YOUR_API_KEY\"\n<\/pre>\n<h3>\u00c9v\u00e9nements disponibles<\/h3>\n<table style=\"width: 100%; border-collapse: collapse;\">\n<thead>\n<tr style=\"background: #667eea; color: white;\">\n<th style=\"padding: 12px;\">\u00c9v\u00e9nement<\/th>\n<th style=\"padding: 12px;\">D\u00e9clench\u00e9 lorsque<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding: 12px;\"><code class=\"\" data-line=\"\">call.started<\/code><\/td>\n<td style=\"padding: 12px;\">L&rsquo;appel commence<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px;\"><code class=\"\" data-line=\"\">call.completed<\/code><\/td>\n<td style=\"padding: 12px;\">L&rsquo;appel se termine avec succ\u00e8s<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px;\"><code class=\"\" data-line=\"\">call.failed<\/code><\/td>\n<td style=\"padding: 12px;\">L&rsquo;appel \u00e9choue<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px;\"><code class=\"\" data-line=\"\">campaign.started<\/code><\/td>\n<td style=\"padding: 12px;\">La campagne commence<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px;\"><code class=\"\" data-line=\"\">campaign.finished<\/code><\/td>\n<td style=\"padding: 12px;\">La campagne se termine<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px;\"><code class=\"\" data-line=\"\">campaign.paused<\/code><\/td>\n<td style=\"padding: 12px;\">La campagne est mise en pause<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Charge utile du webhook<\/h3>\n<p>Exemple de charge utile <code class=\"\" data-line=\"\">call.completed<\/code> :<\/p>\n<pre style=\"background: #1e293b; color: #e2e8f0; padding: 20px; border-radius: 8px;\">\n{\n  \"event\": \"call.completed\",\n  \"timestamp\": \"2025-02-09T12:00:00Z\",\n  \"data\": {\n    \"callId\": \"call_xyz789\",\n    \"status\": \"completed\",\n    \"duration\": 127,\n    \"toNumber\": \"+14155551234\",\n    \"recording\": \"https:\/\/...\",\n    \"transcript\": \"...\"\n  }\n}\n<\/pre>\n<h3>V\u00e9rifier les signatures des webhooks<\/h3>\n<p>V\u00e9rifiez que les webhooks proviennent bien de VoxPria \u00e0 l&rsquo;aide de la signature :<\/p>\n<h4>Node.js<\/h4>\n<pre style=\"background: #1e293b; color: #e2e8f0; padding: 20px; border-radius: 8px;\">\nconst crypto = require('crypto');\n\nfunction verifyWebhookSignature(payload, signature, secret) {\n  const hmac = crypto\n    .createHmac('sha256', secret)\n    .update(JSON.stringify(payload))\n    .digest('hex');\n  \n  return `sha256=${hmac}` === signature;\n}\n\n\/\/ In your webhook handler\napp.post('\/webhooks\/voxpria', (req, res) => {\n  const signature = req.headers['x-voxpria-signature'];\n  const isValid = verifyWebhookSignature(\n    req.body,\n    signature,\n    process.env.WEBHOOK_SECRET\n  );\n  \n  if (!isValid) {\n    return res.status(401).send('Invalid signature');\n  }\n  \n  \/\/ Process webhook\n  console.log('Event:', req.body.event);\n  res.status(200).send('OK');\n});\n<\/pre>\n<h4>Python<\/h4>\n<pre style=\"background: #1e293b; color: #e2e8f0; padding: 20px; border-radius: 8px;\">\nimport hmac\nimport hashlib\nimport json\n\ndef verify_webhook_signature(payload, signature, secret):\n    computed = hmac.new(\n        secret.encode(),\n        json.dumps(payload).encode(),\n        hashlib.sha256\n    ).hexdigest()\n    \n    return f\"sha256={computed}\" == signature\n\n# In your webhook handler\n@app.route('\/webhooks\/voxpria', methods=['POST'])\ndef webhook_handler():\n    signature = request.headers.get('X-Voxpria-Signature')\n    \n    if not verify_webhook_signature(\n        request.json,\n        signature,\n        os.getenv('WEBHOOK_SECRET')\n    ):\n        return 'Invalid signature', 401\n    \n    # Process webhook\n    print('Event:', request.json['event'])\n    return 'OK', 200\n<\/pre>\n<h3>Meilleures pratiques<\/h3>\n<ul>\n<li>\u2705 V\u00e9rifiez toujours les signatures des webhooks<\/li>\n<li>\u2705 R\u00e9pondez rapidement avec un statut 200<\/li>\n<li>\u2705 Traitez les webhooks de fa\u00e7on asynchrone<\/li>\n<li>\u2705 Mettez en place l&rsquo;idempotence (les webhooks peuvent \u00eatre envoy\u00e9s plusieurs fois)<\/li>\n<li>\u2705 Utilisez uniquement des URL HTTPS<\/li>\n<li>\u2705 G\u00e9rez les nouvelles tentatives de webhook avec gr\u00e2ce<\/li>\n<\/ul>\n<div style=\"background: #d1ecf1; border-left: 4px solid #17a2b8; padding: 15px;\">\n<strong>\ud83d\udca1 Astuce de pro :<\/strong> Utilisez les webhooks plut\u00f4t que d&rsquo;interroger l&rsquo;API en boucle pour les mises \u00e0 jour en temps r\u00e9el. C&rsquo;est plus efficace et cela r\u00e9duit le nombre d&rsquo;appels API.\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>API des webhooks Configurez des webhooks pour recevoir des notifications  [&#8230;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"doc_category":[101],"doc_tag":[],"class_list":["post-15631","docs","type-docs","status-publish","hentry","doc_category-rest-api-for-developers-fr"],"year_month":"2026-08","word_count":454,"total_views":"12","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":[],"doc_category_info":[{"term_name":"API REST pour d\u00e9veloppeurs","term_url":"https:\/\/voxpria.com\/fr\/docs-category\/rest-api-for-developers-fr\/"}],"doc_tag_info":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v28.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>API des webhooks - Ai voice automation system - Voxpria<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"API des webhooks\" \/>\n<meta property=\"og:description\" content=\"API des webhooks Configurez des webhooks pour recevoir des notifications [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Ai voice automation system - Voxpria\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/docs\\\/webhooks-api\\\/\",\"url\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/docs\\\/webhooks-api\\\/\",\"name\":\"API des webhooks - Ai voice automation system - Voxpria\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/#website\"},\"datePublished\":\"2026-07-10T05:32:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/docs\\\/webhooks-api\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/voxpria.com\\\/fr\\\/docs\\\/webhooks-api\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/docs\\\/webhooks-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/docs\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"API des webhooks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/\",\"name\":\"Ai voice automation system - Voxpria\",\"description\":\"Ai voice automation system\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/#organization\",\"name\":\"VoxPria\",\"url\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/voxpria-logo.png\"},\"description\":\"VoxPria est une plateforme d'agents vocaux IA qui automatise les appels t\u00e9l\u00e9phoniques entrants et sortants \u2014 ventes, soutien, prise de rendez-vous et qualification de prospects \u2014 dans n'importe quelle langue, 24\\\/7.\",\"foundingLocation\":{\"@type\":\"Place\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Montr\u00e9al\",\"addressRegion\":\"QC\",\"addressCountry\":\"CA\"}},\"areaServed\":\"Worldwide\",\"contactPoint\":{\"@type\":\"ContactPoint\",\"contactType\":\"sales\",\"email\":\"support@voxpria.com\",\"availableLanguage\":[\"en\",\"fr\"]}},{\"@type\":\"SoftwareApplication\",\"@id\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/#software\",\"name\":\"VoxPria\",\"applicationCategory\":\"BusinessApplication\",\"applicationSubCategory\":\"AI Voice Agent \\\/ Call Automation\",\"operatingSystem\":\"Web, Cloud\",\"url\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/\",\"publisher\":{\"@id\":\"https:\\\/\\\/voxpria.com\\\/fr\\\/#organization\"},\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"USD\",\"description\":\"Free tier \u2014 no credit card required\"},\"featureList\":[\"AI voice agents\",\"Outbound & inbound calling\",\"Campaign manager\",\"Flow builder\",\"CRM\",\"WhatsApp\",\"Appointment booking\",\"SIP trunks\",\"REST API\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"API des webhooks - Ai voice automation system - Voxpria","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/","og_locale":"fr_FR","og_type":"article","og_title":"API des webhooks","og_description":"API des webhooks Configurez des webhooks pour recevoir des notifications [...]","og_url":"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/","og_site_name":"Ai voice automation system - Voxpria","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/","url":"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/","name":"API des webhooks - Ai voice automation system - Voxpria","isPartOf":{"@id":"https:\/\/voxpria.com\/fr\/#website"},"datePublished":"2026-07-10T05:32:40+00:00","breadcrumb":{"@id":"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/voxpria.com\/fr\/docs\/webhooks-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/voxpria.com\/fr\/home\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/voxpria.com\/fr\/docs\/"},{"@type":"ListItem","position":3,"name":"API des webhooks"}]},{"@type":"WebSite","@id":"https:\/\/voxpria.com\/fr\/#website","url":"https:\/\/voxpria.com\/fr\/","name":"Ai voice automation system - Voxpria","description":"Ai voice automation system","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/voxpria.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/voxpria.com\/fr\/#organization","name":"VoxPria","url":"https:\/\/voxpria.com\/fr\/","logo":{"@type":"ImageObject","url":"https:\/\/voxpria.com\/fr\/wp-content\/uploads\/2026\/02\/voxpria-logo.png"},"description":"VoxPria est une plateforme d'agents vocaux IA qui automatise les appels t\u00e9l\u00e9phoniques entrants et sortants \u2014 ventes, soutien, prise de rendez-vous et qualification de prospects \u2014 dans n'importe quelle langue, 24\/7.","foundingLocation":{"@type":"Place","address":{"@type":"PostalAddress","addressLocality":"Montr\u00e9al","addressRegion":"QC","addressCountry":"CA"}},"areaServed":"Worldwide","contactPoint":{"@type":"ContactPoint","contactType":"sales","email":"support@voxpria.com","availableLanguage":["en","fr"]}},{"@type":"SoftwareApplication","@id":"https:\/\/voxpria.com\/fr\/#software","name":"VoxPria","applicationCategory":"BusinessApplication","applicationSubCategory":"AI Voice Agent \/ Call Automation","operatingSystem":"Web, Cloud","url":"https:\/\/voxpria.com\/fr\/","publisher":{"@id":"https:\/\/voxpria.com\/fr\/#organization"},"offers":{"@type":"Offer","price":"0","priceCurrency":"USD","description":"Free tier \u2014 no credit card required"},"featureList":["AI voice agents","Outbound & inbound calling","Campaign manager","Flow builder","CRM","WhatsApp","Appointment booking","SIP trunks","REST API"]}]}},"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/voxpria.com\/fr\/wp-json\/wp\/v2\/docs\/15631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/voxpria.com\/fr\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/voxpria.com\/fr\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/voxpria.com\/fr\/wp-json\/wp\/v2\/comments?post=15631"}],"version-history":[{"count":0,"href":"https:\/\/voxpria.com\/fr\/wp-json\/wp\/v2\/docs\/15631\/revisions"}],"wp:attachment":[{"href":"https:\/\/voxpria.com\/fr\/wp-json\/wp\/v2\/media?parent=15631"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/voxpria.com\/fr\/wp-json\/wp\/v2\/doc_category?post=15631"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/voxpria.com\/fr\/wp-json\/wp\/v2\/doc_tag?post=15631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}