Naar de AFAS KnowledgeBase Terug naar de zoekresultaten

Andere artikelen

Vervolgactie: Incident insturen:

Heeft dit jouw vraag beantwoord?

Bedankt voor jouw feedback!

Ja Nee
GetConnector Profit REST Service PROFIT 9

GetConnector Profit REST Service

Een GetConnector haalt gegevens op uit een Profit-omgeving.

Voorbereiding:

Inhoud

Meta-info GetConnector raadplegen

Je gaat aan de slag met GetConnectoren.

Je kunt makkelijk zien welke GetConnectoren beschikbaar zijn en de metagegevens van de connectoren (alle velden, veldtype en veldlengte) raadplegen.

Meta-info raadplegen:

  1. Roep de Profit REST Services aan.
    • Bovenaan zie je de omgeving, de app connector en de gebruikersgroep waarvan de gebruikers toegang hebben tot de app connector.
    • In de lijst zie je de beschikbare GetConnectoren. Als de gewenste GetConnector niet in de lijst staat, moet je deze eerst toevoegen in de app connector.

  2. Selecteer de GetConnector en klik op Metainfo om de metainformatie op te halen.

GetConnector uitvoeren (regels ophalen)

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

GetConnector uitvoeren (regels ophalen):

In dit voorbeeld haal je alle artikelen op met de GetConnector Profit_emplyee_Leave (verlofboekingen).

  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

Een GetConnector kan veel records opleveren, ondanks het gebruik van filters. Daarom is het aan te raden de records op te halen in pakketjes met de velden 'skip' en 'take'.

Regels ophalen in batches:

Aanroep:

../ProfitRestServices/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.

../ProfitRestServices/connectors/connectors/Profit_Employee_Leaves?skip=0&take=10&orderbyfieldids=StartDate

../ProfitRestServices/connectors/connectors/Profit_Employee_Leaves?skip=10&take=10&orderbyfieldids=StartDate

../ProfitRestServices/connectors/connectors/Profit_Employee_Leaves?skip=20&take=10&orderbyfieldids=StartDate

etc.

Regels sorteren

Regels oplopend of aflopend sorteren.

Regels oplopend sorteren

Aanroep:

../ProfitRestServices/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:

../ProfitRestServices/connectors/Orderbyfieldids=-Field1%2C-Field2

Voorbeeld:

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

../ProfitRestServices/connectors/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:

../ProfitRestServices/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.

../ProfitRestServices/connectors/Profit_Article?filterfieldids=ItemCode&filtervalues=1000&operatortypes=1

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

Meer informatie over velden:

Gebruik de knop Metainfo.

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:

../ProfitRestServices/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:

../ProfitRestServices/connectors/Profit_Article?filterfieldids=ModifiedDate%2CArtGroup&filtervalues=2018-01-01%2C100&operatortypes=1%2C1

OF-filter op meerdere velden:

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

Aanroep:

../ProfitRestServices/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:

.../ProfitRestServices/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.

Combinatie van EN-filter / OF-filter

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.

New_Beschikbaar vanaf Profit Update

 

In dit artikel is nieuwe gave functionaliteit verwerkt die beschikbaar is vanaf Profit 8.

Toe te passen filter:

  • Medewerkers die de functie Manager hebben EN die in Leusden wonen
  • Medewerkers die de functie Ontwerper hebben EN die in Leusden wonen

XML-filter maken:

  1. Start https://connect.afas.nl en log in.
  2. Ga naar: SOAP/XML / GetConnectoren.
  3. Klik op Fetch metainfo en selecteer de GetConnector.
  4. Klik op Create Filter en vul het filter in.

  5. Klik op Show XML en kopieer het hele filter naar het Klembord.

XML omzetten naar SOAP-aanroep:

  1. Ga naar SOAP/XML / XML to JSON en zet het filter om naar JSON.

  2. Kopieer de JSON-code en 'encode' deze naar ASCII. Hierdoor krijg je code die bruikbaar is voor een geldige URL (zonder illegale tekens). Je kunt hiervoor bijvoorbeeld https://ascii.cl/url-encoding.htm gebruiken.

Het resultaat ziet er als volgt uit:

%7B%0A%22Filters%22%3A+%7B%0A%22Filter%22%3A+%5B%0A%7B%0A%22@FilterId%22%3A+%22Filter+1%22%2C%0A%22Field%22%3A+%5B%0A%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Manager%22%0A%7D%2C%0A%7B%0A%22@FieldId%22%3A+%22EmployerId%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%2201%22%0A%7D%0A%5D%0A%7D%2C%0A%7B%0A%22@FilterId%22%3A+%22Filter+2%22%2C%0A%22Field%22%3A+%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Docent%22%0A%7D%0A%7D%2C%0A%7B%0A%22@FilterId%22%3A+%22Filter+3%22%2C%0A%22Field%22%3A+%5B%0A%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Ontwerper%22%0A%7D%2C%0A%7B%0A%22@FieldId%22%3A+%22EmployerId%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%2201%22%0A%7D%0A%5D%0A%7D%0A%5D%0A%7D

URL samenstellen:

De totale UL-call bestaat uit de volgende onderdelen:

https://[deelnemersnummer].rest.afas.online/profitrestservices

+

/connectors/XXXXX?filterjson=

+

%7B%0A%22Filters%22%3A+%7B%0A%22Filter%22%3A+%5B%0A%7B%0A%22@FilterId%22%3A+%22Filter+1%22%2C%0A%22Field%22%3A+%5B%0A%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Manager%22%0A%7D%2C%0A%7B%0A%22@FieldId%22%3A+%22EmployerId%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%2201%22%0A%7D%0A%5D%0A%7D%2C%0A%7B%0A%22@FilterId%22%3A+%22Filter+2%22%2C%0A%22Field%22%3A+%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Docent%22%0A%7D%0A%7D%2C%0A%7B%0A%22@FilterId%22%3A+%22Filter+3%22%2C%0A%22Field%22%3A+%5B%0A%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Ontwerper%22%0A%7D%2C%0A%7B%0A%22@FieldId%22%3A+%22EmployerId%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%2201%22%0A%7D%0A%5D%0A%7D%0A%5D%0A%7D

De gehele URL:

https://[deelnemersnummer].rest.afas.online/profitrestservices/connectors/XXXXX?filterjson=%7B%0A%22Filters%22%3A+%7B%0A%22Filter%22%3A+%5B%0A%7B%0A%22@FilterId%22%3A+%22Filter+1%22%2C%0A%22Field%22%3A+%5B%0A%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Manager%22%0A%7D%2C%0A%7B%0A%22@FieldId%22%3A+%22EmployerId%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%2201%22%0A%7D%0A%5D%0A%7D%2C%0A%7B%0A%22@FilterId%22%3A+%22Filter+2%22%2C%0A%22Field%22%3A+%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Docent%22%0A%7D%0A%7D%2C%0A%7B%0A%22@FilterId%22%3A+%22Filter+3%22%2C%0A%22Field%22%3A+%5B%0A%7B%0A%22@FieldId%22%3A+%22FunctionDesc%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%22Ontwerper%22%0A%7D%2C%0A%7B%0A%22@FieldId%22%3A+%22EmployerId%22%2C%0A%22@OperatorType%22%3A+%221%22%2C%0A%22%23text%22%3A+%2201%22%0A%7D%0A%5D%0A%7D%0A%5D%0A%7D

In dit voorbeeld wordt de URL van het nieuwe inloggen gebruikt.

Direct naar

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