Gratis setup bij jaarabonnementen

Meld je vandaag aan!

API-referentie: Actions endpoints

De Acties-API beheert herbruikbare automatiseringsacties in AnswerPal. De huidige implementatie scheidt actiedefinities van uitvoeringsregels: /api/Actions beheert de actie zelf, /api/TopicActions koppelt acties aan topics en /api/HookActions koppelt acties aan workflowgebeurtenissen.

Overzicht

Acties kunnen berichten sluiten of verwijderen, als spam markeren, reacties genereren en verzenden, externe API’s aanroepen, conversaties doorsturen, wachten, topicdetectie uitvoeren of function-toolconfiguratie beschikbaar stellen. Het actie-record bevat de uitvoeringsconfiguratie; prioriteit en triggercontext worden opgeslagen in de topic- of hooklink.

Authenticatie

Gebruik Authorization: Bearer <token> voor beschermde endpoints. Voor aanmaak-, wijzig-, lijst- en verwijderoperaties op /api/Actions is het ManageSettings-beleid vereist. GET /api/Actions/available aanvaardt tickettoegang of telefonische-authenticatiecontext. Endpoints voor topic- en hookacties vereisen een geauthenticeerde gebruiker.

Huidige endpoints

Actiedefinities

Gebruik deze endpoints om de herbruikbare actierecords voor de geauthenticeerde klant te beheren.

MethodePadBeleidDoel
GET/api/ActionsManageSettingsGeeft een gepagineerde lijst van actiedefinities terug.
POST/api/ActionsManageSettingsMaakt een nieuwe actiedefinitie aan.
GET/api/Actions/availableTicketAccessOrPhoneAuthGeeft actieve acties terug die beschikbaar zijn in ticket- of telefonische-authenticatiecontexten.
GET/api/Actions/{id}ManageSettingsGeeft één actiedefinitie terug.
PUT/api/Actions/{id}ManageSettingsWijzigt een actiedefinitie. De body actionID moet overeenkomen met het route id.
DELETE/api/Actions/{id}ManageSettingsVerwijdert een actiedefinitie.

GET /api/Actions

Geeft een gepagineerde PaginatedResult<ActionReadDTO> terug voor de geauthenticeerde klant.

Queryparameters: pageNumber standaard 1, pageSize standaard 10, sortBy standaard Name, sortOrder standaard asc.

GET /api/Actions?pageNumber=1&pageSize=10&sortBy=Name&sortOrder=asc
Authorization: Bearer <token>

GET /api/Actions/available

Geeft ActionAvailableDTO-records terug voor acties die gebruikt kunnen worden vanuit ticket- of telefonische-authenticatieflows.

GET /api/Actions/available
Authorization: Bearer <token>

Responsstructuur voor beschikbare acties

[
  {
    "actionID": 14,
    "customerID": 8,
    "name": "Send reply",
    "description": "Generate and send an answer",
    "actionType": "ReplySend",
    "isActive": true
  }
]

POST /api/Actions

Maakt een nieuwe ActionCreateDTO aan. name is verplicht; andere velden zijn afhankelijk van het geselecteerde actionType.

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

{
  "name": "Call CRM",
  "description": "Update the customer record",
  "actionType": "ApiCall",
  "apiEndpoint": "/customers/{{endUser.customerNumber}}",
  "apiMethod": "PUT",
  "apiHeaders": "{\"Content-Type\":\"application/json\"}",
  "apiBodyTemplate": "{\"status\":\"{{ticket.status}}\"}",
  "overrideApiAuthenticationType": "Bearer",
  "isActive": true,
  "isFunctionTool": false,
  "toolCallTimeoutSeconds": 30
}

PUT /api/Actions/{id}

Wijzigt een ActionUpdateDTO. De body actionID moet overeenkomen met het route id.

PUT /api/Actions/14
Authorization: Bearer <token>
Content-Type: application/json

{
  "actionID": 14,
  "name": "Call CRM",
  "description": "Update the customer record",
  "actionType": "ApiCall",
  "apiMethod": "PUT",
  "isActive": true
}

Een succesvolle wijziging geeft 204 No Content terug.

GET /api/Actions/{id}

