Gratis setup bij jaarabonnementen

Meld je vandaag aan!

Eindgebruikers

API-referentie: Eindgebruikers-endpoints

De End Users API beheert de personen die voorkomen in AnswerPal-gesprekken: klanten, leads, partners, medewerkers of andere contacten. De huidige endpoints ondersteunen klantgerichte CRUD-operaties, op UID gebaseerde opzoekingen, tickethistoriek voor een persoon en het koppelen van extra unieke identificatoren.

Overzicht

Eindgebruikers zijn gekoppeld aan de geauthenticeerde klant uit de JWT. Elke eindgebruiker kan profielvelden en meerdere UID’s hebben, zoals e-mailadressen, telefoonnummers, WhatsApp-identifiers of externe referenties. UID-zoekopdrachten controleren ook customerRef, zodat integraties een persoon kunnen opzoeken op basis van een externe klantenreferentie of op een opgeslagen UID.

Huidige endpoints

Eindgebruikersrecords

  • GET /api/EndUsers – Bearer JWT
    Geeft een gepagineerde, klantgerichte lijst van eindgebruikers terug. Query ondersteunt pageNumber, pageSize, sortBy, sortOrder en search.
  • POST /api/EndUsers – Bearer JWT
    Maakt een eindgebruiker aan met optionele UID’s. De klant wordt bepaald via de JWT; een leeg customerType wordt standaard Lead.
  • GET /api/EndUsers/{id} – Bearer JWT
    Geeft één eindgebruiker terug met bijbehorende UID’s, op voorwaarde dat deze tot de geauthenticeerde klant behoort.
  • PUT /api/EndUsers/{id} – Bearer JWT
    Wijzigt een eindgebruiker en voegt UID’s toe, wijzigt of verwijdert ze. Een leeg customerType behoudt de bestaande waarde.
  • DELETE /api/EndUsers/{id} – Bearer JWT
    Verwijdert één eindgebruiker binnen het bereik van de geauthenticeerde klant.

UID-opzoeken en tickethistoriek

  • GET /api/EndUsers/byUid – Bearer JWT
    Zoek eindgebruikers op via queryparameter uid. De waarde wordt getrimd en vergeleken met opgeslagen UID’s of customerRef bij de geauthenticeerde klant.
  • GET /api/EndUsers/{id}/tickets – Bearer JWT
    Geeft gepagineerde tickets terug die verbonden zijn aan alle UID’s van de eindgebruiker, plus customerRef indien aanwezig. Filters omvatten status, customerRepID, channelType, channelIDs, uid, isClosed, isSpam, search, sortBy, sortOrder, pageNumber en pageSize.

UID-toewijzing

  • POST /api/EndUserUIDs/assign – Bearer JWT
    Wijs een UID toe aan een bestaande eindgebruiker binnen dezelfde klant. uidType is standaard Email als het leeg is. Dubbele koppelingen geven 200 OK met een bericht; nieuwe koppelingen geven 201 Created.

Authenticatie, validatie en fouten

  • Authenticatie
    Beveiligde AnswerPal API-endpoints maken gebruik van JWT Bearer-authenticatie. Alle End Users- en EndUserUIDs-endpoints vereisen een bearer-token.
  • Klantbereik
    Elke lees-, schrijf- en verwijderactie is beperkt tot het ID van de geauthenticeerde klant. Records van een andere klant worden beschouwd als niet gevonden.
  • Validatie
    customerType moet Lead, Customer, Partner of leeg zijn. E-mail-UID’s moeten syntactisch correcte e-mailadressen zijn. Telefoon-UID’s worden genormaliseerd bij aanmaken, wijzigen en toewijzen.
  • Fouten
    400 bij ongeldige DTO’s of ongeldige UID-waarden, 401/403 bij ontbrekende of geweigerde authenticatie, 404 wanneer de eindgebruiker niet gevonden wordt binnen het klantbereik en 201/204 bij geslaagde aanmaak-, wijzig- of verwijderacties.

Velden en DTO's

EndUser-velden

Profielvelden

  • endUserID
    Alleen-respons-ID op EndUserReadDTO.
  • firstname, lastname, name
    Voor- en achternaam zijn request/response-velden. name is een alleen-respons-veld dat beide combineert.
  • gender, otherContactDetails, aiDocumentation
    Optionele profiel- en interne AI-contextvelden.
  • customerRef
    Optionele externe referentie, max. 254 tekens. UID-opzoekingen controleren ook deze waarde.
  • customerType
    Optionele classificatie. Toegestane waarden: Lead, Customer of Partner. Leeg wordt standaard Lead bij aanmaak en behoudt de waarde bij wijziging.

Lokalisatie- en adresvelden

  • country, lang
    Optionele land- en taalcode. country wordt opgeslagen als 2 karakters; lang als maximaal 5 tekens.
  • street, houseNumber, postalCode, city, company
    Optionele adres- en bedrijfsvelden.
  • uids
    Lijst van UID-objecten die worden geretourneerd bij lezen en geaccepteerd bij aanmaken/wijzigen.

UID-velden

Lezen en aanmaken van UID-velden

  • endUserUIDID
    Alleen-respons-ID voor een UID-record.
  • uidType
    Type identifier, zoals Email, Phone of WhatsApp. Max. 20 tekens bij opgeslagen records.
  • uid
    Vereiste identifierwaarde. Email-UID’s moeten geldige e-mailadressen zijn; opgeslagen UID-waarden worden getrimd.
  • isPrimary
    Duidt de voorkeurs-UID van een eindgebruiker aan.

