thumb_up
thumb_down
link
Copy link
Copied
insert_emoticon
lmatfy
Copied

GetConnector (REST/JSON)

Met een GetConnector kun je gegevens ophalen uit een Profit-omgeving. Gebruik de tools op Connect.afas.nl om de request op te bouwen. Hier kun je testen hoe je de parameters kan meegeven in de request.

Voorbereiding:

Inhoud

Meta-info GetConnector raadplegen

Voor elke GetConnector kun je met een Meta-info request informatie van het endpoint opvragen. De response bevat de beschikbare velden, veldtype per veld, labels en de veldlengte per veld. Voor velden met een gekoppelde codetabel zijn ook de waarden uit de codetabel beschikbaar.

Voorbereidingen:

  1. Je hebt de GetConnector aangemaakt en ingericht.
  2. Je hebt een app connector aangemaakt en de GetConnector hieraan toegevoegd.
  3. Je hebt een gebruikers-token van een gebruiker van de app connector.

Meta-info GetConnector raadplegen:

Door '/metainfo/get/' op te nemen in het endpoint kun je deze request uitvoeren. Een volledige metainfo request URL ziet er als volgt uit :

https://12345.rest.afas.online/ProfitRestServices/metainfo/get/Get_Connector_ID

Meta-info GetConnector raadplegen via AFAS Connect:

  1. Roep de Profit REST Services aan.

  2. Selecteer de GetConnector en klik op Metainfo om de meta-informatie op te halen.

GetConnector uitvoeren (regels ophalen)

Je voert een GetConnector uit om regels (records) op te halen uit Profit.

GetConnector uitvoeren (regels ophalen):

  1. Roep de Profit REST Services aan.
  2. Selecteer de connector.
  3. Klik op: Execute.
  4. Je ziet bovenaan de URL van de aanroep.

  5. Je kunt snel schakelen naar de JSON-indeling.

Regels ophalen in batches

In de request URL kun je de parameters skip en take meegeven. Deze gebruik je in de volgende situaties:

  • Je haalt zeer veel data op en je blijft niet binnen de AFAS Online time-out van 15 minuten. Met skip/take haal je de data in meerdere batches op.
  • Je haalt data op voor een app waarin je een beperkt aantal records toont. Als de gebruiker naar de volgende pagina gaat haal je meer data op. Hierin gebruik je skip/take als tool voor paging/pagination.
  • Je haalt veel data op en je wilt een korte response tijd per request.

Regels ophalen in batches:

Aanroep:

<endpoint>/connectors/connectorname?skip=n&take=n

  • skip: het aantal records dat moet worden overgeslagen.
  • take: het aantal records dat moet worden opgehaald.

Je moet voor elk op te halen pakketje een aparte aanroep doen, tot je een pakketje terugkrijgt dat geen records meer bevat.

Let op:

Gebruik altijd een sortering bij het uitvoeren van een opdracht met skip/take. Sorteer bij voorkeur op een uniek veld, zoals factuurnummer of medewerkercode, of een combinatie van velden.

Voorbeeld:

Je haalt verlofregels op in pakketjes van 10 regels.

<endpoint>/connectors/Profit_Employee_Leaves?skip=0&take=10&orderbyfieldids=StartDate

<endpoint>/connectors/Profit_Employee_Leaves?skip=10&take=10&orderbyfieldids=StartDate

<endpoint>/connectors/Profit_Employee_Leaves?skip=20&take=10&orderbyfieldids=StartDate

etc.

Regels sorteren

Regels oplopend of aflopend sorteren.

Regels oplopend sorteren

Aanroep:

<endpoint>/connectors/Orderbyfieldids=Field1%2CField2

Tussen de sorteren velden plaats je de code %2C, dit is een komma.

Voorbeeld:

Je haalt verlofregels op en sorteert deze oplopend op begindatum.

../ProfitRestServices/connectors/Profit_Employee_Leaves?orderbyfieldids=StartDate

Regels aflopend sorteren

Plaats een minteken voor het sorteerveld.

Aanroep:

<endpoint>/connectors/Orderbyfieldids=-Field1%2C-Field2

Voorbeeld:

Je haalt verlofregels op en sorteert deze aflopend op jaar en oplopend op medewerker.

<endpoint>/connectors/Profit_Employee_Leaves?orderbyfieldids=-Year%2CEmployeeId

Filter toepassen (algemene uitleg)

Gebruik altijd filters bij het aanroepen van een GetConnector. Dit komt de performance ten goede en je krijgt als resultaat alleen de records die je nodig hebt.

