Go client library for the BlockScore API.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
blockscore.go
candidate.go
candidate_test.go
company.go
company_test.go
people.go
people_test.go
questions.go
questions_test.go
watchlist.go
watchlist_test.go

README.md

blockscore-go

Go client library for the BlockScore API.

Installation

go get github.com/connorjacobsen/blockscore-go

Usage

Import the package:

import (
    "github.com/connorjacobsen/blockscore-go"
)

Set your BlockScore API key in an environment variable:

export BLOCKSCORE_API_KEY="your key"

OR you can also set your BlockScore API key in a file:

blockscore.SetKey("YOUR_API_KEY")

Note: Make sure to use your test key when running the test suite, otherwise the test suite will make live API requests.

People

Create a new person:

params := blockscore.PeopleParams{
    NameFirst:          "John",
    NameMiddle:         "P",
    NameLast:           "Denver",
    DocumentType:       "ssn",
    DocumentValue:      "0000",
    BirthDay:           7,
    BirthMonth:         6,
    BirthYear:          1980,
    AddressStreet1:     "1234 Main Street",
    AddressStreet2:     "APT 12",
    AddressCity:        "Palo Alto",
    AddressSubdivision: "California",
    AddressPostalCode:  "94025",
    AddressCountryCode: "US",
    PhoneNumber:        "123-456-78910",
    IPAddress:          "127.0.0.1",
    Note:               "Hello, world",
}

person, err := blockscore.People.Create(&params)

Get a single existing People:

person, err := blockscore.People.Retrieve("DESIRED_PERSON_ID")

Get a list of People:

people, err := blockscore.People.List()

Get a list of X people, offset by Y people:

people, err := blockscore.People.ListN(X, Y)

Question Sets

Create a QuestionSet:

// Get the Person we want a QuestionSet for.
person, err := blockscore.People.Retrieve("DESIRED_PERSON_ID")

questionSet, err := blockscore.QuestionSets.Create(person.Id)

Score a QuestionSet:

params := ScoreParams{
    Answers: []ScoreAnswer{
        ScoreAnswer{QuestionId: 1, AnswerId: 1},
        ScoreAnswer{QuestionId: 2, AnswerId: 1},
        ScoreAnswer{QuestionId: 3, AnswerId: 1},
        ScoreAnswer{QuestionId: 4, AnswerId: 1},
        ScoreAnswer{QuestionId: 5, AnswerId: 1},
    },
}

questionSet, err := blockscore.QuestionSets.Score("QUESTION_SET_ID", &params)

if err != nil {
    // Error handling for your application.
}

// Print the QuestionSet's score.
fmt.Printf("Score: %s\n", questionSet.Score())

Retrieve a QuestionSet:

questionSet, err := blockscore.QuestionSets.Retrieve("QUESTION_SET_ID")

Get a list of QuestionSets:

questionSets, err := blockscore.QuestionSets.List()

Get a list of X QuestionSets, offset by Y QuestionSets:

questionSets, err := blockscore.QuestionSets.ListN(X, Y)

Companies

Create a new company:

params := blockscore.CompanyParams{
    EntityName:               "BlockScore",
    TaxId:                    "123410000",
    IncorporationState:       "DE",
    IncorporationCountryCode: "US",
    IncorporationType:        "corporation",
    IncorporationDay:         23,
    IncorporationMonth:       8,
    IncorporationYear:        1993,
    Dbas:                     "BitRemit",
    RegistrationNumber:       "123123123",
    Email:                    "test@example.com",
    Url:                      "https://blockscore.com",
    PhoneNumber:              "6505555555",
    IPAddress:                "67.160.8.182",
    Note:                     "Much wow",
    AddressStreet1:           "12345 Main Street",
    AddressStreet2:           "#12",
    AddressCity:              "Palo Alto",
    AddressSubdivision:       "CA",
    AddressPostalCode:        "94025",
    AddressCountryCode:       "US",
}

company, err := blockscore.Companies.Create(&params)

Get a single existing Company:

company, err := blockscore.Companies.Retrieve("DESIRED_COMPANY_ID")

Get a list of Companies:

companies, err := blockscore.Companies.List()

Get a list of X companies, offset by Y companies:

companies, err := blockscore.Companies.ListN(X, Y)

Candidates

Create a Candidate:

params := CandidateParams{
    NameFirst:          "John",
    NameLast:           "Brendekamp",
    Note:               "12341234",
    Ssn:                "0001",
    DateOfBirth:        "1940-08-11",
    AddressStreet1:     "1 Infinite Loop",
    AddressCity:        "Harare",
    AddressCountryCode: "ZW",
}

candidate, err := blockscore.Candidates.Create(&params)

Retrieve a Candidate:

candidate, err := blockscore.Candidates.Retrieve("DESIRED_CANDIDATE_ID")

Update a Candidate:

params := CandidateParams{
    Passport: "123456789",
}

candidate, err := blockscore.Candidate.Update("DESIRED_CANDIDATE_ID", &params)

Delete a Candidate:

candidate, err := blockscore.Candidate.Delete("DESIRED_CANDIDATE_ID")

Get a list of Candidates:

candidates, err := blockscore.Candidates.List()

Get a list of X Candidates, offset by Y Candidates:

candidates, err := blockscore.Candidates.ListN(X, Y)

View the Revision History of a Candidate:

candidateHistory, err := blockscore.Candidates.History("CANDIDATE_ID")

View past Watchlist Hits of a Candidate:

candidateHits, err := blockscore.Candidates.Hits("CANDIDATE_ID")

Watchlists

Search a Watchlist:

watchlistParams := WatchlistParams{
    CandidateId: "DESIRED_CANDIDATE_ID",
    MatchType:   "person" // search for individuals only
}

search, err := blockscore.Watchlists.Search(&watchlistParams)