Skip to main content
January 23, 2024
Solved

Call post api from interface

  • January 23, 2024
  • 26 replies
  • 2 views

Hi, 

i've a portal with some users fileds. When i compile the fields on click button i want to save this fields in my appian db using post api (i want to test the API). I wrote this code for the portal interface:

=a!localVariables(
local!nome,
local!cognome,
local!dataNascita,
local!indirizzoResidenza,
local!codiceFiscale,
{
a!textField(
label: "Nome",
value: local!nome,
saveInto: local!nome
),
a!textField(
label: "Cognome",
value: local!cognome,
saveInto: local!cognome
),
a!textField(
label: "Data di nascita",
value: local!dataNascita,
saveInto: local!dataNascita
),
a!textField(
label: "Indirizzo di residenza",
value: local!indirizzoResidenza,
saveInto: local!indirizzoResidenza
),
a!textField(
label: "Codice fiscale",
value: local!codiceFiscale,
saveInto: local!codiceFiscale
),
a!buttonLayout(
primaryButtons: {
a!buttonWidget(
label: "Invia dati",
saveInto: {
}
)
}
)
}
)

I also created a post api:

a!localVariables(
local!value: cast(
'type!{urn:com:appian:types:AHUTENTE}AH_UTENTE',
a!fromJson(http!request.body)
),
a!writeToDataStoreEntity(
dataStoreEntity: cons!AH_UTENTE_DSE_POINTER,
valueToStore: local!value,
onSuccess: a!httpResponse(
statusCode: 200,
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(
fv!storedValues
)
),
onError: a!httpResponse(
statusCode: 500,
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(
{
error: "There was an error writing to the data store"
}
)
)
)
)

Now I was wondering, how do I call the API to write to the db within the interface and pass the parameters? Do I need anything else? Sorry but I'm not very practical.

Best answer by harshitb6843

The URL you have added in the integration is not correct. Here is where you can find the right URL in your API. 

26 replies

harshitb6843
January 23, 2024

Can you please wrap your code in the code window? 

harshitb6843
January 23, 2024

You will need to create an Integration object to call the API - https://docs.appian.com/suite/help/23.4/Create_an_Integration.html

When you are done creating and testing the integration successfully, then you can call that integration in your button's saveInto. 

Try doing the steps I told you and if you face any errors or issues, feel free to post them here. 

January 23, 2024

hi [mention:b8ea18cfbb2e4f6d841cf3c1d4d7420b:e9ed411860ed4f2ba0265705b8793d05] ,

thanks for your your answer. I've created the integration. In the url field i need to pass the portal link? And then? How do i link the integration with the post api i've created?