Gratis setup bij jaarabonnementen

Meld je vandaag aan!

API-referentie: Hooks-endpoints

Hooks zijn benoemde AnswerPal-werkstroomgebeurtenissen die promptdocumenten kunnen verzamelen en geconfigureerde acties kunnen uitvoeren op een specifiek moment in het verloop van een ticket of bericht. De API stelt u in staat om hook-actieconfiguratie, hook prompt-documentconfiguratie en ticket-bericht-runtime-endpoints uit te voeren of hooks op te lossen.

Overzicht en huidige endpoints

Hookconfiguratie is klantgericht. Een hook-actie koppelt een herbruikbare actiedefinitie aan een hook-naam en optioneel kanaaldoel. Een hook-document koppelt een document aan dezelfde hook-naam zodat prompts gebeurtenisspecifieke instructies kunnen bevatten. Tijdens runtime kunnen TicketMessages-endpoints hook promptdocumenten ophalen of de geconfigureerde actie-keten voor een bericht uitvoeren.

HookActions

  • GET /api/HookActions – Bearer JWT
    Toont hook-actie koppelingen. Minstens één filter is vereist: hookName of actionId. Query ondersteunt ook pageNumber, pageSize, sortBy en sortOrder. pageNumber wordt minstens op 1 gezet; pageSize is begrensd tot 1-100.
  • POST /api/HookActions – Bearer JWT
    Maak één hook-actie koppeling aan vanuit HookActionCreateDTO. De server stelt het klantbereik in en slaat hookName op als het speciale topic van de hook. Dubbele combinaties geven 409 Conflict terug.
  • POST /api/HookActions/bulk – Bearer JWT
    Maak meerdere hook-actie koppelingen aan. Bestaande combinaties worden overgeslagen door de service; databasefouten geven 500.
  • GET /api/HookActions/{id} – Bearer JWT
    Ophalen van een eigen hook-actie koppeling. Records zonder een hook special topic, of specialTopic=All, worden niet als HookActions beschouwd.
  • PUT /api/HookActions/{id} – Bearer JWT
    Pas enkel de prioriteit van een bestaande eigen hook-actie koppeling aan.
  • DELETE /api/HookActions/{id} – Bearer JWT
    Verwijder een eigen hook-actie koppeling.
  • GET /api/HookActions/wait-seconds – Bearer JWT
    Geeft de totale wachttijd terug voor actieve Wait-acties die overeenkomen met channelId en hookName. Query: channelId en hookName.

HookDocuments

  • GET /api/HookDocuments/promptDocuments – TicketAccessOrPhoneAuth
    Geeft PromptDocumentDTO records terug voor een hookName en optionele channelId. Telefoon-authenticatie aanvragen zijn beperkt tot het tokenkanaal. Speciale placeholders in documentinhoud worden vervangen voor terugkeer.
  • POST /api/HookDocuments – Bearer JWT
    Maak een hook-document koppeling aan met TopicDocumentCreateDTO. Voor hooks moet topicID null zijn en specialTopic de hook naam. Dubbele koppelingen geven 409 Conflict terug.

Ticket-bericht-runtime-endpoints

  • GET /api/TicketMessages/{id}/promptDocuments – TicketAccessOrPhoneAuth
    Geeft promptdocumenten voor een bericht. Optionele query hookName selecteert hook-documenten; topicId selecteert topic-documenten; onlyPromptDocuments slaat historische ticket- of eindgebruikersdata over.
  • POST /api/TicketMessages/{id}/execute-hook – TicketAccessOrPhoneAuth
    Voert alle geconfigureerde acties uit voor query hookName op het ticketbericht. Telefoon-authenticatie aanvragen moeten overeenkomen met het berichtkanaal.
  • GET /api/TicketMessages/{id}/execute-single-action – TicketAccess
    Voer één actietype handmatig uit voor een bericht. Query: action en optionele stage, standaard naar UserTriggered.

Ondersteunde hook-namen

Huidige HookName enumwaarden:

  • PreSpam, PostSpam, PostTopicDetection
  • OnEscalate, PostEscalate, OnEscalateFailed
  • OnClose, UserTriggered
  • OnEndUserAdd, OnEndUserUpdate, OnEndUserDelete
  • OnPhonePickup, OnPhonePickupSay

