Developer Center

Defining Apps

Last Updated: Aug 01, 2017 03:09PM CEST

Overview

An app is defined in a simple XML file such as the example below. The definition contains both general information about the application as well as specific endpoints and extension point which will define how the app is shown in Mambu
//sample app with one extension point
<app>
 <id>gj8dl19d0</id>
 <name>Mambu XBRL Export Tool</name>
 <provider>MIX Market and Mambu</provider>
 <description>A tool to export your data in an xbrl report ready to use for mix market</description>
 <permission>VIEW_ACCOUNTING_REPORTS</permission>
 <permission>VIEW_INTELLIGENCE</permission>
 <uninstallUrl>https://mixmarketapp.appspot.com/mambuxbrl/uninstall</uninstallUrl>
 <installUrl>httsp://mixmarketapp.appspot.com/mambuxbrl/install</installUrl>
 <extensionpoint>
 <location>REPORTING_VIEW</location>
 <label>XBRL Export</label>
 <url>https://mambuxbrl.appspot.com/</url>
 </extensionpoint>
</app>

XML Definitions

General Definitions

id The unique id of the application. This is used as the App ID for authenticating API calls. Required
name The display name of the application. Required
provider The name of the application provider. Required
description Description of the application to the end user
installUrl Url to be called when an application is installed by a tenant. It needs to be over https.
uninstallUrl Url to be called when an application is uninstalled by a tenant. It needs to be over https.
permisssion Any number of permissions which the app wishes to use via APIs. Could be any of:
  • Loan
    • VIEW_LOAN_ACCOUNT_DETAILS
    • CREATE_LOAN_ACCOUNT
    • EDIT_LOAN_ACCOUNT
    • APPROVE_LOANS
    • DIBURSE_LOANS
    • APPLY_LOAN_FEES
    • ENTER_REPAYMENT
    • EDIT_REPAYMENT_SCHEDULE
    • APPLY_LOAN_FEES
    • APPLY_LOAN_ADJUSTMENTS
    • BACKDATE_LOAN_TRANSACTIONS
    • APPLY_ACCRUED_LOAN_INTEREST
    • POST_TRANSACTIONS_ON_LOCKED_LOAN_ACCOUNTS
    • EDIT_PENALTY_RATE
    • VIEW_SECURITIES_DETAILS
    • CREATE_SECURITIES
    • EDIT_SECURITIES
    • VIEW_INVESTOR_FUNDS_DETAILS
    • CREATE_INVESTOR_FUNDS
    • EDIT_INVESTOR_FUNDS
    • DELETE_INVESTOR_FUNDS
    • REQUEST_LOAN_APPROVAL
    • EDIT_LOAN_TRANCHES
    • REJECT_LOANS
    • WRITE_OFF_LOAN_ACCOUNTS
    • CLOSE_LOAN_ACCOUNTS
    • LOCK_LOAN_ACCOUNTS
    • WITHDRAW_LOAN_ACCOUNTS
    • DELETE_LOAN_ACCOUNT
    • SET_DISBURSEMENT_CONDITIONS
  • Savings
    • VIEW_SAVINGS_ACCOUNT_DETAILS
    • CREATE_SAVINGS_ACCOUNT
    • EDIT_SAVINGS_ACCOUNT
    • APPROVE_SAVINGS
    • MAKE_DEPOSIT
    • MAKE_WITHDRAWAL
    • BACKDATE_SAVINGS_TRANSACTIONS
    • APPLY_SAVINGS_ADJUSTMENTS
    • MAKE_TRANSFER
    • MAKE_INTER_CLIENTS_TRANSFERS
    • CLOSE_SAVINGS_ACCOUNTS
    • APPLY_SAVINGS_FEES
    • DELETE_SAVINGS_ACCOUNT
    • POST_TRANSACTIONS_ON_DORMANT_ACCOUNTS
  • Securities
    • VIEW_SECURITIES_DETAILS
    • CREATE_SECURITIES
    • EDIT_SECURITIES
    • DELETE_SECURITIES
  • Lines of credit
    • VIEW_LINE_OF_CREDIT_DETAILS
    • ADD_ACCOUNTS_TO_LINE_OF_CREDIT
    • REMOVE_ACCOUNTS_FROM_LINE_OF_CREDIT
  • Products
    • VIEW_LOAN_PRODUCT_DETAILS
    • VIEW_SAVINGS_PRODUCT_DETAILS
  • Clients/Groups
    • VIEW_CLIENT_DETAILS
    • CREATE_CLIENT
    • EDIT_CLIENT
    • VIEW_GROUP_DETAILS
    • CREATE_GROUP
    • EDIT_GROUP
    • CHANGE_CLIENT_TYPE
    • CHANGE_GROUP_TYPE
    • APPROVE_CLIENT
    • REJECT_CLIENT
    • EXIT_CLIENT
    • BLACKLIST_CLIENT
    • UNDO_CLIENT_STATE_CHANGED
  • Accounting
    • VIEW_ACCOUNTING_REPORTS
    • LOG_JOURNAL_ENTRIES
    • AUDIT_TRANSACTIONS
  • Documents
    • VIEW_DOCUMENTS
    • CREATE_DOCUMENTS
    • EDIT_DOCUMENTS
    • DELETE_DOCUMENTS
  • Tasks
    • VIEW_TASK
    • CREATE_TASK
    • EDIT_TASK
    • DELETE_TASK
  • Other
    • VIEW_INTELLIGENCE
    • CREATE_INDEX_RATE
    • VIEW_COMMENTS
    • CREATE_COMMENTS
    • EDIT_COMMENTS
    • VIEW_COMMUNICATION_HISTORY
    • DOWNLOAD_BACKUPS



