UpdateConnector (REST/JSON)

Een externe applicatie kan records in de Profit-database toevoegen, wijzigen of verwijderen via een UpdateConnector (de mogelijkheden verschillen per connector).

Voorbereiding:

Inhoud

Meta-info UpdateConnector raadplegen

Je kunt een lijst opvragen met de naam, de omschrijving en alle velden van een UpdateConnector. In de veldenlijst zie je de veldnaam, het type, de lengte, etc.

Meta-info raadplegen:

  1. Roep de Profit REST Services aan.
  2. Selecteer de connector.
  3. Klik op Metainfo.

Speciale tekens

Je moet speciale tekens (zoals é, ü, ï) in de indeling UTF-8 aanbieden. Zo niet, dan zie je in Profit een vraagteken in plaats van bijvoorbeeld zoals é, ü, ï.

Let op:

Dit onderwerp is alleen geschikt voor JSON. Voor XML raadpleeg je dit onderwerp.

Bij Windows Powershell gebruik je bij een Invoke-WebRequest de parameter -ContentType 'application/json;charset=utf-8'.]

Voorbeeld:

In dit voorbeeld wordt de omschrijving van een dossieritem gewijzigd:

$token = '<token><version>1</version><data>12345678901234567890123456789012345678901234567890</data></token>'

$encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($token))

$authValue = "AfasToken $encodedToken"

$Headers = @{

Authorization = $authValue

}

$url = '<endpoint>/connectors/KnSubject'

$file = '{

"KnSubject": {

"Element": {

"@SbId": 1957,

"Fields": {

"Ds": " öndèrwérp aziëlaan JSON"

}

}

}

}'

Invoke-WebRequest -Uri $url -ContentType 'application/json;charset=utf-8' -Method PUT -Headers $Headers -Body $file

UpdateConnector uitvoeren

Een externe applicatie kan records in de Profit-database toevoegen, wijzigen of verwijderen via een UpdateConnector (de mogelijkheden verschillen per connector). Je kunt alleen UpdateConnectoren aanroepen die in de app connector geactiveerd zijn.

Beschikbare methoden:

  • POST: gegevens toevoegen (INSERT)
  • PUT: gegevens wijzigen (UPDATE)
  • DELETE: gegevens verwijderen

UpdateConnector uitvoeren via de Tool:

  1. Roep de Profit REST Services aan.
  2. Selecteer een connector en de juiste methode. De URL wordt getoond.
  3. Vul de velden in. Verplichte velden worden gemarkeerd met een sterretje.

  4. Klik op: Execute.
  5. Je ziet de JSON-code en het resultaat van de aanroep:

Gecombineerde aanroep PUT en POST

Je kunt in één aanroep gegevens wijzigen en toevoegen. Dit geldt alleen voor connectoren die bestaan uit een hoofdrecord en subrecords.

Voorbeelden:

  • Een debiteur heeft een hoofdrecord met algemene gegevens en o.a. een tabel met bankrekeningnummers (dit is het subrecord). Je kunt in één aanroep de algemene gegevens van de debiteur wijzigen én een bankrekening toevoegen.
  • Een medewerker heeft een hoofdrecord met algemene gegevens en o.a. een tabel met salarisregels (dit is het subrecord). Je kunt in één aanroep de algemene gegevens van de medewerker wijzigen én een salarisregel toevoegen.

UpdateConnector uitvoeren via de Tool:

in dit voorbeeld wijzig je de gegevens van een organisatie en voeg je een bankrekening toe.

  1. Selecteer een connector.
  2. Selecteer de methode POST.
  3. Selecteer Insert sub record, update main record.
  4. Selecteer het sub record (sub element) dat je wilt toevoegen.

  5. Vul de code van het te wijzigen hoofdrecord in, in dit bijvoorbeeld de code van de te wijzigen organisatie.
  6. Vul bij het hoofdrecord alleen de velden die je wilt wijzigen.
  7. Zoek het subrecord op, in dit voorbeeld het subrecord KnBankAcccount, en vul de gegevens in voor het record dat je wilt toevoegen.

  8. Klik op: Execute.

Codevoorbeeld PUT

$token = '<token><version>1</version><data>5DEFA8EC26234BB2993040350BDAB18754DB8AF8484301AD1C6CB7BBA20AC16D</data></token>'

$encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($token))

$authValue = "AfasToken $encodedToken"

$Headers = @{

Authorization = $authValue

}

$url = '<eindpoint>/connectors/KnSubject'

$file = '{

"KnSubject": {

"Element": {

"@SbId": 9769,

"Fields": {

"Ds": "Gewijzigd onderwerp JSON"

}

}

}

}'

Invoke-WebRequest -Uri $url -ContentType application/json -Method PUT -Headers $Headers -Body $file

Codevoorbeeld POST

$token = '<token><version>1</version><data>5DEFA8EC26234BB2993040350BDAB18754DB8AF8484301AD1C6CB7BBA20AC16D</data></token>'

$encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($token))

$authValue = "AfasToken $encodedToken"

$Headers = @{

Authorization = $authValue

}

$url = '<endpoint>/connectors/KnSubject'

$file = '{

"KnSubject": {

"Element": {

"@SbId": 2,

"Fields": {

"StId": 2,

"Ds": "Uitgaande telefoongesprek",

"St": true,

"SbBl": true

},

"Objects": {

"KnSubjectLink": {

"Element": {

"@SbId": 2,

"Fields": {

"SfTp": 3,

"SfId": "666"

}

}

}

}

}

}

}'

Invoke-WebRequest -Uri $url -ContentType application/json -Method POST -Headers $Headers -Body $file

Codevoorbeeld DELETE

$token = '<token><version>1</version><data>5DEFA8EC26234BB2993040350BDAB18754DB8AF8484301AD1C6CB7BBA20AC16D</data></token>'

$encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($token))

$authValue = "AfasToken $encodedToken"

$Headers = @{

Authorization = $authValue

}

$url = '<endpoint>/connectors/KnSubject/KnSubject/@SbId/2'

Zie ook

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