Integration Flow
The integration has three phases: pair the customer connection, discover its shared resources, and execute remote commands.
Pairing
The customer supplies a short-lived pairing code to the partner application. The partner backend validates it with KINDOO and stores the resulting relationship in its own account model. Treat the code as sensitive and do not log it.
Resource discovery
Retrieve linked sites first, then retrieve entry points for each site. Store KINDOO IDs as external identifiers rather than deriving them from names. Only entry points with CanIssueRemoteCommand set to true should expose a remote-command action.
Refresh the resource list periodically and after a customer changes the integration configuration.
Remote commands
Command generation is asynchronous. A successful request returns a CommandID; it does not by itself confirm that the physical entry point completed the action. Query command status using that ID and present the final StatusDescription to the user.
Use bounded polling with a delay between requests. Stop when the command reaches a terminal state or when your application-level timeout expires.