Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Contact Us
  • Home
  • Real-Time Web-Service
  • Integration

HTTP Request

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

Related Articles

  • Testing and Security
  • Real-time Web Service

Begini sends the results and events in the form of webhook via REST API. You will need to configure your end point to be able to to receive it. 

 

HTTP Request Signature

The webhook receiver should be implemented as an HTTP server that should able to receive the following request signature mentioned below:

Headers

Header Value Remarks
X-Signature HMAC Value

This is the HMAC value of the payload that was hashed by the API Key from an integration (Available in the admin dashboard, in the integration page)

Please see Security Features Section for additional details (This will also explain how to perform HMAC Authentication in the webhook receiver)

content-type application/json Begini will always send the payload as JSON

Request Method

POST

JSON Payload

The webhook will be in JSON format. The time format will be in Epoch format and the score will be in integer format.

Response Status

Status Code Response Body Description
200 Any valid JSON body This will identify that the webhook was successfully transmitted to the destination
Non 200

Any String



 

{\"detail\":\"Validation Failure\"}"


 

 

This will contain additional information about the error. This will aid the client later on why webhook was not able to successfully transmit the webhook to the webhook receiver.

 


 

Webhook Event Payload Types

Events are generated when there is a status updates about the application that is processed by Begini. These are the types of webhook events:

 

psychometric_score.complete - This is generated when a score result from a psychometric integration

{
    "uid": "1234QWER-TYUI4567-ASDFD890",
    "integration_id": "12345678901234567890",    
    "event" : {
        "type": "psychometric_score.complete",
        "details" : {                    
            "application_started_at" : 1644397242,
            "application_completed_at" : 1644397300,         
            "scored_at" : 1644397637,                    
            "platform": "WEB",    
            "calculated" : {
                "score" : ##,
                "risk_band" : "RISK_RATING"
                "score_confidence" : "CONFIDENCE_RATING",
                "traits": [
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },  
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },  
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    },    
                    {
                        "key": "trait_type",
                        "value": #,
                        "risk_band": "RISK_RATING"                    
                    }                   
                ]
            },                                       
            "flags" : [ ]
        ]
    }   
}

 

application.complete - This is generated when the user finishes the application journey

{
    "uid": "1234QWER-TYUI4567-ASDFD890",
    "integration_id": "12345678901234567890",    
    "event" : {
        "type": "psychometric_score.complete",
        "details" : {                    
            "application_started_at" : 1644397242,
            "application_completed_at" : 1644397300,         
        }
    }   
}

 

android_score.complete - This is generated when a score result from an ANDROID device data integration

{
    "uid": "1234QWER-TYUI4567-ASDFD890",
    "integration_id": "12345678901234567890",
    "event" : {
        "type": "android_score.complete",
        "details" : {        
            "application_started_at" : 1644397242,   
            "application_completed_at" : 1644397300,     
            "scored_at" : 1644397637,                    
            "platform": "ANDROID",            
            "calculated": {
                "score" : #
            },
            "permissions_granted": [ ],
            "permissions_denied": [ ],   
            "flags" : [ ]
        }
    }   
}

 

ios_score.complete - This is generated when a score result from an IOS device data integration

{
    "uid": "1234QWER-TYUI4567-ASDFD890",
    "integration_id": "12345678901234567890",
    "event" : {
        "type": "ios_score.complete",
        "details" : {        
            "application_started_at" : 1644397242,    
            "application_completed_at" : 1644397300,     
            "scored_at" : 1644397637,                    
            "platform": "IOS",            
            "calculated": {
                "score" : #
            },                     
            "permissions_granted": [ ],
            "permissions_denied": [ ],   
            "flags" : [ ]
        }
    }   
}

 

 

application.expired - This is generated when the user did not completely finish the application journey within a given timeframe.

{
    "uid": "1234QWER-TYUI4567-ASDFD890",
    "integration_id": "12345678901234567890",
    "event" : {
        "type": "application.expired",
        "details" : {                    
            "application_started_at" : 1652882892,
            "application_expired_at" : 1652883492,
            "percentage_completed": "0.333333333333333"                                   
        }
    }   
}

 

application.incomplete - This is generated when the user has incompletely gone thru the application journey but still submitted the application. (For example, user did not answer certain sections, local storage permission not granted, etc)

{
    "uid": "1234QWER-TYUI4567-ASDFD890",
    "integration_id": "12345678901234567890",
    "event" : {
        "type": "application.incomplete",
        "details" : {                    
           "application_started_at" : 1652882892,
           "last_response_submitted_at" : 1652883492,
           "percentage_completed": "0.333333333333333"    
        },
        "reasons" : [ "Missing data" ]
    }   
}
 

 

 

application.cancelled - This is generated when the user has terminated or did not proceed in application journey.

{
    "uid": "1234QWER-TYUI4567-ASDFD890",
    "integration_id": "12345678901234567890",
    "event" : {
        "type": "application.cancelled",
        "details" : {
           "application_started_at" : 1652882892,
           "application_cancelled_at" : 1652883492                                            
        },
        "reasons" : [ "Denied the terms and conditions" ]
    }   
}

 

 

 

 

 

 

web request browser request

Was this article helpful?

Yes
No
Give feedback about this article

Updated at January 20th, 2025

Begini Logo_white

SaaS technology that provide character-based credit scores for Banks, Micro Finance, Digital Lenders, Neo Banks, BNPL and Asset Financing.

About

  • About Us
  • Contact Us
  • Privacy Policy

Solutions

  • Device Data
  • Psychometrics

Resources

  • Support
  • Blog
Linkedin Twitter Medium Youtube

© All rights reserved

GPDR compliant white
Expand