FreddyCollin
Ensign
- Registriert
- Dez. 2014
- Beiträge
- 236
Hi,
ich übe gerade ein bisschen API Gerangel. Ich habe eine WebApp entdeckt mit der man eigene Apps (sogenannte Smaps) erstellen kann. Außerdem bietet die WebApp eine API Dokumentation wo man per API verschiedene sachen einsehen & editieren kann.
Um sie einzusehen, einfach auf den Link klicken und oben "/intern" auswählen:
Nun möchte ich eine DatenSourceId - dies ist ein Wert innerhalb der Definition einer Smap - ändern.
Mein bisheriges Vorgehen:
- Ich hole mir erst von der Smap/dem Formular per GET (1 auf dem Screenshot) den Responsebody. Der sieht so aus:
In fett markiert ist der Wert der gegen "XYZ" geändert werden soll.
Im nächsten Schritt (2 auf dem Screenshot) würde ich nun per PUT diesen Wert ändern wollen. Hierfür brauche ich folgende Parameter:
Ich verstehe alle Parameter. Jedoch verstehe ich nicht was in die "definition" reinmuss. Nach meinem Verständnis hätte ich hier den Response-Body von oben mit dem editierten Wert eingefügt. Das klappt aber nicht (Error Code 400). Wenn ich auf das Model-Schema rechts neben dem defintion-Feld klicke, übernimmt das Feld das Schema. Doch auch so wird Error Code 400 (invalid request) zurück gegeben.
Hat jemand eine Lösung / Tipp?
ich übe gerade ein bisschen API Gerangel. Ich habe eine WebApp entdeckt mit der man eigene Apps (sogenannte Smaps) erstellen kann. Außerdem bietet die WebApp eine API Dokumentation wo man per API verschiedene sachen einsehen & editieren kann.
Um sie einzusehen, einfach auf den Link klicken und oben "/intern" auswählen:
Nun möchte ich eine DatenSourceId - dies ist ein Wert innerhalb der Definition einer Smap - ändern.
Mein bisheriges Vorgehen:
- Ich hole mir erst von der Smap/dem Formular per GET (1 auf dem Screenshot) den Responsebody. Der sieht so aus:
JSON:
{
"deletedDate": null,
"createdDate": "2019-05-14T15:09:15.3045908Z",
"id": "ABCDEFGEHIJKM12345",
"smapVersion": "0.0",
"revision": 21,
"subscriptionId": "ABCDEFGEHIJKM12345",
"smapId": "ABCDEFGEHIJKM12345",
"serverSettings": {
"exportTemplateDisabled": true,
"exportTemplate": {
"assetId": "ABCDEFGEHIJKM12345",
"description": "ralf_AbholungNEU.docx",
"size": 87133,
"lastModified": "2019-05-31T09:57:41.1226484Z",
"contentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"checkSum": "85523c3554a0cf840c216e91d0de6a7d"
},
"exportFilenamePattern": null
},
"globalDataSources": null,
"version": 1,
"manifest": {
"appName": "smapA",
"logo": {
"assetId": "afbbf51f-5531-440c-9fa4-54ce9a0fd182",
"description": "logo.png",
"size": 1382,
"lastModified": "2019-05-14T15:09:15.3045908Z",
"contentType": "image/png",
"checkSum": "25e8b7e56f181895c1449e6d557e4f3e"
},
"author": "freddycollin@gmail.com",
"description": null,
"tags": null,
"keyFacts": null,
"runtimeVersion": "1.57.0.0"
},
"pages": [
{
"brickId": "Page",
"type": "Page",
"includeInExport": true,
"excludeLabelInExport": true,
"exportOnNewPage": true,
"exportLabel": "",
"exportIfEmpty": false,
"sections": [
{
"brickId": "Section",
"type": "Section",
"includeInExport": true,
"excludeLabelInExport": false,
"exportOnNewPage": false,
"exportIfEmpty": false,
"exportLabel": "",
"label": "Abschnitt",
"bricks": [
{
"brickId": "DataRecordSelect",
"type": "DataRecordSelect",
"tableData": {
"columns": [
{
"columnId": "Box1",
"dataType": "String",
"isValue": true,
"canSearch": true,
"displayDetail": true,
"displayResult": true
},
{
"columnId": "Box2",
"dataType": "String",
"isValue": true,
"canSearch": true,
"displayDetail": true,
"displayResult": true
},
{
"columnId": "Box3",
"dataType": "String",
"isValue": true,
"canSearch": true,
"displayDetail": true,
"displayResult": true
},
{
"columnId": "Box4",
"dataType": "String",
"isValue": true,
"canSearch": true,
"displayDetail": true,
"displayResult": false
},
{
"columnId": "Box5",
"dataType": "String",
"isValue": true,
"canSearch": true,
"displayDetail": true,
"displayResult": false
}
],
"dataSource": {
[B]"dataSourceId": "AAAAAAAAAAAAAAAAA",[/B]
"dataSourceVersion": "1.0",
"type": "DataSource",
"title": null
},
"userFilterColumnId": null
},
"isIncomplete": false,
"includeInExport": true,
"excludeLabelInExport": false,
"exportOnNewPage": false,
"exportLabel": "",
"exportIfEmpty": false,
"isRequired": false,
"isActive": null,
"label": "Datensatz auswählen"
}
],
"isActive": null
},
{
"brickId": "Section_2",
"type": "Section",
"includeInExport": true,
"excludeLabelInExport": false,
"exportOnNewPage": false,
"exportIfEmpty": false,
"exportLabel": "",
"label": "Abschnitt",
"bricks": [
{
"brickId": "Rating",
"type": "Rating",
"label": "Bewertung",
"includeInExport": true,
"excludeLabelInExport": false,
"exportOnNewPage": false,
"exportIfEmpty": false,
"exportLabel": "",
"isRequired": false,
"isActive": {
"trueAction": "Active",
"falseAction": "Inactive",
"formula": "EQUALS({DataRecordSelect[Box1]}, \"\")"
},
"description": "",
"maxRatingCount": 5
},
{
"brickId": "EmailCopy",
"type": "CarbonCopy",
"label": "Bericht als E-Mail senden",
"description": "Senden Sie eine Kopie Ihrer aufgenommenen Daten per E-Mail an einen beliebigen Empfänger. Nach Absenden des Formulars wird diese an den eingegebenen Adressaten übermittelt.",
"defaultSubject": "Bericht zu Ihren Daten",
"defaultBody": "Guten Tag,\r\n\r\nanbei sende ich Ihnen einen Bericht der aufgenommenen Daten.\r\n\r\nMit freundlichen Grüßen",
"isRequired": false,
"isActive": null,
"includeInExport": false,
"excludeLabelInExport": false,
"exportOnNewPage": false,
"exportLabel": "",
"exportIfEmpty": false
},
{
"brickId": "SendReportMail",
"type": "SendReportMail",
"toEmailSource": {
"formula": "\"test@example.com\""
},
"subjectSource": {
"formula": "\"Bericht zu Ihren Daten\""
},
"bodySource": {
"formula": "\"Guten Tag,\\n\\nanbei sende ich Ihnen einen Bericht der aufgenommenen Daten.\\n\\nMit freundlichen Grüßen\""
},
"isActive": null
}
],
"isActive": null
}
],
"label": "smap A"
}
]
}
In fett markiert ist der Wert der gegen "XYZ" geändert werden soll.
Im nächsten Schritt (2 auf dem Screenshot) würde ich nun per PUT diesen Wert ändern wollen. Hierfür brauche ich folgende Parameter:
Ich verstehe alle Parameter. Jedoch verstehe ich nicht was in die "definition" reinmuss. Nach meinem Verständnis hätte ich hier den Response-Body von oben mit dem editierten Wert eingefügt. Das klappt aber nicht (Error Code 400). Wenn ich auf das Model-Schema rechts neben dem defintion-Feld klicke, übernimmt das Feld das Schema. Doch auch so wird Error Code 400 (invalid request) zurück gegeben.
Hat jemand eine Lösung / Tipp?