Velden voor wijzigen en toewijzen

  • endUserUIDID
    Optioneel in update-payloads. Null maakt een nieuwe UID aan tenzij een bestaande overeenkomende UID wordt gevonden.
  • markAsDeleted
    Alleen-bijwerken-vlag. Indien waar, wordt de overeenkomende UID verwijderd in plaats van opgeslagen.
  • endUserID
    Vereist door POST /api/EndUserUIDs/assign om de bestaande eindgebruiker te identificeren.

Payloads voor aanmaken en bijwerken

Payloads voor aanmaken en bijwerken

  • EndUserCreateDTO
    Breidt EndUserBaseDTO uit met uids: een lijst van { uidType, uid, isPrimary }.
  • EndUserUpdateDTO
    Breidt EndUserBaseDTO uit met uids: een lijst van { endUserUIDID, uidType, uid, isPrimary, markAsDeleted }.
  • EndUserReadDTO
    Breidt EndUserBaseDTO uit met endUserID, name en uids.
  • AssignUIDRequest
    Body voor POST /api/EndUserUIDs/assign: { uid, endUserID, uidType, isPrimary }.

Queryparameters

Lijst-queryparameters

  • pageNumber, pageSize
    Paginatie. Standaard zijn pageNumber 1 en pageSize 10.
  • sortBy, sortOrder
    Sorteervelden via de gedeelde ApplySort-helper. sortOrder is standaard asc voor de EndUsers-lijst.
  • search
    Zoekt in eindgebruiker-volledige-tekstdata, UID-waarden en voorvoegselmatches van customerRef.

Tickethistoriek-queryparameters

  • status, customerRepID, channelType, channelIDs, uid
    Optionele filters toegepast op tickets die overeenkomen met de UID-lijst van de eindgebruiker in de route en de customerRef.
  • isClosed, isSpam, search
    Status- en tekstfilters voor tickethistoriek.
  • sortBy, sortOrder, pageNumber, pageSize
    Sorteer- en paginatieopties voor tickethistoriek. Standaard sortering is lastMessageDate aflopend als sortBy ontbreekt.

Tickethistoriek-response

Gepagineerde response

  • items, totalCount, totalPages
    Zowel de lijst met eindgebruikers als de eindgebruikers-ticketgeschiedenis gebruiken de gedeelde PaginatedResult-structuur.
  • TicketReadDTO
    Ticketgeschiedenis retourneert TicketReadDTO-items, inclusief ticketvelden en de berekende topics, aiFeedbackComments en lastEndUserMessageID.
  • lastEndUserMessageID
    Enkel ingevuld als er exact één eindgebruikersbericht gevonden wordt voor het geretourneerde ticket.
  • aiFeedbackComments
    Geëscaleerde feedbackreacties verzameld uit ticketberichten, met de nieuwste bovenaan.

Voorbeelden

Een eindgebruiker aanmaken

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

{
  "firstname": "Jane",
  "lastname": "Doe",
  "customerRef": "ERP-3049353",
  "customerType": "Customer",
  "lang": "nl",
  "country": "BE",
  "uids": [
    {
      "uidType": "Email",
      "uid": "[email protected]",
      "isPrimary": true
    }
  ]
}

Een UID bijwerken en een andere UID verwijderen

PUT /api/EndUsers/123
Authorization: Bearer <token>
Content-Type: application/json

{
  "firstname": "Jane",
  "customerType": "",
  "uids": [
    {
      "endUserUIDID": 12,
      "uidType": "Email",
      "uid": "[email protected]",
      "isPrimary": true
    },
    {
      "endUserUIDID": 15,
      "uidType": "Phone",
      "uid": "+32470000000",
      "isPrimary": false,
      "markAsDeleted": true
    }
  ]
}

Een UID toewijzen aan een bestaande eindgebruiker

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

{
  "uid": "[email protected]",
  "endUserID": 123,
  "uidType": "Email",
  "isPrimary": false
}

AssignUIDRequest

Velden van AssignUIDRequest

  • uid
    Verplichte UID-waarde. Email UIDs moeten syntactisch geldige e-mailadressen zijn.
  • endUserID
    Vereist bestaand eindgebruiker-ID binnen de geauthenticeerde klant.
  • uidType
    Optioneel UID-type. Lege waarden worden standaard als Email behandeld.
  • isPrimary
    Stelt de toegewezen UID in als primair.

Aanbevolen werkwijzen en opmerkingen

  • Gebruik stabiele externe ID’s in customerRef wanneer uw CRM of ERP reeds een klantidentificatie bevat.
  • Voeg alle bekende identificatoren toe aan uids zodat e-mail, telefoon, WhatsApp en chatgesprekken aan dezelfde persoon gelinkt kunnen worden.
  • Stel één primaire UID per eindgebruiker in voor UI-weergave en standaard contactstromen.
  • Wanneer u customerType bijwerkt, stuur dan één van Lead, Customer of Partner. Stuur enkel een lege waarde wanneer u het bestaande waarde bewust wenst te behouden.
  • Voor ticketgeschiedenis gebruikt u het route-ID als bron van waarheid voor de eindgebruiker. De endpoint haalt de relevante UID-lijst uit dat record.

FAQ

Ja. Gebruik de uids-lijst bij aanmaak/bijwerking of POST /api/EndUserUIDs/assign om extra e-mailadressen, telefoonnummers, WhatsApp-ID's of externe identificaties te koppelen.

De opgegeven uid querywaarde wordt getrimd en vergeleken met opgeslagen UID-records en customerRef, beperkt tot de geauthenticeerde klant.

Indien dezelfde UID reeds aan die eindgebruiker is gekoppeld, retourneert de API 200 OK met een bericht. Een nieuwe koppeling retourneert 201 Created met de UID-recordinformatie.

Lead, Customer en Partner worden aanvaard. Lege waarden worden standaard Lead bij aanmaak en behouden de huidige waarde bij bijwerking.

Contacteer support

Inhoudstafel

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