Create Trigger
CreateTrigger creates a new Trigger for the specified ConnectorVersion. The Trigger type must be compatible with the protocol of the Connector, otherwise a 400 Bad Request response will be returned.
Authorizations
Bearer token authentication used by the Versori Platform. External consumers must provide an API key, however internal consumers must provide a JWT id_token issued by our IdP.
Path Parameters
ID is the unique identifier of the Connector.
Version is the version name of the Connector to retrieve. The reserved names "latest" and "default" may be used to retrieve the latest version or the default version respectively.
Body
TriggerCreate defines a new Trigger to be created.
http
Name is a unique identifier for the Trigger within the scope of the Connector. It is expected to both human and machine-readable, i.e. "GetProduct" or "get_products", see the validation regex for more details.
Summary is a human-readable version of the id
field, i.e. "Get Product" or "Get Products". This is used
when displaying the Trigger to users, however if omitted the TriggerId
can be used to display to users
instead.
Description is a human-readable description of the Trigger. It can provide extra information to users about how the Trigger operates and anything the user may need to be aware of when using it.
HTTPMethod defines the HTTP method which will be used when invoking the Action. This is typically one of the standard HTTP methods such as GET, POST, PUT, PATCH or DELETE, but may be any valid HTTP method.
GET
, POST
, PUT
, PATCH
, DELETE
, HEAD
, OPTIONS
, CONNECT
, TRACE
Name is the name of the parameter which will be sent to the HTTP endpoint.
cookie
, header
, query
Required denotes whether this parameter is required.
Type is the type of the parameter. Currently only scalar types are supported, if you require complex types then get in touch with support to discuss options.
string
, number
, integer
, boolean
Default is the default value to use for the parameter if no value is provided by the user. If this is not defined then the parameter will not be sent to the HTTP endpoint if no value is explicitly provided by the user.
If this value is a string, it may be templated using a Go-formatted template
string, i.e. {{ .conn.foo }}
where foo
is an connection variable defined in the
Connector's Connection.
TriggerHTTPRequestBody defines whether a request body is required for a particular HTTP Trigger, and if so which Definitions are considered valid. If this value is undefined then no request body will be sent.
Required denotes whether a request body is required for this Trigger.
a Trigger may support one Definition per media-type, i.e. application/json or application/xml etc. Attempts to link multiple Definitions with the same media-type will result in an error.
Responses defines the expected responses from the HTTP endpoint. This is used to determine whether the Trigger was successful or not. At least one response must be defined in order for the Trigger to be valid.
Status is the HTTP status code which is expected from the HTTP endpoint. If this is not defined then this response is treated as the default response, i.e. if no other response matches then this response will be used. a Trigger may only have one default response and each response must have a unique status code.
a Trigger may support one Definition per media-type, i.e. application/json or application/xml etc. Attempts to link multiple Definitions with the same media-type will result in an error.
Response
TriggerHTTP defines an HTTP Trigger.
ID is the unique identifier of the Trigger.
Errors is a list of ErrorField objects which defines the errors which may be returned by the Trigger. An empty array denotes that the Trigger has been validated and no errors were found. If this field is undefined then this means validation has not occurred.
Field is the field which failed validation. This is typically a JSON Pointer, i.e. "/parameters/0/properties/id", however this is open for discussion (we should be consistent with the ErrorField type).
Message is a human-readable description of the error. This is typically a human-readable string, i.e. "The parameter 'id' is invalid".
Severity is the severity of the error. This is used to determine how the error should be displayed to the user, i.e. a warning may be displayed in a modal dialog, whereas an error may be displayed inline.
error
, warning
http
Name is a unique identifier for the Trigger within the scope of the Connector. It is expected to both human and machine-readable, i.e. "GetProduct" or "get_products", see the validation regex for more details.
Summary is a human-readable version of the id
field, i.e. "Get Product" or "Get Products". This is used
when displaying the Trigger to users, however if omitted the TriggerId
can be used to display to users
instead.
Description is a human-readable description of the Trigger. It can provide extra information to users about how the Trigger operates and anything the user may need to be aware of when using it.
HTTPMethod defines the HTTP method which will be used when invoking the Action. This is typically one of the standard HTTP methods such as GET, POST, PUT, PATCH or DELETE, but may be any valid HTTP method.
GET
, POST
, PUT
, PATCH
, DELETE
, HEAD
, OPTIONS
, CONNECT
, TRACE
Name is the name of the parameter which will be sent to the HTTP endpoint.
cookie
, header
, query
Required denotes whether this parameter is required.
Type is the type of the parameter. Currently only scalar types are supported, if you require complex types then get in touch with support to discuss options.
string
, number
, integer
, boolean
Default is the default value to use for the parameter if no value is provided by the user. If this is not defined then the parameter will not be sent to the HTTP endpoint if no value is explicitly provided by the user.
If this value is a string, it may be templated using a Go-formatted template
string, i.e. {{ .conn.foo }}
where foo
is an connection variable defined in the
Connector's Connection.
TriggerHTTPRequestBody defines whether a request body is required for a particular HTTP Trigger, and if so which Definitions are considered valid. If this value is undefined then no request body will be sent.
Required denotes whether a request body is required for this Trigger.
a Trigger may support one Definition per media-type, i.e. application/json or application/xml etc. Attempts to link multiple Definitions with the same media-type will result in an error.
Responses defines the expected responses from the HTTP endpoint. This is used to determine whether the Trigger was successful or not.
Status is the HTTP status code which is expected from the HTTP endpoint. If this is not defined then this response is treated as the default response, i.e. if no other response matches then this response will be used. a Trigger may only have one default response and each response must have a unique status code.
a Trigger may support one Definition per media-type, i.e. application/json or application/xml etc. Attempts to link multiple Definitions with the same media-type will result in an error.