Developer FAQ

What programming languages do you support?

Pandium is a language-agnostic platform. You can write integrations in any common language, including Clojure, Go, Java, Javascript, PHP, Python, and Ruby.

How does the integration script code get into Pandium?

We have an integration with your source code repository. Pandium ingests your script when your script is pushed to your repository. A new release will be created that you can apply to your tenants as soon as you are ready.

Do you support webhooks and event-based integrations?

Yes. This is just another trigger for us.

Does Pandium support batch/polling style integrations?

Yes, and you and your users can schedule to fit your needs. Sync schedule options and defaults are defined per-integration.

How do you store secrets?

Secrets are encrypted at rest and in transit. After being refreshed, if needed, they are injected in at run-time as environment variables.

What if a partner API changes? How is that handled?

All changes needed to support authentication and authorization will be handled by Pandium. Changes in shapes of data or versions of an API are handled by the writer of the integration. Simply update your script and push to your repository to get a new release on the platform.

How are the frontends handled for our in-app marketplace or integration?

Pandium generates a user-facing frontend automatically, from the associated Pandium.yaml, enabling your customers to begin using your integration the day the script is published to the Platform. Pandium offers a theming UI to enable your marketing team to customize the marketplace with your branding and also offers a CMS for updating of marketing copy or instructions throughout the marketplace installation experience.

How is logging handled?

Any logs printed to stderr in your script will be captured by the platform and will be visible to Pandium users and end customers to inspect.

How can I pass state between runs?

A programmer of an integration can pass state between successful runs by writing a JSON encoded string to stdout. This string will be presented to the next invocation of your script as an Environment Variable.