Skip to content

Bipin35/Python-SDK

Repository files navigation

credavenue-colending

Integration Document

The following are the endpoints to be called during and pre/post disbursement state of a loan.

Authentication

Authentication details and host will be shared privately.

Workflow

Create Loan is the initial endpoint to be called to create a loan. Loan will be processed in the background and the status of loan will be provided through the configured Webhook. However, the client can also poll the server via the Get Loan Details endpoint to know the loan's status(Get Loan Details is rate throttled and polling this API will be restricted). Loan's shall be considered rejected if proper response is not available within 10minutes.

All other endpoints are self-explanatory and can be retried upto 3 times before marking as failure.

Allowed Links

All Link attributes should contain

  1. Accessible File Link URL which can be Public/Expiry URL/Whitelisted File Server Link(Write to tech.colending@credavenue.com for obtaining our IP address to whitelist)
  2. File Link URL with Header Authentication (Header values should be shared with tech.colending@credavenue.com)

Allowed Fields Length

Data Type Max Length
String 65,535 bytes
Float 8 bytes
Integer 4 bytes
Date 10 characters

Webhooks

Webhooks can be configured for the below events

  1. Loan status change

    Response Payload : { "product_id": "", "client_loan_id": "", "principal_amount": "", "interest_rate": "", "tenure": "", "tenure_frequency": "MONTHLY", "cibil_score": "", "purpose": "", "repayment_frequency":"", "number_of_repayments": "", "status": "", "principal_outstanding": "", "reject_reason": "" }

    Statuses : ['new', 'approved', 'rejected', 'agreement_signed', 'dropped', 'disbursement_ready', 'disbursed', 'matured', 'partner_settled']

  2. Loan disbursement details (Disbursed through razorpay)

    Callback Payload: { "client_loan_id":"", "status":"borrower_disbursed", "disbursed_date":"", "utr_number":"", "disbursement_type":"", "payment_reversed": "TRUE/FALSE", "disbursement_amount":"", "investor_disbursed_amount": "", "partner_disbursed_amount": "", "differential_interest":"", "investor_differential_interest":"", "partner_differential_interest":"", "differential_days":"", "interest_start_date":"", "investor_processing_fee":"", "partner_processing_fee":"", "investor_stamp_duty":"", "partner_stamp_duty":"", "investor_documentation_charges":"", "partner_documentation_charges":"" }

Provide the following details to configure the webhooks

  1. callback URL
  2. authentication for the callback URL (header authentication)

Validations

PAN

  • Example: ABGPA1232P
  • Sequence: First five digits will be alpha, next four will be Numerical and again last single digit will be alpha

GSTIN

  • Example: 33AAACT2727Q1ZV
  • Sequence: First two digits is Numerical, Next is PAN sequence as specified above, again thirteenth digit will be numerical, fourteenth digit is alpha, last digit will be alpha or numerical

CIN

  • Example: U65929TN2017PTC117196
  • Sequence: First digit is Alpha, next 5 numeric digits, next two alpha, next set of 4 numeric digits, Next 3 alpha, last 6 numeric digits

PASSPORT

  • Example: A2096457
  • Sequence: Total 8 digits, first digit is Alpha, remaining digits are numerical

AADHAR NO

  • The standard 12 digits numerical.

MOBILE NO

  • Sequence: 10 numerical digits

IFSC CODE

  • Example: PUNB0596600
  • Sequence: First four alpha, next fifth digit is 0 (zero) always and last six digit is alpha/numeric. Totally 11 digits.

PIN CODE

  • 6 numerical digits

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 0.0.1
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit http://credavenue.com

Requirements.

Python >= 3.6

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)

Then import the package:

import credavenue_colending

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import credavenue_colending

Getting Started

Please follow the installation procedure and then run the following:

