<developers/>
CoreInto developers

Build on CoreInto

A JSON API with scoped keys, events you can listen to, and plain PHP classes for gateways, servers, registrars and add-on modules.

Documents CoreInto 0.54.2. Synced from the CoreInto manual 49 min ago.

bash
$ curl -s https://billing.example.com/api \
    -H "Authorization: Bearer $CI_KEY" \
    -d action=clients.list -d status=active -d limit=2
{
  "result": "success",
  "clients": [ { "id": 1284, "company": "Example Hosting" } ]
}

Four ways to extend CoreInto#

The JSON API is for systems outside CoreInto: your own control panel, a reseller's tool, an accounting system, a script that runs at night. Each credential has scopes and an expiry date, and every call is logged.

Add-on modules live inside CoreInto. A module is a folder under modules/ with a manifest and a class; it can add pages and menu items to the admin area, keep its own settings and tables, listen to events such as a new invoice or a changed client, add HTML to the page head, bring registrar modules and answer WHOIS lookups. Switching it off keeps its data.

Gateway, server and registrar modules are PHP classes with a small, documented set of methods. CoreInto calls them at the right moment in the life of a payment, a hosting account or a domain, and logs every request and answer with secrets hidden.

Client area templates are folders of plain PHP pages and assets. Copy one, change it, and it appears in the settings as your own.

Ground rules#

  • Never change CoreInto's own files. Updates replace them; your modules and templates are left alone.
  • Use the events and hooks rather than reading CoreInto's tables directly where you can; tables may change between versions, events and the API do not change without notice in the release notes.
  • Keep secrets in module settings fields of the "secret" kind: CoreInto encrypts them with AES-256-GCM.
  • The page security policy forbids inline scripts and styles. Put scripts and styles in your module's or template's assets.

Where the reference comes from#

The API reference, the command line, the add-on module guide, the Licensing Manager's check address and the mobile app connection are published straight from the CoreInto manual and update by themselves with each release.

Frequently asked questions

Is there a CoreInto API?

Yes, a JSON API with scoped credentials covering clients, products, orders, services, domains, invoices, tickets and more. See the API reference.

How do I run my own code when something happens in CoreInto?

Write an add-on module and list the events it listens to, such as invoice.created or client.updated. See hooks and events.

Can I sell a module I wrote?

Yes. Apply as a technology partner and we can list it in the CoreInto marketplace.