Toegang en fouten

  • Inkomende authenticatie
    Beveiligde AnswerPal API-endpoints gebruiken JWT Bearer-authenticatie. Voor het aanmaken van HookActions en HookDocuments is een geauthenticeerde klantcontext vereist.
  • Telefoon-authenticatie hook-toegang
    GET /api/HookDocuments/promptDocuments, GET /api/TicketMessages/{id}/promptDocuments en POST /api/TicketMessages/{id}/execute-hook ondersteunen telefoon-authenticatie context waar geconfigureerd. Telefoon-auth-calls worden met 403 afgewezen wanneer het gevraagde of berichtkanaal afwijkt van het tokenkanaal.
  • 400 Bad Request
    GET /api/HookActions vereist hookName of actionId. Ticket-bericht-promptdocumenten kunnen ook 400 opleveren als historische data wordt opgevraagd zonder dat er een OpenAI API-sleutel voor de klant aanwezig is.
  • 404 Not Found
    Hook-actie, hook-document, ticketbericht of klant werd niet gevonden binnen de geauthenticeerde scope.
  • 409 Conflict
    Dubbele hook-actie of hook-document combinaties.
  • 500 Server Error
    Onverwachte databasefouten tijdens bulk hook-actie aanmaak of hook-document aanmaak.

Velden en DTO's

HookAction-velden

HookAction-velden

  • hookActionID
    Enkel voor response: identifier gemapt vanuit TopicActionID.
  • hookName
    Vereiste enumwaarde bij creatie en query-filters. Moet een actuele HookName-waarde zijn.
  • actionID, actionName
    Actiereferentie en alleen-lezen actieweergavenaam. De definitie van de actie zelf wordt beheerd via de Actions API.
  • channelID, channelName
    Optioneel specifiek kanaaldoel en enkel-lezen kanaalweergavenaam.
  • specialChannel
    Optioneel breed kanaaldoel zoals All of een kanaaltype. Runtime matching accepteert het exacte channelID, All of het huidige kanaaltype.
  • priority
    Uitvoeringsvolgorde. Lagere prioriteit wordt eerder uitgevoerd. Update requests kunnen alleen dit veld aanpassen.

HookAction-query en response-velden

  • pageNumber, pageSize, sortBy, sortOrder
    Lijstpaginering en sortering. Ondersteunde sorteer-velden zijn ActionName, HookName, ChannelName, TopicName en Priority.
  • items, totalCount, totalPages
    PaginatedResult-velden die door de HookActions-lijst worden teruggegeven.
  • totalWaitSeconds
    Teruggegeven door HookWaitSecondsDTO van /api/HookActions/wait-seconds.

HookDocument- en promptvelden

HookDocument-koppelingsvelden

  • topicDocumentID, customerID
    Alleen-lezen koppelingsidentifier en klantbereik bij het aanmaken van een hookdocument-link.
  • topicID, specialTopic
    Voor hookdocumenten moet topicID null zijn en specialTopic de hook-naam.
  • documentID, documentName
    Het gekoppelde document en alleen-lezen documentweergavenaam.
  • channelID, channelName, specialChannel
    Optioneel kanaalspecifiek doel. Runtime matching accepteert exact kanaal, All of kanaaltype.

Promptdocumentvelden

  • documentID, name, content, contentType
    Promptdocumentidentiteit en inhoud die door hookdocumentoplossing wordt teruggegeven.
  • includeInRealtimeInstructions, imageUrls
    Realtime-inclusievlag en afbeeldings-URL’s gebruikt bij promptconstructie.

Runtime-responsevelden

PromptDocumentsExtendedDTO-velden

  • promptDocuments
    Lijst van PromptDocumentDTO die wordt teruggegeven voor een bericht.
  • endUsers, tickets
    Historische contextlijsten inbegrepen wanneer onlyPromptDocuments false is.
  • onlyPromptDocuments
    Query-vlag. Wanneer deze false is, laadt de endpoint ook historische data en moet de klant OpenAI API-sleutel geconfigureerd zijn.

Velden execute hook response

  • message
    Tekstsamenvatting, zoals Hook OnEscalate-acties uitgevoerd.
  • finished
    Boolean die wordt teruggegeven door de actie-uitvoeringsservice.
  • stage
    Optionele query voor execute-single-action, standaard op UserTriggered.

Voorbeelden

Hook-acties voor een hook oplijsten

GET /api/HookActions?hookName=PreSpam&pageNumber=1&pageSize=10&sortBy=Priority&sortOrder=asc
Authorization: Bearer <token>

Een hook-actie aanmaken

POST /api/HookActions
Authorization: Bearer <token>
Content-Type: application/json

