Set up Cross River
Customer Management
Onboard a customer
7min
before you use banking services offered at cross river, you need to create a customer record for each of your customers the customer onboarding process includes creating a customer record and adding relevant customer information all customers are automatically scanned for regulatory compliance purposes, so you need to register for relevant webhooks events to receive customer record status updates in this tutorial, you'll learn how to ✅ register the relevant webhooks ✅ create a new customer ✅ add relevant customer details, including customer address and phone number ✅ retrieve information about a customer if you are new to customer management, we recommend you read our customer management docid 8ytxcoj1zucpzfxmnbvwt documentation the tutorial assumes you have a knowledge of apis and how they work refer to the api basics docid\ hjr4y6ml96zuyj6trytom page for more details the tutorial uses these api endpoints api description post /core/v1/cm/customers create a new customer record get core/v1/cm/customers/{id} retrieve customer information post /core/v1/cm/customers/{customerid}/addresses add or edit the customer address post /core/v1/cm/customers/{customerid}/phones add or edit the customer phone number the tutorial uses these webhooks webhook description core customer onboarded notifies you that the customer record has been created core customer ofac changed notifies you that a customer's ofac status has been updated core customer pepscan changed notifies you that a customer's pep status has been updated before you begin make sure you have bank rails docid\ kbym9o05dwmdjsf8k7lzi partner id register the relevant webhook events to receive the webhook events for this tutorial you need to banking and payments webhooks docid\ dgnysfx9f7pnesmuxnwsp each specific webhook event type once you are registered, the event objects are sent to the registered urls the event object contains a list of resource identifiers used to download details on each event after the request to onboard a customer is submitted, you need to stay informed of the result of the compliance scan and that the customer record is created register the customer the customer record contains customer information the customer record supports both classifications of types personal or business once registered, a customer can be associated with one or more accounts in this tutorial, we'll onboard peter griffin first, let's create a customer record we are registering peter as a personal customer to onboard a business customer, first create a personal customer record for the primary owner of that business call post /core/v1/cm/customers for this call these attributes are required partnerid your unique partner id classification the customer classification either personal business name the object containing the customer name details profile the customer banking profile this includes reg0 politically exposed person (pep) customer risk level tax id and tax id type important we highly recommend you include an idempotency docid\ jiv0q1 cymjqqger3ijmp in your request header to provide duplicate protection in the event of a failure post /core/v1/cm/customers { "partnerid" "6e80b097 693c 4592 8440 02f345335bbf", "name" { "firstname" "peter", "lastname" "griffin" }, "classification" "personal", "profile" { "rego" false, "politicallyexposedperson" false, "taxidtype" "ssn", "taxid" "119988776", "birthdate" "1953 09 22", "riskrating" "low" } } the customer record is created the unique customer id is the first line of the response body onboarding a customer response body { "id" "9052b6a5 3f09 41d1 b526 ade80104eb79", "cifnumber" "32653745014", "classification" "personal", "status" "active", "ofac" "pending", "pepscan" "pending", "name" { "firstname" "peter", "lastname" "griffin", "fullname" "peter griffin" }, "profile" { "rego" false, "politicallyexposedperson" false, "enablebackupwithholding" false, "taxidtype" "ssn", "taxid" "119988776", "birthdate" "1953 09 22", "riskrating" "low" }, "createdat" "2021 01 25t17 55 24 4422582 05 00", "lastmodifiedat" "2021 01 25t17 55 24 4432543 05 00", "partnerid" "6e80b097 693c 4592 8440 02f345335bbf" } the core customer onboarded webhook event is triggered when the customer record is created customer onboarded event { "id" "3d9c5e1a 623b 4cf2 812e ade80105048e", "eventname" "core customer onboarded", "status" "pending", "partnerid" "30dee145 b6a2 4058 8dc3 ac4000dee91f", "createdat" "2021 11 22t10 50 20 553 05 00", "resources" \[ "core/v1/cm/customers/9052b6a5 3f09 41d1 b526 ade80104eb79" ], "details" \[] } cr scans a new customer record for ofac and pep compliance sometimes the results of the scan require a review by the our anti money laundering (aml) team on scan completion, core customer ofac changed and core customer pepscan changed webhook events return with a status customers with no compliance issues show a clear status customer ofac scan changed { "id" "45db5592 56ee 41f5 85e7 ade8010571ce", "eventname" "core customer ofac changed", "status" "pending", "partnerid" "30dee145 b6a2 4058 8dc3 ac4000dee91f", "createdat" "2021 11 22t10 51 53 657 05 00", "resources" \[ "core/v1/cm/customers/9052b6a5 3f09 41d1 b526 ade80104eb79" ], "details" \[] } customer pep scan changed { "id" "a5000831 3e01 4231 9ec2 ade8010571c5", "eventname" "core customer pepscan changed", "status" "pending", "partnerid" "30dee145 b6a2 4058 8dc3 ac4000dee91f", "createdat" "2021 11 22t10 51 53 597 05 00", "resources" \[ "core/v1/cm/customers/9052b6a5 3f09 41d1 b526 ade80104eb79" ], "details" \[] } to retrieve the results of the ofac and pep scans, call get core/v1/cm/customers/{id} , where id is the customer id in the resources attribute of both events in this example, the customer id is 9052b6a5 3f09 41d1 b526 ade80104eb79 get customer details { "id" "9052b6a5 3f09 41d1 b526 ade80104eb79", "cifnumber" "32653745014", "classification" "personal", "status" "active", "ofac" "clear", "pepscan" "clear", "name" { "firstname" "peter", "lastname" "griffin", "fullname" "peter griffin" }, "profile" { "rego" false, "citizenshipcountrycode" "us", "politicallyexposedperson" false, "enablebackupwithholding" false, "taxidtype" "ssn", "taxid" "119988776", "birthdate" "1953 09 22", "riskrating" "low" }, "createdat" "2021 11 22t10 49 58 843 05 00", "lastmodifiedat" "2021 11 22t10 51 49 5299112 05 00", "partnerid" "30dee145 b6a2 4058 8dc3 ac4000dee91f", "duediligence" { "annualincome" 0 } } add details to the customer record next, you need to add the customer address and phone number you can also add the customer email and identification information once you add this initial information, if needed you add more information, such as a mailing address this tutorial will cover adding the address and phone number only these details are considered primary information if you add a second address, this is secondary use the customer id returned when you create the customer record to call post /core/v1/cm/customers/{id}/addresses to add the customer address the first address you add is the primary address add customer address post /core/v1/cm/customers/9052b6a5 3f09 41d1 b526 ade80104eb79/addresses { "addresstype" "home", "classification" "residential", "isprimary" true, "street1" "123 any st", "city" "anywhere", "state" "ny", "postalcode" "12345", "countrycode" "us" } call post /core/v1/cm/customers/{id}/phones to add the customer phone number the first phone number you add is the primary phone number add customer phone number post /core/v1/cm/customers/9052b6a5 3f09 41d1 b526 ade80104eb79/phones { "isprimary" true, "phonetype" "mobile", "phonenumber" "2015552345" } the onboarding process is considered complete when the address and phone records have been added