Interface GroupsApi


public interface GroupsApi
  • Method Details

    • activateOrGenerateCollectionSheet

      @Headers("Content-Type:application/json") @POST("v1/groups/{groupId}") retrofit2.Call<PostGroupsGroupIdResponse> activateOrGenerateCollectionSheet(@Path("groupId") Long groupId, @Body PostGroupsGroupIdRequest postGroupsGroupIdRequest, @Query("command") String command, @Query("roleId") Long roleId)
      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 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
      Parameters:
      groupId - groupId (required)
      postGroupsGroupIdRequest - (required)
      command - command (optional)
      roleId - roleId (optional)
      Returns:
      Call<PostGroupsGroupIdResponse>
    • create8

      @Headers("Content-Type:application/json") @POST("v1/groups") retrofit2.Call<PostGroupsResponse> create8(@Body PostGroupsRequest postGroupsRequest)
      Create a Group Creates a Group Mandatory Fields: name, officeId, active, activationDate (if active=true) Optional Fields: externalId, staffId, clientMembers
      Parameters:
      postGroupsRequest - (required)
      Returns:
      Call<PostGroupsResponse>
    • delete11

      @DELETE("v1/groups/{groupId}") retrofit2.Call<DeleteGroupsGroupIdResponse> delete11(@Path("groupId") Long groupId)
      Delete a Group A group can be deleted if it is in pending state and has no associations - clients, loans or savings
      Parameters:
      groupId - groupId (required)
      Returns:
      Call<DeleteGroupsGroupIdResponse>
    • getGroupsTemplate

      @GET("v1/groups/downloadtemplate") retrofit2.Call<Void> getGroupsTemplate(@Query("officeId") Long officeId, @Query("staffId") Long staffId, @Query("dateFormat") String dateFormat)
      Parameters:
      officeId - (optional)
      staffId - (optional)
      dateFormat - (optional)
      Returns:
      Call<Void>
    • postGroupTemplate

      @Multipart @POST("v1/groups/uploadtemplate") retrofit2.Call<String> postGroupTemplate(@Part("dateFormat") String dateFormat, @Part("locale") String locale, @Part okhttp3.MultipartBody.Part uploadedInputStream)
      Parameters:
      dateFormat - (optional)
      locale - (optional)
      uploadedInputStream - (optional)
      Returns:
      Call<String>
    • retrieveAccounts

      @GET("v1/groups/{groupId}/accounts") retrofit2.Call<GetGroupsGroupIdAccountsResponse> retrieveAccounts(@Path("groupId") Long groupId)
      Retrieve Group accounts overview 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
      Parameters:
      groupId - groupId (required)
      Returns:
      Call<GetGroupsGroupIdAccountsResponse>
    • retrieveAll24

      @GET("v1/groups") retrofit2.Call<GetGroupsResponse> retrieveAll24(@Query("officeId") Long officeId, @Query("staffId") Long staffId, @Query("externalId") String externalId, @Query("name") String name, @Query("underHierarchy") String underHierarchy, @Query("paged") Boolean paged, @Query("offset") Integer offset, @Query("limit") Integer limit, @Query("orderBy") String orderBy, @Query("sortOrder") String sortOrder, @Query("orphansOnly") Boolean orphansOnly)
      List Groups 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
      Parameters:
      officeId - officeId (optional)
      staffId - staffId (optional)
      externalId - externalId (optional)
      name - name (optional)
      underHierarchy - underHierarchy (optional)
      paged - paged (optional)
      offset - offset (optional)
      limit - limit (optional)
      orderBy - orderBy (optional)
      sortOrder - sortOrder (optional)
      orphansOnly - orphansOnly (optional)
      Returns:
      Call<GetGroupsResponse>
    • retrieveGsimAccounts

      @GET("v1/groups/{groupId}/gsimaccounts") retrofit2.Call<String> retrieveGsimAccounts(@Path("groupId") Long groupId, @Query("parentGSIMAccountNo") String parentGSIMAccountNo, @Query("parentGSIMId") Long parentGSIMId)
      Parameters:
      groupId - (required)
      parentGSIMAccountNo - (optional)
      parentGSIMId - (optional)
      Returns:
      Call<String>
    • retrieveOne15

      @GET("v1/groups/{groupId}") retrofit2.Call<GetGroupsGroupIdResponse> retrieveOne15(@Path("groupId") Long groupId, @Query("staffInSelectedOfficeOnly") Boolean staffInSelectedOfficeOnly, @Query("roleId") Long roleId)
      Retrieve a Group Retrieve group information. Example Requests: groups/1 groups/1?associations=clientMembers
      Parameters:
      groupId - groupId (required)
      staffInSelectedOfficeOnly - staffInSelectedOfficeOnly (optional, default to false)
      roleId - roleId (optional)
      Returns:
      Call<GetGroupsGroupIdResponse>
    • retrieveTemplate7

      @GET("v1/groups/template") retrofit2.Call<GetGroupsTemplateResponse> retrieveTemplate7(@Query("officeId") Long officeId, @Query("center") Boolean center, @Query("centerId") Long centerId, @Query("command") String command, @Query("staffInSelectedOfficeOnly") Boolean staffInSelectedOfficeOnly)
      Retrieve Group Template 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
      Parameters:
      officeId - officeId (optional)
      center - center (optional)
      centerId - centerId (optional)
      command - command (optional)
      staffInSelectedOfficeOnly - staffInSelectedOfficeOnly (optional, default to false)
      Returns:
      Call<GetGroupsTemplateResponse>
    • retrieveglimAccounts

      @GET("v1/groups/{groupId}/glimaccounts") retrofit2.Call<String> retrieveglimAccounts(@Path("groupId") Long groupId, @Query("parentLoanAccountNo") String parentLoanAccountNo)
      Parameters:
      groupId - (required)
      parentLoanAccountNo - (optional)
      Returns:
      Call<String>
    • unassignLoanOfficer

      @Headers("Content-Type:application/json") @POST("v1/groups/{groupId}/command/unassign_staff") retrofit2.Call<PostGroupsGroupIdCommandUnassignStaffResponse> unassignLoanOfficer(@Path("groupId") Long groupId, @Body PostGroupsGroupIdCommandUnassignStaffRequest postGroupsGroupIdCommandUnassignStaffRequest)
      Unassign a Staff Allows you to unassign the Staff. Mandatory Fields: staffId
      Parameters:
      groupId - groupId (required)
      postGroupsGroupIdCommandUnassignStaffRequest - (required)
      Returns:
      Call<PostGroupsGroupIdCommandUnassignStaffResponse>
    • update13

      @Headers("Content-Type:application/json") @PUT("v1/groups/{groupId}") retrofit2.Call<PutGroupsGroupIdResponse> update13(@Path("groupId") Long groupId, @Body PutGroupsGroupIdRequest putGroupsGroupIdRequest)
      Update a Group Updates a Group
      Parameters:
      groupId - groupId (required)
      putGroupsGroupIdRequest - (required)
      Returns:
      Call<PutGroupsGroupIdResponse>
    • activateOrGenerateCollectionSheet

      @Headers("Content-Type:application/json") @POST("v1/groups/{groupId}") retrofit2.Call<PostGroupsGroupIdResponse> activateOrGenerateCollectionSheet(@Path("groupId") Long groupId, @Body PostGroupsGroupIdRequest postGroupsGroupIdRequest, @Query("command") String command, @Query("roleId") Long roleId, @HeaderMap Map<String,String> headers)
      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 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
      Parameters:
      groupId - groupId (required)
      postGroupsGroupIdRequest - (required)
      command - command (optional)
      roleId - roleId (optional)
      Returns:
      Call<PostGroupsGroupIdResponse>
    • create8

      @Headers("Content-Type:application/json") @POST("v1/groups") retrofit2.Call<PostGroupsResponse> create8(@Body PostGroupsRequest postGroupsRequest, @HeaderMap Map<String,String> headers)
      Create a Group Creates a Group Mandatory Fields: name, officeId, active, activationDate (if active=true) Optional Fields: externalId, staffId, clientMembers
      Parameters:
      postGroupsRequest - (required)
      Returns:
      Call<PostGroupsResponse>
    • delete11

      @DELETE("v1/groups/{groupId}") retrofit2.Call<DeleteGroupsGroupIdResponse> delete11(@Path("groupId") Long groupId, @HeaderMap Map<String,String> headers)
      Delete a Group A group can be deleted if it is in pending state and has no associations - clients, loans or savings
      Parameters:
      groupId - groupId (required)
      Returns:
      Call<DeleteGroupsGroupIdResponse>
    • getGroupsTemplate

      @GET("v1/groups/downloadtemplate") retrofit2.Call<Void> getGroupsTemplate(@Query("officeId") Long officeId, @Query("staffId") Long staffId, @Query("dateFormat") String dateFormat, @HeaderMap Map<String,String> headers)
      Parameters:
      officeId - (optional)
      staffId - (optional)
      dateFormat - (optional)
      Returns:
      Call<Void>
    • postGroupTemplate

      @Multipart @POST("v1/groups/uploadtemplate") retrofit2.Call<String> postGroupTemplate(@Part("dateFormat") String dateFormat, @Part("locale") String locale, @Part okhttp3.MultipartBody.Part uploadedInputStream, @HeaderMap Map<String,String> headers)
      Parameters:
      dateFormat - (optional)
      locale - (optional)
      uploadedInputStream - (optional)
      Returns:
      Call<String>
    • retrieveAccounts

      @GET("v1/groups/{groupId}/accounts") retrofit2.Call<GetGroupsGroupIdAccountsResponse> retrieveAccounts(@Path("groupId") Long groupId, @HeaderMap Map<String,String> headers)
      Retrieve Group accounts overview 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
      Parameters:
      groupId - groupId (required)
      Returns:
      Call<GetGroupsGroupIdAccountsResponse>
    • retrieveAll24

      @GET("v1/groups") retrofit2.Call<GetGroupsResponse> retrieveAll24(@Query("officeId") Long officeId, @Query("staffId") Long staffId, @Query("externalId") String externalId, @Query("name") String name, @Query("underHierarchy") String underHierarchy, @Query("paged") Boolean paged, @Query("offset") Integer offset, @Query("limit") Integer limit, @Query("orderBy") String orderBy, @Query("sortOrder") String sortOrder, @Query("orphansOnly") Boolean orphansOnly, @HeaderMap Map<String,String> headers)
      List Groups 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
      Parameters:
      officeId - officeId (optional)
      staffId - staffId (optional)
      externalId - externalId (optional)
      name - name (optional)
      underHierarchy - underHierarchy (optional)
      paged - paged (optional)
      offset - offset (optional)
      limit - limit (optional)
      orderBy - orderBy (optional)
      sortOrder - sortOrder (optional)
      orphansOnly - orphansOnly (optional)
      Returns:
      Call<GetGroupsResponse>
    • retrieveGsimAccounts

      @GET("v1/groups/{groupId}/gsimaccounts") retrofit2.Call<String> retrieveGsimAccounts(@Path("groupId") Long groupId, @Query("parentGSIMAccountNo") String parentGSIMAccountNo, @Query("parentGSIMId") Long parentGSIMId, @HeaderMap Map<String,String> headers)
      Parameters:
      groupId - (required)
      parentGSIMAccountNo - (optional)
      parentGSIMId - (optional)
      Returns:
      Call<String>
    • retrieveOne15

      @GET("v1/groups/{groupId}") retrofit2.Call<GetGroupsGroupIdResponse> retrieveOne15(@Path("groupId") Long groupId, @Query("staffInSelectedOfficeOnly") Boolean staffInSelectedOfficeOnly, @Query("roleId") Long roleId, @HeaderMap Map<String,String> headers)
      Retrieve a Group Retrieve group information. Example Requests: groups/1 groups/1?associations=clientMembers
      Parameters:
      groupId - groupId (required)
      staffInSelectedOfficeOnly - staffInSelectedOfficeOnly (optional, default to false)
      roleId - roleId (optional)
      Returns:
      Call<GetGroupsGroupIdResponse>
    • retrieveTemplate7

      @GET("v1/groups/template") retrofit2.Call<GetGroupsTemplateResponse> retrieveTemplate7(@Query("officeId") Long officeId, @Query("center") Boolean center, @Query("centerId") Long centerId, @Query("command") String command, @Query("staffInSelectedOfficeOnly") Boolean staffInSelectedOfficeOnly, @HeaderMap Map<String,String> headers)
      Retrieve Group Template 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
      Parameters:
      officeId - officeId (optional)
      center - center (optional)
      centerId - centerId (optional)
      command - command (optional)
      staffInSelectedOfficeOnly - staffInSelectedOfficeOnly (optional, default to false)
      Returns:
      Call<GetGroupsTemplateResponse>
    • retrieveglimAccounts

      @GET("v1/groups/{groupId}/glimaccounts") retrofit2.Call<String> retrieveglimAccounts(@Path("groupId") Long groupId, @Query("parentLoanAccountNo") String parentLoanAccountNo, @HeaderMap Map<String,String> headers)
      Parameters:
      groupId - (required)
      parentLoanAccountNo - (optional)
      Returns:
      Call<String>
    • unassignLoanOfficer

      @Headers("Content-Type:application/json") @POST("v1/groups/{groupId}/command/unassign_staff") retrofit2.Call<PostGroupsGroupIdCommandUnassignStaffResponse> unassignLoanOfficer(@Path("groupId") Long groupId, @Body PostGroupsGroupIdCommandUnassignStaffRequest postGroupsGroupIdCommandUnassignStaffRequest, @HeaderMap Map<String,String> headers)
      Unassign a Staff Allows you to unassign the Staff. Mandatory Fields: staffId
      Parameters:
      groupId - groupId (required)
      postGroupsGroupIdCommandUnassignStaffRequest - (required)
      Returns:
      Call<PostGroupsGroupIdCommandUnassignStaffResponse>
    • update13

      @Headers("Content-Type:application/json") @PUT("v1/groups/{groupId}") retrofit2.Call<PutGroupsGroupIdResponse> update13(@Path("groupId") Long groupId, @Body PutGroupsGroupIdRequest putGroupsGroupIdRequest, @HeaderMap Map<String,String> headers)
      Update a Group Updates a Group
      Parameters:
      groupId - groupId (required)
      putGroupsGroupIdRequest - (required)
      Returns:
      Call<PutGroupsGroupIdResponse>