Call a process from a GET Web API

Hello,

I need to build several Web API's that, besides doing their main purpose, register in the database the parameters received and the date & time that the call occurred (basically, a customized log). I've started by creating the web API's with their main purpose and then, in the same web API, to use the a!startprocess or a!writetodatastoreentity(), bu it doesn't work.

I've tried to isolate the problem and came to two main bottlenecks:

1) Can I call a smart service in web API's of the method GET?

2) Even if the method is post, is it possible, for example, to start a process AND write the data store entity in the same Web API?

 

Is there a way to do this?

 

Thank you

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    Yes we can call  write the data store entity and  start a process one in another  in the Web API  something like below

     a!writeToDataStoreEntity(
            dataStoreEntity: cons!DSE_NAME,
            valueToStore: local!constructRequest,
            onSuccess: a!startProcess(
              processModel: cons!PM_NAME,
              processParameters: {
                inputJason: a!toJson({ aa: fv!storedValues })
              },
              onSuccess: a!httpResponse(
                statusCode: 200,
                headers: {
                  a!httpHeader(
                    name: "Content-Type",
                    value: "application/json"
                  )
                },
                body: a!toJson({ aa: fv!storedValues, bb: fv!processInfo })
              ),
              onError: a!httpResponse(
                statusCode: 500,
                headers: {
                  a!httpHeader(
                    name: "Content-Type",
                    value: "application/json"
                  )
                },
                body: a!toJson(
                  {
                    error: "There was an error starting the process"
                  }
                )
              )
            ),
            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"
                }
              )
            )
          )

Reply
  • 0
    Certified Lead Developer

    Yes we can call  write the data store entity and  start a process one in another  in the Web API  something like below

     a!writeToDataStoreEntity(
            dataStoreEntity: cons!DSE_NAME,
            valueToStore: local!constructRequest,
            onSuccess: a!startProcess(
              processModel: cons!PM_NAME,
              processParameters: {
                inputJason: a!toJson({ aa: fv!storedValues })
              },
              onSuccess: a!httpResponse(
                statusCode: 200,
                headers: {
                  a!httpHeader(
                    name: "Content-Type",
                    value: "application/json"
                  )
                },
                body: a!toJson({ aa: fv!storedValues, bb: fv!processInfo })
              ),
              onError: a!httpResponse(
                statusCode: 500,
                headers: {
                  a!httpHeader(
                    name: "Content-Type",
                    value: "application/json"
                  )
                },
                body: a!toJson(
                  {
                    error: "There was an error starting the process"
                  }
                )
              )
            ),
            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"
                }
              )
            )
          )

Children
No Data