How it works
Integrations and API
What each connection on Integrations and API does for your business today, from M-Pesa and eTIMS to card payments and SMS, and where API keys and webhooks fit.
Integrations and API holds “Payment, tax and messaging connections, plus API keys and webhooks for your own systems.” The Connections tab has a card for each service Kila can connect to, with what it is for and whether it is connected. API keys, Webhooks and API reference are for your own systems, such as a website.
The connections
Link to this section: The connections| Connection | What Kila says it is for | What it asks for |
|---|---|---|
| M-Pesa | “Take M-Pesa at the till: type the code the customer reads out, or send a prompt to their phone and let Safaricom tell Kila when money arrives.” | Its own set-up, Set up M-Pesa: Manual codes, Prompts through Kila or Your own Daraja app. |
| Bank statement feeds | “Daily statement files from partner banks.” | Bank and Account number. |
| Card payments | “Visa and Mastercard through an approved processor.” | The Processor (Pesapal, DPO or Flutterwave), Merchant ID, Consumer key and Consumer secret. |
| “Receipts, statements and scheduled reports.” | From name, From email and Reply-to email. | |
| KRA eTIMS (OSCU) | “Fiscal invoices and credit notes through the online sales control unit.” | KRA PIN, eTIMS device or OSCU serial, KRA branch code and the Mode. |
| SMS gateway | “Receipts, reminders and one-time codes by SMS.” | The Provider (Africa’s Talking or Safaricom bulk SMS), a Sender ID of “Up to 11 characters, approved by the network.”, Username and API key. |
To connect one, tap Connect, fill in what it asks, and tap Save and connect. “Secrets are stored encrypted and never shown again in full. Kila staff cannot read them.” Disconnect stops Kila using a connection and keeps its settings.
Not available yet
Some cards keep what you save but do not change what Kila does yet:
- Card payments: the till charges no card through the processor saved here. Cards are charged on the bank’s card machine and recorded from its slip: see Take a card payment.
- Bank statement feeds: no statement comes in by itself. Download it from the bank and upload it.
- SMS gateway: SMS stays in test mode, as below.
- Email: email goes out through Kila’s own mail service, from Kila’s address, not from the address saved here. Scheduled reports are not emailed yet: see Schedule a report.
Set up M-Pesa chooses Manual codes, Prompts through Kila or Your own Daraja app: see Choose how you take money.
Not available yet
Until Kila’s M-Pesa connection is live, Kila sends no prompt. With Prompts through Kila or Your own Daraja app saved, the M-Pesa card says Prompts not connected, and Prompts to the customer’s phone is Not ready: “M-Pesa prompts are not connected to Safaricom yet: Kila’s M-Pesa simulator runs only on the demo site. Ask the customer to pay to the till or paybill, then enter the M-Pesa code.” Choosing either level in the set-up says Prompts are not connected to Safaricom yet: “Kila’s M-Pesa connection is not live yet, so prompts are not sent and payment notifications cannot be turned on. Your settings are kept.” Manual codes work either way. See Take M-Pesa.
The eTIMS card shows what is missing, such as KRA PIN missing and Device missing, and for the last 30 days how many invoices the eTIMS test service confirmed, how many are waiting and how many are delayed. When you connect it, Mode is Test mode (nothing is sent to KRA) or Live with KRA (not connected yet).
Not available yet
eTIMS runs in test mode. Kila says: “Kila is not connected to KRA yet. Receipts carry test numbers and say “eTIMS test mode - not a valid fiscal receipt”.” Live mode “waits for Kila’s KRA connection; until then invoices are kept as not sent.”
Not available yet
In Kila’s words, under Settings, Notifications: “SMS and WhatsApp are in test mode until a provider is connected: Kila records each one, nothing reaches the phone yet.”
API keys and webhooks
Link to this section: API keys and webhooksAn API key lets your own system, such as a website, read your products, stock, customers and sales, or add customers, as far as the key’s scopes allow: “Each key belongs to this business and carries only the scopes you choose.” Webhooks work the other way: “Kila posts signed JSON to these URLs when events happen.” See Create an API key.
The API comes with the Growth and Enterprise plans. On another plan the tabs say API and webhooks are not on your plan: “Connect your website, ERP or reporting tools with the API module. It is listed under Plan and modules; ask Kila to add it.”
Needs a manager
Integrations and API keys are for owners and administrators.
- Set up eTIMS and KRA item codes: your products’ KRA item codes, then your KRA PIN and eTIMS device.
- Create an API key: a key for your website, and webhooks.
- Your plan and billing: which plans include the API.
- Settings: the Notifications tab and the Compliance checklist for eTIMS.