{
  "hookName": "OnEscalate",
  "actionID": 123,
  "channelID": 5,
  "specialChannel": null,
  "priority": 10
}

Een hook-documentlink aanmaken

POST /api/HookDocuments
Authorization: Bearer <token>
Content-Type: application/json

{
  "topicID": null,
  "specialTopic": "OnPhonePickup",
  "documentID": 501,
  "channelID": 5,
  "specialChannel": null
}

Een runtime hook oplossen en uitvoeren

GET /api/TicketMessages/987/promptDocuments?hookName=OnPhonePickup&onlyPromptDocuments=true
Authorization: Bearer <token>

POST /api/TicketMessages/987/execute-hook?hookName=OnPhonePickup
Authorization: Bearer <token>

Wachttijd voor een telefoonhook berekenen

GET /api/HookActions/wait-seconds?channelId=5&hookName=OnPhonePickup
Authorization: Bearer <token>

Aanbevolen werkwijzen

  • Gebruik de huidige HookName-enumwaarden exact. Bedenk geen hook-namen buiten de enum.
  • Gebruik channelID voor een specifiek kanaal en specialChannel voor brede targeting zoals All of een kanaaltype. Vermijd beide tegelijk in te stellen, tenzij de gewenste prioriteit duidelijk is.
  • Maak hook priorities voldoende verspreid om in de toekomst stappen te kunnen toevoegen zonder alle bestaande links te moeten herschikken.
  • Voor PostTopicDetection combineert de runtime-actiezoekopdracht hook-acties met acties gekoppeld aan gedetecteerde berichtonderwerpen.
  • Gebruik /api/HookActions/wait-seconds vóór telefoon-opname/say-flows wanneer de UI of telefonie de totale wachttijd nodig heeft.
  • Gebruik HookDocuments voor gebeurtenisspecifieke promptinstructies; gebruik de pagina’s Documents en TopicDocuments voor het volledige documentbeheer.

Gedetailleerde endpoint-notities

HookActions-lijst

GET /api/HookActions vereist hookName of actionId. De endpoint geeft alleen hook-records met actieve acties terug, en sluit specialTopic=All uit.

Aanmaken en bulk aanmaken

POST /api/HookActions en POST /api/HookActions/bulk koppelen hookName aan de hook special topic en stellen de klanten-scope server-side in.

Bijwerken, verwijderen en wachttijd (in seconden)

PUT /api/HookActions/{id} werkt enkel de priority bij. GET /api/HookActions/wait-seconds telt actieve Wait-acties op na kanaal- en hook-matching.

Hookdocumenten

GET /api/HookDocuments/promptDocuments geeft hookpromptdocumenten terug. POST /api/HookDocuments maakt een hook-documentlink aan op basis van het TopicDocumentCreateDTO-formaat.

Runtime-hooks voor ticketberichten

Gebruik /api/TicketMessages/{id}/promptDocuments en /api/TicketMessages/{id}/execute-hook wanneer een specifiek bericht de runtime-context voor de hook is.

Ondersteunde hook-namen

Huidige HookName-enumwaarden:

  • PreSpam, PostSpam, PostTopicDetection
  • OnEscalate, PostEscalate, OnEscalateFailed
  • OnClose, UserTriggered
  • OnEndUserAdd, OnEndUserUpdate, OnEndUserDelete
  • OnPhonePickup, OnPhonePickupSay

FAQ

Een hook is een benoemd workflowevenement zoals PreSpam, PostTopicDetection, OnEscalate of OnPhonePickup. Hook-acties en hook-documenten koppelen automatisatie en promptcontext aan dat evenement.

De herbruikbare actiedefinitie bevindt zich in /api/Actions. /api/HookActions koppelt die actie aan een hook-naam, kanaaldoel en prioriteit.

Ze gebruiken hetzelfde topic-documentlinkformaat, maar voor hooks is topicID null en bevat specialTopic de hook-naam.

Ja, voor endpoints die TicketAccessOrPhoneAuth toelaten, maar het tokenkanaal moet overeenkomen met het gevraagde of berichtkanaal. Mismatches geven 403 Forbidden terug.

Inhoudsopgave

AnswerPal: AI-gedreven oplossingen voor klantenservice die je ondersteuning en communicatie moeiteloos versterken.

Contact

Voor ondersteunings-, commerciële en partnervragen kunt u mailen naar [email protected]

AnswerPal
Bisschoppenhoflaan 380
2100 Antwerpen
België

+32.36416685

BE 0862.692.858