Skip to main content

Test User Data

Sample user data for testing your NotaryCam API integration.

Basic Signer

Minimal required fields:

{
"departments": ["your-department-id"],
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"phone": "+15551234567"
}

Complete User Profile

All available fields:

{
"departments": ["your-department-id"],
"email": "jane.smith@example.com",
"namePrefix": "Dr.",
"firstName": "Jane",
"middleName": "Marie",
"lastName": "Smith",
"nameSuffix": "PhD",
"phone": "+15559876543",
"dateOfBirth": "1978-03-22T00:00:00.000Z",
"address": {
"country": "US",
"street": "456 Oak Avenue, Apt 7B",
"city": "Austin",
"state": "TX",
"postalCode": "78701"
}
}

Multiple Participants

Array of user data for multi-party transactions:

const participants = [
{
departments: ["real-estate-dept"],
email: "buyer@example.com",
firstName: "Michael",
lastName: "Johnson",
phone: "+15552223333",
dateOfBirth: "1990-11-08T00:00:00.000Z",
address: {
country: "US",
street: "789 Pine Road",
city: "Seattle",
state: "WA",
postalCode: "98101"
}
},
{
departments: ["real-estate-dept"],
email: "seller@example.com",
firstName: "Sarah",
lastName: "Williams",
phone: "+15553334444",
dateOfBirth: "1985-07-15T00:00:00.000Z",
address: {
country: "US",
street: "321 Elm Street",
city: "Portland",
state: "OR",
postalCode: "97201"
}
},
{
departments: ["real-estate-dept"],
email: "witness@example.com",
firstName: "David",
lastName: "Brown",
phone: "+15554445555",
dateOfBirth: "1992-04-20T00:00:00.000Z",
address: {
country: "US",
street: "654 Maple Ave",
city: "Vancouver",
state: "WA",
postalCode: "98660"
}
}
];

International Users

Canada

{
"departments": ["international-dept"],
"email": "marie.tremblay@example.ca",
"firstName": "Marie",
"lastName": "Tremblay",
"phone": "+15145551234",
"dateOfBirth": "1982-07-30T00:00:00.000Z",
"address": {
"country": "CA",
"street": "100 Rue Saint-Jacques",
"city": "Montreal",
"state": "QC",
"postalCode": "H2Y 1L6"
}
}

United Kingdom

{
"departments": ["international-dept"],
"email": "james.wilson@example.co.uk",
"firstName": "James",
"lastName": "Wilson",
"phone": "+442071234567",
"dateOfBirth": "1988-05-12T00:00:00.000Z",
"address": {
"country": "GB",
"street": "10 Downing Street",
"city": "London",
"state": "ENG",
"postalCode": "SW1A 2AA"
}
}

Test Data Generator Functions

JavaScript

/**
* Generate test user data
*/
function generateTestUser(index = 1) {
return {
departments: ['test-dept'],
email: `testuser${index}@example.com`,
firstName: `Test${index}`,
lastName: 'User',
phone: `+1555${String(index).padStart(7, '0')}`,
dateOfBirth: '1990-01-01T00:00:00.000Z',
address: {
country: 'US',
street: `${index} Test Street`,
city: 'Test City',
state: 'TS',
postalCode: '12345'
}
};
}

// Generate 10 test users
const testUsers = Array.from({ length: 10 }, (_, i) => generateTestUser(i + 1));

Python

def generate_test_user(index=1):
"""Generate test user data"""
return {
'departments': ['test-dept'],
'email': f'testuser{index}@example.com',
'firstName': f'Test{index}',
'lastName': 'User',
'phone': f'+1555{str(index).zfill(7)}',
'dateOfBirth': '1990-01-01T00:00:00.000Z',
'address': {
'country': 'US',
'street': f'{index} Test Street',
'city': 'Test City',
'state': 'TS',
'postalCode': '12345'
}
}

# Generate 10 test users
test_users = [generate_test_user(i + 1) for i in range(10)]

C#

public static class UserGenerator
{
public static object GenerateTestUser(int index = 1)
{
return new
{
departments = new[] { "test-dept" },
email = $"testuser{index}@example.com",
firstName = $"Test{index}",
lastName = "User",
phone = $"+1555{index.ToString().PadLeft(7, '0')}",
dateOfBirth = "1990-01-01T00:00:00.000Z",
address = new
{
country = "US",
street = $"{index} Test Street",
city = "Test City",
state = "TS",
postalCode = "12345"
}
};
}

public static List<object> GenerateTestUsers(int count)
{
return Enumerable.Range(1, count)
.Select(i => GenerateTestUser(i))
.ToList();
}
}

Faker Libraries

For more realistic test data, use faker libraries:

JavaScript (Faker.js)

const { faker } = require('@faker-js/faker');

function generateRealisticUser() {
return {
departments: ['dept-id'],
email: faker.internet.email(),
firstName: faker.person.firstName(),
lastName: faker.person.lastName(),
phone: faker.phone.number('+1##########'),
dateOfBirth: faker.date.birthdate({ min: 18, max: 80, mode: 'age' }).toISOString(),
address: {
country: 'US',
street: faker.location.streetAddress(),
city: faker.location.city(),
state: faker.location.state({ abbreviated: true }),
postalCode: faker.location.zipCode()
}
};
}

Python (Faker)

from faker import Faker
fake = Faker()

def generate_realistic_user():
return {
'departments': ['dept-id'],
'email': fake.email(),
'firstName': fake.first_name(),
'lastName': fake.last_name(),
'phone': fake.phone_number(),
'dateOfBirth': fake.date_of_birth(minimum_age=18, maximum_age=80).isoformat() + 'Z',
'address': {
'country': 'US',
'street': fake.street_address(),
'city': fake.city(),
'state': fake.state_abbr(),
'postalCode': fake.zipcode()
}
}

Role-Based Examples

Buyer (Real Estate)

{
"departments": ["real-estate"],
"email": "homebuyer@example.com",
"firstName": "Alice",
"lastName": "Buyer",
"phone": "+15551111111",
"dateOfBirth": "1988-09-12T00:00:00.000Z",
"address": {
"country": "US",
"street": "123 Current Address",
"city": "Denver",
"state": "CO",
"postalCode": "80202"
}
}

Seller (Real Estate)

{
"departments": ["real-estate"],
"email": "homeseller@example.com",
"firstName": "Bob",
"lastName": "Seller",
"phone": "+15552222222",
"dateOfBirth": "1975-03-25T00:00:00.000Z",
"address": {
"country": "US",
"street": "456 Property Lane",
"city": "Denver",
"state": "CO",
"postalCode": "80203"
}
}

Witness

{
"departments": ["default"],
"email": "witness@example.com",
"firstName": "Charlie",
"lastName": "Witness",
"phone": "+15553333333",
"dateOfBirth": "1992-06-10T00:00:00.000Z",
"address": {
"country": "US",
"street": "789 Witness Road",
"city": "Denver",
"state": "CO",
"postalCode": "80204"
}
}

Validation Test Cases

Missing Required Fields

// Should fail - missing email
{
"departments": ["dept-id"],
"firstName": "John",
"lastName": "Doe",
"phone": "+15551234567"
}

// Should fail - missing phone
{
"departments": ["dept-id"],
"email": "test@example.com",
"firstName": "John",
"lastName": "Doe"
}

Invalid Data Formats

// Should fail - invalid email
{
"email": "not-an-email"
}

// Should fail - invalid phone
{
"phone": "123" // Too short
}

// Should fail - invalid date
{
"dateOfBirth": "not-a-date"
}

// Should fail - invalid country code
{
"address": {
"country": "USA" // Should be "US"
}
}

Best Practices

Do Use

  • Unique emails - Use timestamps or UUIDs for testing
  • Valid phone numbers - Use proper E.164 format
  • Real addresses - For testing address validation
  • Proper dates - ISO 8601 format
  • Test different countries - Verify international support

Don't Use

  • Real personal data - Never use actual user information
  • Production emails - Tests might send emails
  • Duplicate emails - Will cause conflicts
  • Invalid formats - Won't pass validation
  • Fake phone numbers - Use valid test numbers

Next Steps