Geeft één ActionReadDTO terug, inclusief actionID, customerID en eventuele gerelateerde customFieldDefinitions.

GET /api/Actions/14
Authorization: Bearer <token>

DELETE /api/Actions/{id}

Verwijdert de actiedefinitie voor de huidige klant.

DELETE /api/Actions/14
Authorization: Bearer <token>

Een succesvolle verwijdering geeft 204 No Content terug; een onbekend id geeft 404 Not Found terug.

TopicActions

TopicActions koppelen een actie aan een topic, kanaal of speciale topiccontext. Hier wordt de uitvoeringsprioriteit opgeslagen.

MethodePadDoel
GET/api/TopicActionsLijst van koppelingen. Filters zijn onder meer topicId, actionId, hookName, channelId, isActive, paginering en sortering.
POST/api/TopicActionsMaakt één topic-actie koppeling.
POST/api/TopicActions/bulkMaakt meerdere koppelingen aan.
GET/api/TopicActions/{id}Leest één koppeling.
PUT/api/TopicActions/{id}Wijzig alleen de priority.
DELETE/api/TopicActions/{id}Verwijdert één koppeling.

Body voor aanmaken

{
  "topicID": 21,
  "specialTopic": null,
  "documentID": 0,
  "channelID": 3,
  "specialChannel": null,
  "actionID": 14,
  "priority": 100
}

HookActions

HookActions koppelen acties aan workflowgebeurtenissen zoals spamcontroles, topicdetectie, escalaties, sluitingsevenementen en telefoonopnameflows.

MethodePadDoel
GET/api/HookActionsLijst van hook-acties. Minstens hookName of actionId is vereist.
POST/api/HookActionsMaakt één hook-actie koppeling aan.
POST/api/HookActions/bulkMaakt meerdere hook-actie koppelingen.
GET/api/HookActions/wait-secondsGeeft de totale actieve wachttijd voor een kanaal en hook terug.
GET/api/HookActions/{id}Leest één hook-actie koppeling.
PUT/api/HookActions/{id}Wijzig alleen de priority.
DELETE/api/HookActions/{id}Verwijdert één hook-actie koppeling.

Huidige hook-namen: PreSpam, PostSpam, PostTopicDetection, OnEscalate, OnClose, OnEndUserUpdate, OnEndUserAdd, OnEndUserDelete, UserTriggered, PostEscalate, OnEscalateFailed, OnPhonePickup, OnPhonePickupSay.

Voorbeeld wait-seconds

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

{
  "totalWaitSeconds": 45
}

Velden per doel

Dit zijn de velden die momenteel worden blootgesteld door ActionCreateDTO, ActionUpdateDTO en ActionReadDTO. priority staat hier bewust niet bij: de uitvoeringsprioriteit hoort bij TopicActions of HookActions.

Kernactie-definitie

VeldTypeGebruik
namestring, verplichtWeergavenaam, maximum 100 tekens.
descriptionstringKorte optionele beschrijving, maximum 100 tekens.
actionTypestringUitvoeringsgedrag, bijvoorbeeld ApiCall, Reply, ReplySend, Send, Forward, Close, Delete, Spam, DetectTopics of Wait.
isActivebooleanBepaalt of de actie kan worden uitgevoerd.

Configuratie van uitgaande API-calls

VeldTypeGebruik
apiEndpointstringEndpoint of pad dat AnswerPal aanroept wanneer actionType API-call-based is.
apiMethodstringHTTP-methode voor de uitgaande call, zoals GET, POST, PUT of DELETE.
apiHeadersJSON stringAanvullende headers voor de uitgaande request.
apiBodyTemplatestringRequest body template met placeholders.
fieldMappingJSON stringKoppelt AnswerPal-velden aan externe API-velden.
responseFieldMappingJSON stringKoppelt externe API-responsewaarden terug in de AnswerPal-context.

Overrides voor uitgaande authenticatie

VeldTypeGebruik
overrideApiBaseUrlstringOverschrijft de standaard basis-URL van de klant voor deze actie.
overrideApiUsernamestringGebruikersnaam voor een uitgaande connector-call.
overrideApiPasswordstringWachtwoord voor een uitgaande connector-call.
overrideApiTokenstringToken voor een uitgaande connector-call.
overrideApiAuthenticationTypestringType authenticatie voor uitgaande connector. Dit verandert de inkomende AnswerPal API-authenticatie niet; deze blijft JWT Bearer.

