UNPKG

fineract_sdk

Version:

Wrapper around fineract api.

580 lines (579 loc) 43.6 kB
/** * Apache Fineract * Apache Fineract is a secure, multi-tenanted microfinance platform The goal of the Apache Fineract API is to empower developers to build apps on top of the Apache Fineract Platform<br>The [reference app](https://cui.fineract.dev) (username: mifos, password: password) works on the same demo tenant as the interactive links in this documentation - The API is organized around [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) - Find out more about Apache Fineract [here](/fineract-provider/api-docs/apiLive.htm#top) - You can [Try The API From Your Browser](/fineract-provider/api-docs/apiLive.htm#interact) - The Generic Options are available [here](/fineract-provider/api-docs/apiLive.htm#genopts) - Find out more about [Updating Dates and Numbers](/fineract-provider/api-docs/apiLive.htm#dates_and_numbers) - For the Authentication and the Basic of HTTP and HTTPS refer [here](/fineract-provider/api-docs/apiLive.htm#authentication_overview) - Check about ERROR codes [here](/fineract-provider/api-docs/apiLive.htm#errors) Please refer to the [old documentation](/fineract-provider/api-docs/apiLive.htm) for any documentation queries * * The version of the OpenAPI document: 1.5.0-66-gffae7d4-dirty * Contact: dev@fineract.apache.org * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { AxiosPromise, AxiosInstance } from 'axios'; import { Configuration } from '../configuration'; import { RequestArgs, BaseAPI } from '../base'; import { DeleteGroupsGroupIdResponse } from '../models'; import { FormDataContentDisposition } from '../models'; import { GetGroupsGroupIdAccountsResponse } from '../models'; import { GetGroupsGroupIdResponse } from '../models'; import { GetGroupsResponse } from '../models'; import { GetGroupsTemplateResponse } from '../models'; import { PostGroupsGroupIdCommandUnassignStaffRequest } from '../models'; import { PostGroupsGroupIdCommandUnassignStaffResponse } from '../models'; import { PostGroupsGroupIdRequest } from '../models'; import { PostGroupsGroupIdResponse } from '../models'; import { PostGroupsRequest } from '../models'; import { PostGroupsResponse } from '../models'; import { PutGroupsGroupIdRequest } from '../models'; import { PutGroupsGroupIdResponse } from '../models'; /** * GroupsApi - axios parameter creator * @export */ export declare const GroupsApiAxiosParamCreator: (configuration?: Configuration) => { /** * Activate a Group: Groups can be created in a Pending state. This API exists to enable group activation. If the group happens to be already active this API will result in an error. Mandatory Fields: activationDate Associate Clients: This API allows to associate existing clients to a group. The clients are listed from the office to which the group is associated. If client(s) is already associated with group then API will result in an error. Mandatory Fields: clientMembers Disassociate Clients: This API allows to disassociate clients from a group. Disassociating a client with active joint liability group loans results in an error. Mandatory Fields: clientMembers Transfer Clients across groups: This API allows to transfer clients from one group to another Mandatory Fields: destinationGroupId and clients Optional Fields: inheritDestinationGroupLoanOfficer (defaults to true) and transferActiveLoans (defaults to true) Generate Collection Sheet: This API retrieves repayment details of all jlg loans of all members of a group on a specified meeting date. Mandatory Fields: calendarId and transactionDate Save Collection Sheet: This api allows the loan officer to perform bulk repayments of JLG loans for a group on its meeting date. Mandatory Fields: calendarId, transactionDate, actualDisbursementDate Optional Fields: clientsAttendance, bulkRepaymentTransaction, bulkDisbursementTransactions Unassign a Staff: Allows you to unassign the Staff. Mandatory Fields: staffId Assign a Staff: Allows you to assign Staff to an existing Group. The selected Staff should be belong to the same office (or an office higher up in the hierarchy) as this groupMandatory Fields: staffId Optional Fields: inheritStaffForClientAccounts (Optional: Boolean if true all members of the group (i.e all clients with active loans and savings ) will inherit the staffId) Close a Group: This API exists to close a group. Groups can be closed if they don\'t have any non-closed clients/loans/savingsAccounts. If the group has any active clients/loans/savingsAccount, this API will result in an error.Assign a Role: Allows you to assign a Role to an existing member of a group. We can define the different roles applicable to group members by adding code values to the pre-defined system code GROUPROLE. Example:Group leader etc. Mandatory Fields: clientId, role Unassign a Role: Allows you to unassign Roles associated tp Group members. Update a Role: Allows you to update the member Role. Mandatory Fields: role Showing request/response for Transfer Clients across groups * @summary Activate a Group | Associate Clients | Disassociate Clients | Transfer Clients across groups | Generate Collection Sheet | Save Collection Sheet | Unassign a Staff | Assign a Staff | Close a Group | Unassign a Role | Update a Role * @param {number} groupId groupId * @param {PostGroupsGroupIdRequest} postGroupsGroupIdRequest * @param {string} [command] command * @param {number} [roleId] roleId * @param {*} [options] Override http request option. * @throws {RequiredError} */ activateOrGenerateCollectionSheet: (groupId: number, postGroupsGroupIdRequest: PostGroupsGroupIdRequest, command?: string, roleId?: number, options?: any) => Promise<RequestArgs>; /** * Creates a Group Mandatory Fields: name, officeId, active, activationDate (if active=true) Optional Fields: externalId, staffId, clientMembers * @summary Create a Group * @param {PostGroupsRequest} postGroupsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ create8: (postGroupsRequest: PostGroupsRequest, options?: any) => Promise<RequestArgs>; /** * A group can be deleted if it is in pending state and has no associations - clients, loans or savings * @summary Delete a Group * @param {number} groupId groupId * @param {*} [options] Override http request option. * @throws {RequiredError} */ delete11: (groupId: number, options?: any) => Promise<RequestArgs>; /** * * @param {number} [officeId] * @param {number} [staffId] * @param {string} [dateFormat] * @param {*} [options] Override http request option. * @throws {RequiredError} */ getGroupsTemplate: (officeId?: number, staffId?: number, dateFormat?: string, options?: any) => Promise<RequestArgs>; /** * * @param {FormDataContentDisposition} [file] * @param {string} [locale] * @param {string} [dateFormat] * @param {*} [options] Override http request option. * @throws {RequiredError} */ postGroupTemplate: (file?: any, locale?: string, dateFormat?: string, options?: any) => Promise<RequestArgs>; /** * Retrieves details of all Loan and Savings accounts associated with this group. Example Requests: groups/1/accounts groups/1/accounts?fields=loanAccounts,savingsAccounts,memberLoanAccounts, memberSavingsAccounts * @summary Retrieve Group accounts overview * @param {number} groupId groupId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAccounts: (groupId: number, options?: any) => Promise<RequestArgs>; /** * The default implementation of listing Groups returns 200 entries with support for pagination and sorting. Using the parameter limit with description -1 returns all entries. Example Requests: groups groups?fields=name,officeName,joinedDate groups?offset=10&limit=50 groups?orderBy=name&sortOrder=DESC * @summary List Groups * @param {number} [officeId] officeId * @param {number} [staffId] staffId * @param {string} [externalId] externalId * @param {string} [name] name * @param {string} [underHierarchy] underHierarchy * @param {boolean} [paged] paged * @param {number} [offset] offset * @param {number} [limit] limit * @param {string} [orderBy] orderBy * @param {string} [sortOrder] sortOrder * @param {boolean} [orphansOnly] orphansOnly * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAll24: (officeId?: number, staffId?: number, externalId?: string, name?: string, underHierarchy?: string, paged?: boolean, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, orphansOnly?: boolean, options?: any) => Promise<RequestArgs>; /** * * @param {number} groupId * @param {string} [parentGSIMAccountNo] * @param {number} [parentGSIMId] * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveGsimAccounts: (groupId: number, parentGSIMAccountNo?: string, parentGSIMId?: number, options?: any) => Promise<RequestArgs>; /** * Retrieve group information. Example Requests: groups/1 groups/1?associations=clientMembers * @summary Retrieve a Group * @param {number} groupId groupId * @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly * @param {number} [roleId] roleId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveOne14: (groupId: number, staffInSelectedOfficeOnly?: boolean, roleId?: number, options?: any) => Promise<RequestArgs>; /** * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed Value Lists Example Requests: groups/template groups/template?officeId=2 groups/template?centerId=1 groups/template?centerId=1&staffInSelectedOfficeOnly=true * @summary Retrieve Group Template * @param {number} [officeId] officeId * @param {boolean} [center] center * @param {number} [centerId] centerId * @param {string} [command] command * @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveTemplate7: (officeId?: number, center?: boolean, centerId?: number, command?: string, staffInSelectedOfficeOnly?: boolean, options?: any) => Promise<RequestArgs>; /** * * @param {number} groupId * @param {string} [parentLoanAccountNo] * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveglimAccounts: (groupId: number, parentLoanAccountNo?: string, options?: any) => Promise<RequestArgs>; /** * Allows you to unassign the Staff. Mandatory Fields: staffId * @summary Unassign a Staff * @param {number} groupId groupId * @param {PostGroupsGroupIdCommandUnassignStaffRequest} postGroupsGroupIdCommandUnassignStaffRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ unassignLoanOfficer: (groupId: number, postGroupsGroupIdCommandUnassignStaffRequest: PostGroupsGroupIdCommandUnassignStaffRequest, options?: any) => Promise<RequestArgs>; /** * Updates a Group * @summary Update a Group * @param {number} groupId groupId * @param {PutGroupsGroupIdRequest} putGroupsGroupIdRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ update12: (groupId: number, putGroupsGroupIdRequest: PutGroupsGroupIdRequest, options?: any) => Promise<RequestArgs>; }; /** * GroupsApi - functional programming interface * @export */ export declare const GroupsApiFp: (configuration?: Configuration) => { /** * Activate a Group: Groups can be created in a Pending state. This API exists to enable group activation. If the group happens to be already active this API will result in an error. Mandatory Fields: activationDate Associate Clients: This API allows to associate existing clients to a group. The clients are listed from the office to which the group is associated. If client(s) is already associated with group then API will result in an error. Mandatory Fields: clientMembers Disassociate Clients: This API allows to disassociate clients from a group. Disassociating a client with active joint liability group loans results in an error. Mandatory Fields: clientMembers Transfer Clients across groups: This API allows to transfer clients from one group to another Mandatory Fields: destinationGroupId and clients Optional Fields: inheritDestinationGroupLoanOfficer (defaults to true) and transferActiveLoans (defaults to true) Generate Collection Sheet: This API retrieves repayment details of all jlg loans of all members of a group on a specified meeting date. Mandatory Fields: calendarId and transactionDate Save Collection Sheet: This api allows the loan officer to perform bulk repayments of JLG loans for a group on its meeting date. Mandatory Fields: calendarId, transactionDate, actualDisbursementDate Optional Fields: clientsAttendance, bulkRepaymentTransaction, bulkDisbursementTransactions Unassign a Staff: Allows you to unassign the Staff. Mandatory Fields: staffId Assign a Staff: Allows you to assign Staff to an existing Group. The selected Staff should be belong to the same office (or an office higher up in the hierarchy) as this groupMandatory Fields: staffId Optional Fields: inheritStaffForClientAccounts (Optional: Boolean if true all members of the group (i.e all clients with active loans and savings ) will inherit the staffId) Close a Group: This API exists to close a group. Groups can be closed if they don\'t have any non-closed clients/loans/savingsAccounts. If the group has any active clients/loans/savingsAccount, this API will result in an error.Assign a Role: Allows you to assign a Role to an existing member of a group. We can define the different roles applicable to group members by adding code values to the pre-defined system code GROUPROLE. Example:Group leader etc. Mandatory Fields: clientId, role Unassign a Role: Allows you to unassign Roles associated tp Group members. Update a Role: Allows you to update the member Role. Mandatory Fields: role Showing request/response for Transfer Clients across groups * @summary Activate a Group | Associate Clients | Disassociate Clients | Transfer Clients across groups | Generate Collection Sheet | Save Collection Sheet | Unassign a Staff | Assign a Staff | Close a Group | Unassign a Role | Update a Role * @param {number} groupId groupId * @param {PostGroupsGroupIdRequest} postGroupsGroupIdRequest * @param {string} [command] command * @param {number} [roleId] roleId * @param {*} [options] Override http request option. * @throws {RequiredError} */ activateOrGenerateCollectionSheet(groupId: number, postGroupsGroupIdRequest: PostGroupsGroupIdRequest, command?: string, roleId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostGroupsGroupIdResponse>>; /** * Creates a Group Mandatory Fields: name, officeId, active, activationDate (if active=true) Optional Fields: externalId, staffId, clientMembers * @summary Create a Group * @param {PostGroupsRequest} postGroupsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ create8(postGroupsRequest: PostGroupsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostGroupsResponse>>; /** * A group can be deleted if it is in pending state and has no associations - clients, loans or savings * @summary Delete a Group * @param {number} groupId groupId * @param {*} [options] Override http request option. * @throws {RequiredError} */ delete11(groupId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteGroupsGroupIdResponse>>; /** * * @param {number} [officeId] * @param {number} [staffId] * @param {string} [dateFormat] * @param {*} [options] Override http request option. * @throws {RequiredError} */ getGroupsTemplate(officeId?: number, staffId?: number, dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>; /** * * @param {FormDataContentDisposition} [file] * @param {string} [locale] * @param {string} [dateFormat] * @param {*} [options] Override http request option. * @throws {RequiredError} */ postGroupTemplate(file?: any, locale?: string, dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>; /** * Retrieves details of all Loan and Savings accounts associated with this group. Example Requests: groups/1/accounts groups/1/accounts?fields=loanAccounts,savingsAccounts,memberLoanAccounts, memberSavingsAccounts * @summary Retrieve Group accounts overview * @param {number} groupId groupId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAccounts(groupId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetGroupsGroupIdAccountsResponse>>; /** * The default implementation of listing Groups returns 200 entries with support for pagination and sorting. Using the parameter limit with description -1 returns all entries. Example Requests: groups groups?fields=name,officeName,joinedDate groups?offset=10&limit=50 groups?orderBy=name&sortOrder=DESC * @summary List Groups * @param {number} [officeId] officeId * @param {number} [staffId] staffId * @param {string} [externalId] externalId * @param {string} [name] name * @param {string} [underHierarchy] underHierarchy * @param {boolean} [paged] paged * @param {number} [offset] offset * @param {number} [limit] limit * @param {string} [orderBy] orderBy * @param {string} [sortOrder] sortOrder * @param {boolean} [orphansOnly] orphansOnly * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAll24(officeId?: number, staffId?: number, externalId?: string, name?: string, underHierarchy?: string, paged?: boolean, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, orphansOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetGroupsResponse>>; /** * * @param {number} groupId * @param {string} [parentGSIMAccountNo] * @param {number} [parentGSIMId] * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveGsimAccounts(groupId: number, parentGSIMAccountNo?: string, parentGSIMId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>; /** * Retrieve group information. Example Requests: groups/1 groups/1?associations=clientMembers * @summary Retrieve a Group * @param {number} groupId groupId * @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly * @param {number} [roleId] roleId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveOne14(groupId: number, staffInSelectedOfficeOnly?: boolean, roleId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetGroupsGroupIdResponse>>; /** * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed Value Lists Example Requests: groups/template groups/template?officeId=2 groups/template?centerId=1 groups/template?centerId=1&staffInSelectedOfficeOnly=true * @summary Retrieve Group Template * @param {number} [officeId] officeId * @param {boolean} [center] center * @param {number} [centerId] centerId * @param {string} [command] command * @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveTemplate7(officeId?: number, center?: boolean, centerId?: number, command?: string, staffInSelectedOfficeOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetGroupsTemplateResponse>>; /** * * @param {number} groupId * @param {string} [parentLoanAccountNo] * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveglimAccounts(groupId: number, parentLoanAccountNo?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>; /** * Allows you to unassign the Staff. Mandatory Fields: staffId * @summary Unassign a Staff * @param {number} groupId groupId * @param {PostGroupsGroupIdCommandUnassignStaffRequest} postGroupsGroupIdCommandUnassignStaffRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ unassignLoanOfficer(groupId: number, postGroupsGroupIdCommandUnassignStaffRequest: PostGroupsGroupIdCommandUnassignStaffRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostGroupsGroupIdCommandUnassignStaffResponse>>; /** * Updates a Group * @summary Update a Group * @param {number} groupId groupId * @param {PutGroupsGroupIdRequest} putGroupsGroupIdRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ update12(groupId: number, putGroupsGroupIdRequest: PutGroupsGroupIdRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PutGroupsGroupIdResponse>>; }; /** * GroupsApi - factory interface * @export */ export declare const GroupsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * Activate a Group: Groups can be created in a Pending state. This API exists to enable group activation. If the group happens to be already active this API will result in an error. Mandatory Fields: activationDate Associate Clients: This API allows to associate existing clients to a group. The clients are listed from the office to which the group is associated. If client(s) is already associated with group then API will result in an error. Mandatory Fields: clientMembers Disassociate Clients: This API allows to disassociate clients from a group. Disassociating a client with active joint liability group loans results in an error. Mandatory Fields: clientMembers Transfer Clients across groups: This API allows to transfer clients from one group to another Mandatory Fields: destinationGroupId and clients Optional Fields: inheritDestinationGroupLoanOfficer (defaults to true) and transferActiveLoans (defaults to true) Generate Collection Sheet: This API retrieves repayment details of all jlg loans of all members of a group on a specified meeting date. Mandatory Fields: calendarId and transactionDate Save Collection Sheet: This api allows the loan officer to perform bulk repayments of JLG loans for a group on its meeting date. Mandatory Fields: calendarId, transactionDate, actualDisbursementDate Optional Fields: clientsAttendance, bulkRepaymentTransaction, bulkDisbursementTransactions Unassign a Staff: Allows you to unassign the Staff. Mandatory Fields: staffId Assign a Staff: Allows you to assign Staff to an existing Group. The selected Staff should be belong to the same office (or an office higher up in the hierarchy) as this groupMandatory Fields: staffId Optional Fields: inheritStaffForClientAccounts (Optional: Boolean if true all members of the group (i.e all clients with active loans and savings ) will inherit the staffId) Close a Group: This API exists to close a group. Groups can be closed if they don\'t have any non-closed clients/loans/savingsAccounts. If the group has any active clients/loans/savingsAccount, this API will result in an error.Assign a Role: Allows you to assign a Role to an existing member of a group. We can define the different roles applicable to group members by adding code values to the pre-defined system code GROUPROLE. Example:Group leader etc. Mandatory Fields: clientId, role Unassign a Role: Allows you to unassign Roles associated tp Group members. Update a Role: Allows you to update the member Role. Mandatory Fields: role Showing request/response for Transfer Clients across groups * @summary Activate a Group | Associate Clients | Disassociate Clients | Transfer Clients across groups | Generate Collection Sheet | Save Collection Sheet | Unassign a Staff | Assign a Staff | Close a Group | Unassign a Role | Update a Role * @param {number} groupId groupId * @param {PostGroupsGroupIdRequest} postGroupsGroupIdRequest * @param {string} [command] command * @param {number} [roleId] roleId * @param {*} [options] Override http request option. * @throws {RequiredError} */ activateOrGenerateCollectionSheet(groupId: number, postGroupsGroupIdRequest: PostGroupsGroupIdRequest, command?: string, roleId?: number, options?: any): AxiosPromise<PostGroupsGroupIdResponse>; /** * Creates a Group Mandatory Fields: name, officeId, active, activationDate (if active=true) Optional Fields: externalId, staffId, clientMembers * @summary Create a Group * @param {PostGroupsRequest} postGroupsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ create8(postGroupsRequest: PostGroupsRequest, options?: any): AxiosPromise<PostGroupsResponse>; /** * A group can be deleted if it is in pending state and has no associations - clients, loans or savings * @summary Delete a Group * @param {number} groupId groupId * @param {*} [options] Override http request option. * @throws {RequiredError} */ delete11(groupId: number, options?: any): AxiosPromise<DeleteGroupsGroupIdResponse>; /** * * @param {number} [officeId] * @param {number} [staffId] * @param {string} [dateFormat] * @param {*} [options] Override http request option. * @throws {RequiredError} */ getGroupsTemplate(officeId?: number, staffId?: number, dateFormat?: string, options?: any): AxiosPromise<void>; /** * * @param {FormDataContentDisposition} [file] * @param {string} [locale] * @param {string} [dateFormat] * @param {*} [options] Override http request option. * @throws {RequiredError} */ postGroupTemplate(file?: any, locale?: string, dateFormat?: string, options?: any): AxiosPromise<string>; /** * Retrieves details of all Loan and Savings accounts associated with this group. Example Requests: groups/1/accounts groups/1/accounts?fields=loanAccounts,savingsAccounts,memberLoanAccounts, memberSavingsAccounts * @summary Retrieve Group accounts overview * @param {number} groupId groupId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAccounts(groupId: number, options?: any): AxiosPromise<GetGroupsGroupIdAccountsResponse>; /** * The default implementation of listing Groups returns 200 entries with support for pagination and sorting. Using the parameter limit with description -1 returns all entries. Example Requests: groups groups?fields=name,officeName,joinedDate groups?offset=10&limit=50 groups?orderBy=name&sortOrder=DESC * @summary List Groups * @param {number} [officeId] officeId * @param {number} [staffId] staffId * @param {string} [externalId] externalId * @param {string} [name] name * @param {string} [underHierarchy] underHierarchy * @param {boolean} [paged] paged * @param {number} [offset] offset * @param {number} [limit] limit * @param {string} [orderBy] orderBy * @param {string} [sortOrder] sortOrder * @param {boolean} [orphansOnly] orphansOnly * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAll24(officeId?: number, staffId?: number, externalId?: string, name?: string, underHierarchy?: string, paged?: boolean, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, orphansOnly?: boolean, options?: any): AxiosPromise<GetGroupsResponse>; /** * * @param {number} groupId * @param {string} [parentGSIMAccountNo] * @param {number} [parentGSIMId] * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveGsimAccounts(groupId: number, parentGSIMAccountNo?: string, parentGSIMId?: number, options?: any): AxiosPromise<string>; /** * Retrieve group information. Example Requests: groups/1 groups/1?associations=clientMembers * @summary Retrieve a Group * @param {number} groupId groupId * @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly * @param {number} [roleId] roleId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveOne14(groupId: number, staffInSelectedOfficeOnly?: boolean, roleId?: number, options?: any): AxiosPromise<GetGroupsGroupIdResponse>; /** * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed Value Lists Example Requests: groups/template groups/template?officeId=2 groups/template?centerId=1 groups/template?centerId=1&staffInSelectedOfficeOnly=true * @summary Retrieve Group Template * @param {number} [officeId] officeId * @param {boolean} [center] center * @param {number} [centerId] centerId * @param {string} [command] command * @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveTemplate7(officeId?: number, center?: boolean, centerId?: number, command?: string, staffInSelectedOfficeOnly?: boolean, options?: any): AxiosPromise<GetGroupsTemplateResponse>; /** * * @param {number} groupId * @param {string} [parentLoanAccountNo] * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveglimAccounts(groupId: number, parentLoanAccountNo?: string, options?: any): AxiosPromise<string>; /** * Allows you to unassign the Staff. Mandatory Fields: staffId * @summary Unassign a Staff * @param {number} groupId groupId * @param {PostGroupsGroupIdCommandUnassignStaffRequest} postGroupsGroupIdCommandUnassignStaffRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ unassignLoanOfficer(groupId: number, postGroupsGroupIdCommandUnassignStaffRequest: PostGroupsGroupIdCommandUnassignStaffRequest, options?: any): AxiosPromise<PostGroupsGroupIdCommandUnassignStaffResponse>; /** * Updates a Group * @summary Update a Group * @param {number} groupId groupId * @param {PutGroupsGroupIdRequest} putGroupsGroupIdRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ update12(groupId: number, putGroupsGroupIdRequest: PutGroupsGroupIdRequest, options?: any): AxiosPromise<PutGroupsGroupIdResponse>; }; /** * GroupsApi - object-oriented interface * @export * @class GroupsApi * @extends {BaseAPI} */ export declare class GroupsApi extends BaseAPI { /** * Activate a Group: Groups can be created in a Pending state. This API exists to enable group activation. If the group happens to be already active this API will result in an error. Mandatory Fields: activationDate Associate Clients: This API allows to associate existing clients to a group. The clients are listed from the office to which the group is associated. If client(s) is already associated with group then API will result in an error. Mandatory Fields: clientMembers Disassociate Clients: This API allows to disassociate clients from a group. Disassociating a client with active joint liability group loans results in an error. Mandatory Fields: clientMembers Transfer Clients across groups: This API allows to transfer clients from one group to another Mandatory Fields: destinationGroupId and clients Optional Fields: inheritDestinationGroupLoanOfficer (defaults to true) and transferActiveLoans (defaults to true) Generate Collection Sheet: This API retrieves repayment details of all jlg loans of all members of a group on a specified meeting date. Mandatory Fields: calendarId and transactionDate Save Collection Sheet: This api allows the loan officer to perform bulk repayments of JLG loans for a group on its meeting date. Mandatory Fields: calendarId, transactionDate, actualDisbursementDate Optional Fields: clientsAttendance, bulkRepaymentTransaction, bulkDisbursementTransactions Unassign a Staff: Allows you to unassign the Staff. Mandatory Fields: staffId Assign a Staff: Allows you to assign Staff to an existing Group. The selected Staff should be belong to the same office (or an office higher up in the hierarchy) as this groupMandatory Fields: staffId Optional Fields: inheritStaffForClientAccounts (Optional: Boolean if true all members of the group (i.e all clients with active loans and savings ) will inherit the staffId) Close a Group: This API exists to close a group. Groups can be closed if they don\'t have any non-closed clients/loans/savingsAccounts. If the group has any active clients/loans/savingsAccount, this API will result in an error.Assign a Role: Allows you to assign a Role to an existing member of a group. We can define the different roles applicable to group members by adding code values to the pre-defined system code GROUPROLE. Example:Group leader etc. Mandatory Fields: clientId, role Unassign a Role: Allows you to unassign Roles associated tp Group members. Update a Role: Allows you to update the member Role. Mandatory Fields: role Showing request/response for Transfer Clients across groups * @summary Activate a Group | Associate Clients | Disassociate Clients | Transfer Clients across groups | Generate Collection Sheet | Save Collection Sheet | Unassign a Staff | Assign a Staff | Close a Group | Unassign a Role | Update a Role * @param {number} groupId groupId * @param {PostGroupsGroupIdRequest} postGroupsGroupIdRequest * @param {string} [command] command * @param {number} [roleId] roleId * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ activateOrGenerateCollectionSheet(groupId: number, postGroupsGroupIdRequest: PostGroupsGroupIdRequest, command?: string, roleId?: number, options?: any): Promise<import("axios").AxiosResponse<PostGroupsGroupIdResponse>>; /** * Creates a Group Mandatory Fields: name, officeId, active, activationDate (if active=true) Optional Fields: externalId, staffId, clientMembers * @summary Create a Group * @param {PostGroupsRequest} postGroupsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ create8(postGroupsRequest: PostGroupsRequest, options?: any): Promise<import("axios").AxiosResponse<PostGroupsResponse>>; /** * A group can be deleted if it is in pending state and has no associations - clients, loans or savings * @summary Delete a Group * @param {number} groupId groupId * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ delete11(groupId: number, options?: any): Promise<import("axios").AxiosResponse<DeleteGroupsGroupIdResponse>>; /** * * @param {number} [officeId] * @param {number} [staffId] * @param {string} [dateFormat] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ getGroupsTemplate(officeId?: number, staffId?: number, dateFormat?: string, options?: any): Promise<import("axios").AxiosResponse<void>>; /** * * @param {FormDataContentDisposition} [file] * @param {string} [locale] * @param {string} [dateFormat] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ postGroupTemplate(file?: FormDataContentDisposition, locale?: string, dateFormat?: string, options?: any): Promise<import("axios").AxiosResponse<string>>; /** * Retrieves details of all Loan and Savings accounts associated with this group. Example Requests: groups/1/accounts groups/1/accounts?fields=loanAccounts,savingsAccounts,memberLoanAccounts, memberSavingsAccounts * @summary Retrieve Group accounts overview * @param {number} groupId groupId * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ retrieveAccounts(groupId: number, options?: any): Promise<import("axios").AxiosResponse<GetGroupsGroupIdAccountsResponse>>; /** * The default implementation of listing Groups returns 200 entries with support for pagination and sorting. Using the parameter limit with description -1 returns all entries. Example Requests: groups groups?fields=name,officeName,joinedDate groups?offset=10&limit=50 groups?orderBy=name&sortOrder=DESC * @summary List Groups * @param {number} [officeId] officeId * @param {number} [staffId] staffId * @param {string} [externalId] externalId * @param {string} [name] name * @param {string} [underHierarchy] underHierarchy * @param {boolean} [paged] paged * @param {number} [offset] offset * @param {number} [limit] limit * @param {string} [orderBy] orderBy * @param {string} [sortOrder] sortOrder * @param {boolean} [orphansOnly] orphansOnly * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ retrieveAll24(officeId?: number, staffId?: number, externalId?: string, name?: string, underHierarchy?: string, paged?: boolean, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, orphansOnly?: boolean, options?: any): Promise<import("axios").AxiosResponse<GetGroupsResponse>>; /** * * @param {number} groupId * @param {string} [parentGSIMAccountNo] * @param {number} [parentGSIMId] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ retrieveGsimAccounts(groupId: number, parentGSIMAccountNo?: string, parentGSIMId?: number, options?: any): Promise<import("axios").AxiosResponse<string>>; /** * Retrieve group information. Example Requests: groups/1 groups/1?associations=clientMembers * @summary Retrieve a Group * @param {number} groupId groupId * @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly * @param {number} [roleId] roleId * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ retrieveOne14(groupId: number, staffInSelectedOfficeOnly?: boolean, roleId?: number, options?: any): Promise<import("axios").AxiosResponse<GetGroupsGroupIdResponse>>; /** * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed Value Lists Example Requests: groups/template groups/template?officeId=2 groups/template?centerId=1 groups/template?centerId=1&staffInSelectedOfficeOnly=true * @summary Retrieve Group Template * @param {number} [officeId] officeId * @param {boolean} [center] center * @param {number} [centerId] centerId * @param {string} [command] command * @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ retrieveTemplate7(officeId?: number, center?: boolean, centerId?: number, command?: string, staffInSelectedOfficeOnly?: boolean, options?: any): Promise<import("axios").AxiosResponse<GetGroupsTemplateResponse>>; /** * * @param {number} groupId * @param {string} [parentLoanAccountNo] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ retrieveglimAccounts(groupId: number, parentLoanAccountNo?: string, options?: any): Promise<import("axios").AxiosResponse<string>>; /** * Allows you to unassign the Staff. Mandatory Fields: staffId * @summary Unassign a Staff * @param {number} groupId groupId * @param {PostGroupsGroupIdCommandUnassignStaffRequest} postGroupsGroupIdCommandUnassignStaffRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ unassignLoanOfficer(groupId: number, postGroupsGroupIdCommandUnassignStaffRequest: PostGroupsGroupIdCommandUnassignStaffRequest, options?: any): Promise<import("axios").AxiosResponse<PostGroupsGroupIdCommandUnassignStaffResponse>>; /** * Updates a Group * @summary Update a Group * @param {number} groupId groupId * @param {PutGroupsGroupIdRequest} putGroupsGroupIdRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GroupsApi */ update12(groupId: number, putGroupsGroupIdRequest: PutGroupsGroupIdRequest, options?: any): Promise<import("axios").AxiosResponse<PutGroupsGroupIdResponse>>; }