Extension Points

Extension points are simply the locations where in the application your views are loaded. An extension point may be just the extensions or reporting menu, or it could be contextual such as showing the view for a branch, a client or a user.

Parameters

location The actual extension location - where this view is shown in the application. Required
  • EXTENSION_MENU - as a drop-down menu item under the 'App' view for a full-screen app experience
  • CLIENT_VIEW- shown as a tab under a client's profile
  • REPORTING_VIEW - shown as a tab under the reporting view
  • GROUP_VIEW - shown as a tab under a group's profile
  • LOAN_PRODUCT_VIEW - shown as a tab under a loan product
  • DEPOSIT_PRODUCT_VIEW - shown as a tab under a deposit product
  • LOAN_ACCOUNT_VIEW - shown as a sub-tab for a client's loan account
  • LINE_OF_CREDIT_VIEW - shown as a sub-tab for client's credit arrangement
  • CENTRE_VIEW - shown as a tab under a centre
  • BRANCH_VIEW - shown as a tab under a branch
  • USER_VIEW - shown as a tab under a user's profile
url Url to callback when the view is rendered. It needs to be over https. Required
label The interface tab or menu label to show for this extension point. Required

Callback Parameters

An extension point can be called back by Mambu with the following parameters to give the App some context on which tenant (in case of a multi-tenant app) and user opened the app and under which view (e.g. a certain client or loan account). These parameters are passed to the App base 64 encoded via the signed_request parameter.

Parameters

TENANT_ID The unique id (Mambu subdomain) of the tenant making the call.
USER_KEY The encoded key of the Mambu user that is making the request to the App. The Mambu User API can be used to e.g. retrieve the user's name in your App.
OBJECT_ID The ID (or encoded key) of the object the user is looking at. This ID can be used in Mambu API calls to retrieve more data on the object. For example this may be the ID of the client or branch or account depending on the location of the App. This value is not specified for general extensions (such as under the extensions menu).
ALGORITHM The encoding algorithm.
DOMAIN Environment URL in the request, the Apps can identify calls that come from the Production or Sandbox environment
support@mambu.com
https://cdn.desk.com/
false
desk
Loading
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
about
false
Invalid characters found
/customer/en/portal/articles/autocomplete