Runtime-instellingen

VeldTypeGebruik
conditionalRulesstringRegels die bepalen of de actie moet worden uitgevoerd.
forwardRecipientsstringE-mailontvangers voor doorstuuracties.
forwardPhoneNumberstringTelefoonnummer voor telefoon-doorstuuracties.
waitSecondsintegerVertraging die wordt gebruikt door Wait-acties.
actionSchedulestringSchedule-expressie of schedulesetting voor tijdsgebonden uitvoering.
actionScheduleTimeZoneIdstringTijdzone-id, door de API genormaliseerd ten opzichte van de huidige gebruikers-tijdzone.

Configuratie van function-tool

VeldTypeGebruik
isFunctionToolbooleanStelt de actie beschikbaar als oproepbare tool bij inschakeling.
functionParametersSchemaJSON schema stringParameterschema voor gebruik als function-tool.
toolCallTimeoutSecondsintegerMaximale wachttijd voor een oproep naar een function-tool.

Alleen-respons velden

VeldTypeGebruik
actionIDintegerActie-identificator. Verplicht bij PUT /api/Actions/{id} en moet overeenkomen met het route-id.
customerIDintegerEigenaar-klant, door de API ingesteld vanuit de geauthenticeerde context.
customFieldDefinitionsarrayOpgenomen in ActionReadDTO wanneer aangepaste velddefinities zijn gekoppeld.

Foutcodes

  • 200 OK: lijst-, raadpleeg- en beschikbare-actieverzoeken zijn geslaagd.
  • 201 Created: actie, topicactie of hookactie aangemaakt.
  • 204 No Content: bijwerken of verwijderen is geslaagd.
  • 400 Bad Request: ongeldige input, ID komt niet overeen, ongeldige priority-id, of ontbrekend hookName/actionId filter voor GET /api/HookActions.
  • 401 Unauthorized: ontbrekende of ongeldige JWT Bearer-token.
  • 403 Forbidden: geauthenticeerde gebruiker mist de vereiste policy of rol.
  • 404 Not Found: actie of koppeling bestaat niet voor de huidige klant.
  • 409 Conflict: dubbele topicactie of hookactie-relatie, of tegenstrijdige update.

Aanbevolen werkwijzen

  • Gebruik GET /api/Actions/available bij het opbouwen van ticket- of telefoonflows; gebruik GET /api/Actions voor instellingenpagina’s.
  • Sla uitvoeringsvolgorde op bij TopicActions of HookActions; stuur geen priority mee in de Actie-definitie zelf.
  • Gebruik actionScheduleTimeZoneId bij het inplannen van een actie; de API normaliseert dit op basis van de huidige gebruikers-tijdzone.
  • Houd inkomende API-authenticatie bij JWT Bearer. Gebruik overrideApiAuthenticationType enkel voor uitgaande API-calls die door AnswerPal worden gedaan.
  • Deactiveer bij voorkeur een actie met isActive=false als u deze eventueel wilt kunnen herstellen; verwijder pas als de actie nergens meer wordt gebruikt.

FAQ

Voor beheer van /api/Actions is ManageSettings nodig. /api/Actions/available accepteert tickettoegang of telefoon-authcontext. Topic- en hook-action endpoints vereisen een geauthenticeerde gebruiker.

Prioriteit wordt opgeslagen op TopicActions en HookActions, niet in de actiedefinitie. Het bijwerken van een topic- of hook-action werkt momenteel enkel de prioriteit bij.

Actions definiëren wat uitgevoerd kan worden. TopicActions koppelen acties aan topics of topic/kanaal-combinaties. HookActions koppelen acties aan workflow-events zoals PreSpam, PostTopicDetection, escalatie, afsluiten of telefoongesprek opnemen.

Neen. De inkomende AnswerPal API gebruikt JWT Bearer-authenticatie. Basic of Bearer-waarden in de actieconfiguratie zijn uitgaande connectorinstellingen die worden gebruikt wanneer AnswerPal een externe API aanroept.

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