Connector aanroepen via Profit Rest Service
Let op:
Vanaf Profit 7 moet de AFAS-token in de header van de connector-call altijd Base64-encoded verstuurd worden. Dit geldt voor zowel REST/JSON als SOAP/XML. Als de token niet Base64-encoded is in de header, zal er een foutmelding worden gegeven.
Hierop geldt één uitzondering: bij SOAP is het ook mogelijk om de token in de SOAP-body mee te geven. In dat geval blijft alles gewoon werken zonder dat Base64-encoding vereist is.
Een externe applicatie roept een Connector aan op basis van een token.
Gebruik de volgende algemene URL's.De REST service moet altijd via https worden aangeroepen.
Let op:
Je vindt alle endpoints voor connectoren op de centrale pagina URL's van REST Services.
|
Inhoud |
Algemeen
Om data op te halen uit Profit met een externe applicatie heb je het volgende nodig. Zie ook de onderstaande code voorbeelden.
- URL om aan te roepen
De URL kan je samenstellen door via de testtooling op connect.afas.nl de GetConnector uit te voeren. Hier kan je direct filters, sortering en skip/take in de url toevoegen.
- Header key;
De key van de header is altijd: Authorization.
- Header value
De Value van de header begint altijd met: AfasToken + de token als Base64-string
- Script waarmee je de Base64-string via Chrome DevTools Console kan genereren:
$('input').value = "AfasToken " + window.btoa("<token><version>1</version><data> vul hier je token in </data></token>")
REST connector aanroepen met AFAS Connect
- Start https://connect.afas.nl en log in.
- Ga naar: REST/JSON / GetConnectors.
- Gebruik de stappen voor:
Connector aanroepen code-voorbeelden
Deze voorbeelden zijn gemaakt met Windows Powershell. AFAS verleent geen support op dit onderdeel. In de aanroep moet de token geconverteerd worden naar een base64-string.
GetConnector aanroepen:
$token = '<token><version>1</version><data>0E6824699F40129E254DB96441233E32F13454355184E5A24F8E3C0DFA4F</data></token>'
$encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($token))
$authValue = "AfasToken $encodedToken"
$Headers = @{
Authorization = $authValue
}
$url = 'https://......./Profitrestservices/connectors/Profit_Article'
$file = '\\yourserver\volume\folder\Getconnector.json'
Invoke-WebRequest -Uri $url -OutFile $file -Headers $Headers
Meta-info ophalen:
$token = '<token><version>1</version><data>0E6824612043AA9E254DB961223DD33E32F14943D93184E5A234553C0DFA4F</data></token>'
$encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($token))
$authValue = "AfasToken $encodedToken"
$Headers = @{
Authorization = $authValue
}
Invoke-WebRequest -Uri 'https://....../Profitrestservices//metainfo' -Headers $Headers
Productie-omgeving
