Deze groep combineert beveiligde medewerker-API-calls, audio-upload met telefoonverificatie, anonieme Twilio-callbacks en OpenAI-transcriptie/realtime overdracht. Beveiligde AnswerPal API-endpoints gebruiken JWT Bearer-authenticatie. De Twilio-callbackroutes zijn anoniem omdat Twilio deze direct aanroept.
GET /api/TwilioCalls/voice-token – Bearer JWTtwimlAppSidOverride kan de klant TwiML app SID overschrijven. Response bevat token, region en edge.POST /api/TwilioCalls/initiate-call – Bearer JWTfromNumber en toNumber, beiden genormaliseerd naar +digits.GET /api/TwilioCalls/call-status – Bearer JWTcallSid. De service controleert eerst sub-oproepen en valt anders terug op de status van de hoofdoproep.POST /api/TwilioCalls/voice – Public Twilio-callback<Dial> of <Connect><Stream> TwiML wordt teruggegeven.POST /api/TwilioCalls/{repID}/recordingcallback – Public Twilio-callbackGET /api/TwilioCalls/voice-token
Authorization: Bearer {token}
200 OK
{
"token": "twilio-jwt...",
"region": "ie1",
"edge": "dublin"
}POST /api/TwilioCalls/initiate-call
Authorization: Bearer {token}
Content-Type: application/json
{
"fromNumber": "+3225550100",
"toNumber": "+32470000000"
}fromNumber+digits.toNumber+digits.FromNumber, To, RepID, AccountSid, CallSidRecordTranslate<Connect><Stream> met de ingestelde PhoneStreamUrl alvorens te bellen.CallerLanguage, CallerVoice, ReceiverLanguage, ReceiverVoice, ForwardRawAudiorepIDcustomFrom, customToCallSid, AccountSid, RecordingSid, RecordingUrl, RecordingStartTime, RecordingDurationPOST /api/TwilioCalls/voice
Content-Type: application/x-www-form-urlencoded
FromNumber=+3225550100
To=+32470000000
RepID=42
Record=true
Translate=false
CallSid=CA...
AccountSid=AC...voice-token, initiate-call, call-status, /api/realtime/calls en /api/Transcriptions/file vereisen een medewerker JWT./api/AudioChunks/uploadAndFinalize accepteert een medewerker met tickettoegang of een telefoonverificatiecontext. Requests met telefoonverificatie zijn beperkt tot het tokenkanaal./api/TwilioCalls/voice en /api/TwilioCalls/{repID}/recordingcallback zijn anonieme Twilio-callbacks. Zij valideren Twilio Account SID, telefoon-kanaal en eigenaarschap van de medewerker in de applicatielogica.GET /api/TwilioCalls/voice-token
Authorization: Bearer {token}
200 OK
{
"token": "twilio-jwt...",
"region": "ie1",
"edge": "dublin"
} POST /api/TwilioCalls/initiate-call
Authorization: Bearer {token}
Content-Type: application/json
{
"fromNumber": "+3225550100",
"toNumber": "+32470000000"
} POST /api/TwilioCalls/voice
Content-Type: application/x-www-form-urlencoded
FromNumber=+3225550100
To=+32470000000
RepID=42
Record=true
Translate=false
CallSid=CA...
AccountSid=AC... POST /api/AudioChunks/uploadAndFinalize
Authorization: Bearer {token}
Content-Type: application/json
[
{
"ticketID": 123,
"senderType": "EndUser",
"timestampMs": 0,
"base64AudioData": "/////w=="
}
] Spraak- en transcriptie-endpoints verwerken geüploade oproepfragmenten, realtime SDP-oproepen en losse transcriptiebestanden.
POST /api/AudioChunks/uploadAndFinalize – Bearer JWT (TicketAccessOrPhoneAuth)POST /api/realtime/calls – Bearer JWTapplication/sdp.POST /api/Transcriptions/file – Bearer JWTfile en ontvang transcriptietekst in { "text": "..." }. Request omvang is beperkt tot 1 GB.POST /api/AudioChunks/uploadAndFinalize
Authorization: Bearer {token}
Content-Type: application/json
[
{
"ticketID": 123,
"senderType": "EndUser",
"timestampMs": 0,
"base64AudioData": "/////w=="
}
]POST /api/realtime/calls
Authorization: Bearer {token}
Content-Type: multipart/form-data
sdp: application/sdp
session: application/jsonPOST /api/Transcriptions/file
Authorization: Bearer {token}
Content-Type: multipart/form-data
file: call-recording.mp3
200 OK
{ "text": "Transcribed audio text..." }fromNumber+cijfers.toNumber+cijfers.FromNumber, To, RepID, AccountSid, CallSidRecordTranslate<Connect><Stream> met de ingestelde PhoneStreamUrl voordat er wordt gebeld.CallerLanguage, CallerVoice, ReceiverLanguage, ReceiverVoice, ForwardRawAudiorepIDcustomFrom, customToCallSid, AccountSid, RecordingSid, RecordingUrl, RecordingStartTime, RecordingDurationticketIDsenderTypeEndUser, AI of CustomerRep.timestampMsbase64AudioDatasdpapplication/sdp zonder bestandsnaam naar OpenAI gestuurd.sessionapplication/json naar OpenAI gestuurd.filevoice-token, initiate-call, call-status, /api/realtime/calls en /api/Transcriptions/file vereisen een medewerker JWT./api/AudioChunks/uploadAndFinalize accepteert een tickettoegangsmedewerker of een telefoonauth-context. Telefoonauth-aanvragen zijn beperkt tot het tokenkanaal./api/TwilioCalls/voice en /api/TwilioCalls/{repID}/recordingcallback zijn anonieme Twilio-callbacks. Ze valideren Twilio Account SID, telefoonkanaal en medewerkerseigendom in de applicatielogica.Gerelateerde tokens voor telefoonauthenticatie worden uitgegeven door de Auth API via /api/Auth/phone-login. Telefoontickets, berichten, prompts, acties en bijlagen worden toegelicht op de pagina’s met tickets- en bestandsendpoints.
POST /api/TwilioCalls/voice en POST /api/TwilioCalls/{repID}/recordingcallback zijn anoniem omdat Twilio ze rechtstreeks aanroept. Ze valideren echter nog steeds Account SID, telefoonkanaal en medewerker/klanteigendom.
Audiofragmentpayloads bevatten base64 mu-law audio. AnswerPal decodeert 8 kHz mu-law naar PCM, mixt beller- en AI/medewerker audio tot stereo, slaat de opname op en transcribeert die waar mogelijk.
POST /api/Transcriptions/file geeft { "text": "..." } terug. Dit vereist dat de geauthenticeerde klant over een OpenAI API-sleutel en een actief transcriptiegeschikt model beschikt.
AnswerPal: AI-gedreven oplossingen voor klantenservice die je ondersteuning en communicatie moeiteloos versterken.
Voor ondersteunings-, commerciële en partnervragen kunt u mailen naar [email protected]
AnswerPal
Bisschoppenhoflaan 380
2100 Antwerpen
België
+32.36416685
BE 0862.692.858