import time
import credavenue_colending
from pprint import pprint
from credavenue_colending.api import colending_api
from credavenue_colending.model.agreement_signed_success import AgreementSignedSuccess
from credavenue_colending.model.bad_request import BadRequest
from credavenue_colending.model.body_agreement_signed import BodyAgreementSigned
from credavenue_colending.model.body_create_advance_collection import BodyCreateAdvanceCollection
from credavenue_colending.model.body_create_collection_entry import BodyCreateCollectionEntry
from credavenue_colending.model.body_create_loan import BodyCreateLoan
from credavenue_colending.model.body_create_repayment_schedule import BodyCreateRepaymentSchedule
from credavenue_colending.model.body_create_tranche import BodyCreateTranche
from credavenue_colending.model.body_disburse_loan import BodyDisburseLoan
from credavenue_colending.model.body_get_loan_details import BodyGetLoanDetails
from credavenue_colending.model.body_property_review import BodyPropertyReview
from credavenue_colending.model.body_update_advance_collection import BodyUpdateAdvanceCollection
from credavenue_colending.model.body_update_collection_entry import BodyUpdateCollectionEntry
from credavenue_colending.model.body_update_loan import BodyUpdateLoan
from credavenue_colending.model.body_update_post_disbursement import BodyUpdatePostDisbursement
from credavenue_colending.model.body_update_repayment_schedule import BodyUpdateRepaymentSchedule
from credavenue_colending.model.body_upload_interest_accruals import BodyUploadInterestAccruals
from credavenue_colending.model.create_collection_success import CreateCollectionSuccess
from credavenue_colending.model.create_loan_error import CreateLoanError
from credavenue_colending.model.create_loan_success import CreateLoanSuccess
from credavenue_colending.model.create_rs_success import CreateRSSuccess
from credavenue_colending.model.error422_create_tranche import Error422CreateTranche
from credavenue_colending.model.get_payment_success import GetPaymentSuccess
from credavenue_colending.model.get_rs_success import GetRSSuccess
from credavenue_colending.model.internal_server_error import InternalServerError
from credavenue_colending.model.not_found import NotFound
from credavenue_colending.model.property_review_success import PropertyReviewSuccess
from credavenue_colending.model.request_success import RequestSuccess
from credavenue_colending.model.response_create_tranche import ResponseCreateTranche
from credavenue_colending.model.unauthorized import Unauthorized
# Defining the host is optional and defaults to https://colend-uat-01-api.credavenue.in/colending
# See configuration.py for a list of all supported configuration parameters.
configuration = credavenue_colending.Configuration(
    host = "https://colend-uat-01-api.credavenue.in/colending"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: api_key
configuration.api_key['api_key'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['api_key'] = 'Bearer'


# Enter a context with an instance of the API client
with credavenue_colending.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = colending_api.ColendingApi(api_client)
    product_id = "XYZ_001" # str | Product Code given by CoLending
client_name = "allcloud" # str | Name of the client
loan_id = "AB001" # str | Client Loan ID as provided during loan creation
body_agreement_signed = BodyAgreementSigned(
        sanction_letter_link=[
            "sanction_letter_link_example",
        ],
        sanction_letter_link_password="sanction_letter_link_password_example",
        self_declaration_form_link=[
            "self_declaration_form_link_example",
        ],
        self_declaration_form_link_password="self_declaration_form_link_password_example",
        fatca_declaration_link=[
            "fatca_declaration_link_example",
        ],
        fatca_declaration_link_password="fatca_declaration_link_password_example",
        entire_set_of_loan_agreements_link=[
            "entire_set_of_loan_agreements_link_example",
        ],
        entire_set_of_loan_agreements_link_password="entire_set_of_loan_agreements_link_password_example",
        dpn_link=[
            "dpn_link_example",
        ],
        dpn_link_password="dpn_link_password_example",
        drf_link=[
            "drf_link_example",
        ],
        drf_link_password="drf_link_password_example",
        nach_enach_mandate_link=[
            "nach_enach_mandate_link_example",
        ],
        nach_enach_mandate_link_password="nach_enach_mandate_link_password_example",
        credit_discussion_mail_link=[
            "credit_discussion_mail_link_example",
        ],
        credit_discussion_mail_link_password="credit_discussion_mail_link_password_example",
        field_verification_report_link=[
            "field_verification_report_link_example",
        ],
        field_verification_report_link_password="field_verification_report_link_password_example",
        tele_verification_report_link=[
            "tele_verification_report_link_example",
        ],
        tele_verification_report_link_password="tele_verification_report_link_password_example",
        vehicle_inspection_report_link=[
            "vehicle_inspection_report_link_example",
        ],
        vehicle_inspection_report_link_password="vehicle_inspection_report_link_password_example",
        insurance_application_form_link=[
            "insurance_application_form_link_example",
        ],
        insurance_application_form_link_password="insurance_application_form_link_password_example",
    ) # BodyAgreementSigned | 

    try:
        # #Agreement Signed
        api_response = api_instance.agreement_signed(product_id, client_name, loan_id, body_agreement_signed)
        pprint(api_response)
    except credavenue_colending.ApiException as e:
        print("Exception when calling ColendingApi->agreement_signed: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://colend-uat-01-api.credavenue.in/colending

Class Method HTTP request Description
ColendingApi create_loan POST /clients/{client_name}/api/v2/loans #Create Loan
ColendingApi get_loan_details GET /clients/{client_name}/api/v2/loans/{loan_id} #Get Loan Details
ColendingApi update_loan PUT /clients/{client_name}/api/v2/loans/{loan_id} #Update Loan
ColendingApi agreement_signed PUT /clients/{client_name}/api/v2/loans/{loan_id}/agreement_signed #Agreement Signed
ColendingApi property_review PUT /clients/{client_name}/api/v2/loans/{loan_id}/property_review #Property Review
ColendingApi disburse_loan PUT /clients/{client_name}/api/v2/loans/{loan_id}/disburse #Disburse Loan
ColendingApi update_post_disbursement PUT /clients/{client_name}/api/v2/loans/{loan_id}/update_post_disbursement #Update Post Disbursement
ColendingApi get_collection_details GET /clients/{client_name}/api/v2/loans/{loan_id}/payments Get Collection Details
ColendingApi create_collection_entry POST /clients/{client_name}/api/v2/loans/{loan_id}/payments/record_payment #Create Collection Entry
ColendingApi update_collection_entry PUT /clients/{client_name}/api/v2/loans/{loan_id}/payments/{payment_id} #Update Collection Entry
ColendingApi get_repayment_schedule_details GET /clients/{client_name}/api/v2/loans/{loan_id}/rs #Get Repayment Schedule Details
ColendingApi create_repayment_schedule POST /clients/{client_name}/api/v2/loans/{loan_id}/rs #Create Repayment Schedule
ColendingApi update_repayment_schedule PUT /clients/{client_name}/api/v2/loans/{loan_id}/rs #Update Repayment Schedule
ColendingApi create_advance_collection POST /clients/{client_name}/api/v2/loans/{loan_id}/advance_payments #Create Advance Collection
ColendingApi update_advance_collection PUT /clients/{client_name}/api/v2/loans/{loan_id}/advance_payments/{advance_payment_id} #Update Advance Collection
ColendingApi upload_interest_accruals POST /clients/{client_name}/api/v2/interest_accruals #Upload Interest Accruals
ColendingApi approve_fund_transfer PUT /clients/{client_name}/api/v2/loans/{loan_id}/approve_fund_transfer #Approve Fund Transfer
ColendingApi get_interest_accrual GET /clients/{client_name}/api/v2/interest_accruals/{file_id} #Get Interest Accrual
ColendingApi create_tranche POST /clients/{client_name}/api/v2/loans/{loan_id}/tranches #Create Tranche
ColendingApi get_tranche_details GET /clients/{client_name}/api/v2/loans/{loan_id}/tranches/{id} #Get Tranche Details

Documentation For Models

Documentation For Authorization

api_key

  • Type: API key
  • API key parameter name: Api-Key
  • Location: HTTP header

Author

support@colending.com

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in credavenue_colending.apis and credavenue_colending.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from credavenue_colending.api.default_api import DefaultApi
  • from credavenue_colending.model.pet import Pet

Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import credavenue_colending
from credavenue_colending.apis import *
from credavenue_colending.models import *

About

Python SDK to connect to CredAvenue Colending APIs for originators

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors