Guide

Google review requests

One request when a job is finished, and the Google review agent takes it from there by SMS. Google Calendar, Calendly and Cal.com are built in; anything else — a CRM, a booking system, your own code — uses this endpoint.

What happens

  • The customer gets an SMS from your Voximate number asking for a score from 1 to 5.
  • A 4 or 5 gets your Google review link straight away.
  • A 1 to 3 gets an apology and a question. You are alerted, and the link follows two days later.

The request

This endpoint is separate from the /public/v1 API: it is authenticated with the workflow’s own key, not an API key. Find the URL and the key in the dashboard under SMS → Google reviews.

POST /sms-workflows/hooks/{tenantId}/{workflowId}/runs
curl -X POST https://api.voximate.no/sms-workflows/hooks/{tenantId}/{workflowId}/runs \
  -H 'Authorization: Bearer whsec_…' \
  -H 'Content-Type: application/json' \
  -d '{
    "counterparty": "+4712345678",
    "idempotencyKey": "job-8821",
    "variables": { "name": "Kari", "service": "Nettside" }
  }'
  • counterparty — the customer’s mobile number with the country code (+47 or 0047 and the number), or the eight Norwegian digits, spaces allowed — read as +47. Anything that is not clearly a phone number is refused, never guessed.
  • idempotencyKey — your job id. The same key twice sends nothing the second time.
  • variables — values the SMS text can use, such as the customer’s name and the service.

Instead of the Bearer key, a system that can sign requests may send x-voximate-signature: sha256=<hex HMAC-SHA256 of the raw body, keyed with the key>. Sign the exact bytes you send. The downloadable guide has a Node.js example.

Answers

StatusMeaning
202Started: { "runId", "status": "running" }. The first SMS goes out after the delay you chose.
200Duplicate: this idempotencyKey was already used ("duplicate": true). Nothing was sent.
400invalid_body (counterparty missing, or a field of the wrong type; details names it) or invalid_counterparty (not a phone number).
401unauthorized: wrong or missing key or signature, or a wrong address.
409workflow_not_published: the Google review agent is not switched on. Press Save and activate.
The downloadable Markdown guide has the full details, ready to hand to whoever builds the integration.