Open tomtitherington opened 7 months ago
Once a client has a valid Websocket connection to the server, they should be able to retrieve details of a person and the state of their flows.
Person.data
Calls to this endpoint should be idempotent. Calling this endpoint multiple times with the same parameters should always result in the same outcome.
// Example request { "action": "identify", "request_id" : Date.now(), "data": { "person_key": "string", "properties": "object" } } // Example response from "identify" action { "request_id": 1519211809934, "errors": [], "status": 200, "data": { "person_id": "string", "flows": [ { "flow_instance_id": "string", "flow_schema_identifier": "string", "state": "string (active, inactive, completed, exited)" } ] } }
Test cases that
Person.id
Person.schema
Blockers:
Subscribing to flow / step state changes are not covered by this issue. A client will need to send another request type to subscribe to these changes.
*required field.
Background & Context*
Once a client has a valid Websocket connection to the server, they should be able to retrieve details of a person and the state of their flows.
Goal*
Person.data
field with the JSON data provided (if it is valid).Implementation Details*
Calls to this endpoint should be idempotent. Calling this endpoint multiple times with the same parameters should always result in the same outcome.
Acceptance Criteria*
Test cases that
Person.id
the server will respond with a 200 / status OK.Person.id
the server will provide a JSON response in the format and structure defined above.Person.id
will indicate that thePerson.id
was invalid or general 404.Person.schema
will return an invalid error and unsuccessful response.Dependencies
Blockers:
22
62
Additional Details
Subscribing to flow / step state changes are not covered by this issue. A client will need to send another request type to subscribe to these changes.
*required field.