Als je altijd hetzelfde filter wilt toepassen, neem je een vast filter op in de GetConnector in Profit. Hieronder wordt besproken hoe je een filter toepast in de aanroep van de GetConnector.

Filter op één waarde:

Aanroep:

<endpoint>/connectors/connectorname?filterfieldids=[Field]&filtervalues=[Value]&operatortypes=1

  • Field = de veldnaam waarop je filtert, bijvoorbeeld Artikelcode, Datum, etc.
  • Value=de filterwaarde, bijvoorbeeld artikelcode 1000, de datum 2018-01-01, etc.
  • Operatortypes = het filtercriterium, bijvoorbeeld 'is gelijk aan', 'is groter dan', etc.

Filter maken in AFAS Connect:

Je filtert bijvoorbeeld op artikelcode 1000.

<endpoint>/connectors/Profit_Article?filterfieldids=ItemCode&filtervalues=1000&operatortypes=1

Stel het filter samen in AFAS Connect. De URL wordt automatisch opgebouwd:

EN-filter / OF-filter

Uitleg bij filteren op meerdere waarden.

EN-filter op meerdere velden:

Je filtert op meerdere velden en records moeten aan alle filtercriteria voldoen.

Aanroep:

<endpoint>connectors/connectorname?[Field1]%2C[Field2]&[Value1]%2C[Value2]&operatortypes=[Type1]%2C[Type2]

  • De aanroep bevat achtereenvolgens de velden, filterwaarden en operatoren. Wil je bijvoorbeeld op drie waarden filteren, dan krijg je drie velden, dan drie filterwaarden en dan drie operatoren.
  • Gebruik een komma (code %2C) als scheidingsteken tussen de velden en tussen de filterwaarden.

Stel het filter samen in AFAS Connect. De URL wordt automatisch opgebouwd:

<endpoint>/connectors/Profit_Article?filterfieldids=ModifiedDate%2CArtGroup&filtervalues=2019-01-01T00%3A00%2C100&operatortypes=2%2C1

Houdt er rekening mee dat Gewijzigd op een datum-/tijdveld is.

OF-filter op meerdere velden:

Je filtert op meerdere velden en records moeten minimaal één filtercriterium voldoen.

Aanroep:

<endpoint>/connectors/connectorname?[Field1]%3B[Field2]&[Value1]%3B[Value2]&operatortypes=[Type1]%3B[Type2]

  • Dit is een 'is gelijk aan' filter. Het filtercriterium 'is gelijk aan' staat in het veld Operatortypes.
  • Gebruik een puntkomma (code %3B) als scheidingsteken tussen de velden en tussen de filterwaarden.

Stel het filter samen in AFAS Connect. De URL wordt automatisch opgebouwd:

<endpoint>/connectors/Profit_Article?filterfieldids=ArtGroup%3BArtGroup&filtervalues=100%3B200&operatortypes=1%3B1

Filter met filtercriteria

Uitleg bij filteren met een filtercriterium, zoals 'bevat', 'groter dan', 'kleiner dan', etc. Als je een filter maakt in AFAS Connect, zie je achter het criterium een cijfer. Dit cijfer wordt in de aanroep gebruikt.

Meer informatie over de filtercriteria.

Complex filter toepassen

Je kunt bij het uitvoeren van een GetConnector ook een EN/Of-filter combineren.

Dit wordt met een voorbeeld uitgelegd. Je begint met een XML-filter dat je omzet in een JSON-filter.

Toe te passen filter:

  • Medewerkers met de afdeling DESGTEAM en die in Leusden wonen
  • Medewerkers met de afdeling KWATEAM en die in Zeewolde wonen

JSON-filter maken:

  1. Start https://connect.afas.nl en log in.
  2. Ga naar: REST/JSON / GetConnectors.
  3. Vul het filter in en klik op Enable JSON filter.

  4. Het veld URL bevat de hele aanroep inclusief het filter:

Direct naar

  1. Profit Rest Services (JSON)
  2. Overzicht REST API voor ontwikkelaars
  3. Connector aanroepen via Profit Rest Service
  4. App connector toevoegen voor Profit Rest Service
  5. Token genereren voor de Profit Rest Service
  6. XML omzetten naar JSON
  7. GetConnector aanroepen
  8. UpdateConnector aanroepen
  9. ReportConnector aanroepen
  10. SubjectConnector aanroepen
  11. FileConnector aanroepen
  12. ImageConnector aanroepen
  13. ProfitVersionConnector aanroepen

Process

Connector JSON/REST

Work area

Connectoren