Samenvatting
- Elke koppeling krijgt een eigen AppConnector. Wat daar niet in aanstaat, kan hij niet aanroepen.
- Zonder skip en take geeft een GetConnector maar 100 regels terug.
- Bestaande Classic tokens verlopen op 15 februari 2027. Vanaf 31 augustus 2027 werken koppelingen met Classic tokens niet meer.
- Beheren wij jullie koppelingen? Dan zetten wij ze om naar OAuth. Jullie hoeven nu niets te doen.
In dit artikel
Wat een AppConnector bepaalt in een AFAS API koppeling
Wij geven elke koppeling een eigen AppConnector in Profit. Daarin staat welke GetConnectoren en UpdateConnectoren de koppeling mag aanroepen. Wat er niet in aanstaat, kan de koppeling niet aanroepen.
De AppConnector hangt aan een vaste gebruiker in Profit, en de koppeling werkt met de rechten van die gebruiker. AFAS raadt na het inrichten twee instellingen aan:
- een IP-restrictie op de AppConnector;
- filterautorisatie voor de gebruikersgroep: een GetConnector haalt dan alleen de records op waarvoor de groep rechten heeft.
Lezen en terugschrijven: GetConnector en UpdateConnector
Beide wisselen JSON uit met Profit, maar ze werken verschillend:
| GetConnector | UpdateConnector | |
|---|---|---|
| Doel | Leest gegevens uit Profit | Schrijft gegevens naar Profit |
| Inhoud | Samengesteld in Profit: welke records, welke velden, eventueel een vast filter | Ligt vast: een eigen endpoint met velden die AFAS bepaalt |
| Aanroep | Filters op velden, met skip en take in delen | POST voegt toe, PUT wijzigt, DELETE verwijdert; welke kan, verschilt per connector |
| Voorbeeld | Nieuwe medewerkers voor Entra ID | Tags op een contact, via KnContact |
De AFAS Microsoft Entra ID koppeling haalt elke nacht via een GetConnector de medewerkers op die binnen twee weken in dienst komen en nog geen account hebben. Voor hen maakt de koppeling een account aan in Entra ID.
Heen en terug in één koppeling kan ook. De AFAS ActiveCampaign koppeling haalt contacten uit Profit met een GetConnector en zet ze klaar in ActiveCampaign. De tags uit ActiveCampaign schrijft de koppeling via de KnContact UpdateConnector terug op het contact in Profit.
Een GetConnector in de praktijk: filters, limieten en bestanden
| Hoe het werkt | |
|---|---|
| Filteren | In de aanroep op velden, met operators als 'is gelijk aan' of 'bevat', gecombineerd met EN en OF |
| 100 regels | Zonder skip en take komen alleen de eerste 100 regels terug |
| Skip en take | Grotere sets in delen ophalen, altijd gesorteerd: anders kan de volgorde tussen twee aanroepen verschuiven |
| 150.000 cellen | Het advies van AFAS per aanroep: kolommen maal regels |
| Fair use | Haalt een koppeling elke minuut dezelfde dataset van 15 MB op, dan kan AFAS contact opnemen. Dat voorbeeld geeft AFAS zelf |
| Alleen wat veranderd is | Bijna elke GetConnector kan 'aangemaakt op' en 'gewijzigd op' meenemen. Filtert de koppeling daarop, dan haalt hij alleen op wat sinds de vorige aanroep veranderd is |
| Bestanden | Aparte connectoren: de SubjectConnector voor bijlagen bij dossieritems, de FileConnector voor bestanden |
Inloggen via OAuth: Classic tokens stoppen in 2027
Veel koppelingen loggen nu in met een Classic token: een vaste sleutel die vaak jaren geldig blijft. AFAS zegt zelf waarom het daarvan afstapt: "Lekt de sleutel uit, dan heeft een kwaadwillende dus lang toegang tot je omgeving."
De opvolger is OAuth. Voor een koppeling tussen twee systemen is dat de client credentials flow. De AppConnector krijgt een client id en een client secret, en daarmee vraagt de koppeling zelf een toegangstoken aan. Dat token is een uur geldig. Daarna vraagt de koppeling met de client id en het client secret een nieuw token aan.
De tijdlijn van AFAS
- 15 februari 2027 Bestaande Classic tokens verlopen. AFAS: "Vanaf dat moment werkt de koppeling niet meer."
- Daarna, tijdelijk Een nieuw Classic token is nog mogelijk, maximaal een halfjaar geldig.
- 31 augustus 2027 Koppelingen met een Classic token werken niet meer.
Beheren wij jullie koppelingen? Dan zetten wij ze om naar OAuth. Met Profit 9 wordt dat volgens AFAS een stuk eenvoudiger, omdat het authenticatietype van een bestaande AppConnector dan kan worden aangepast. Daarom zetten we de koppelingen gefaseerd om zodra jullie omgeving op Profit 9 draait. Ons doel is dat alle koppelingen die wij beheren vóór 15 februari 2027 op OAuth staan.
Jullie hoeven daar nu niets voor te doen: na de omzetting krijgen jullie een bevestiging, en hebben we extra toegang tot jullie AFAS-omgeving nodig, dan nemen we vooraf contact op.
Zo zie je welke AppConnectoren naar OAuth moeten
- Ga in Profit naar Algemeen / Beheer en open de AppConnectoren.
- Bekijk per AppConnector het type en het authenticatietype.
- Type 'Onderhoud door klant', met 'Classic token' of 'Hybride'? Dan moet die AppConnector naar OAuth.
De AppConnectoren die AFAS standaard uitlevert, zoals die van AFAS Payment Service, zet AFAS zelf om.
Wat jullie bepalen en wat wij bouwen
Jullie weten welke processen van een koppeling afhangen, en bepalen welke gegevens erin mogen. Wij bouwen de rest: de AppConnector met de GetConnectoren en UpdateConnectoren die de koppeling nodig heeft, en de koppeling zelf in Node-RED of Node.js. Hoe we dat aanpakken, lees je bij AFAS koppeling laten maken.
