Covve Scan API
The client should make an HTTP POST request to a specific endpoint with the provided API key in the Authorization header and the image of the scanned card
HTTP POST https://app.covve.com/api/businesscards/scan
Include Authorization Header with value your API Key. For example in Postman you should do the below:
Include Content-Type Header with value multipart/form-data
Include the cropped image of a business card (resolution approximately 900x500
, maximum size 4MB
), with key file
.
[optional] Include the parseAddress
parameter in the form. Its type is boolean
. If this is set to true
and the option is enabled for the API Key, then the parsedAddress
field of each address will be populated. Otherwise this field will be left to null
.
[optional] Include the fixNameCapitalization
parameter in the form. Its type is boolean
. If this is set to true
then if the name on the card is written in capital letters it will be returned in title case. E.g. JOHN DOE -> John Doe
The response with all the data on the card will be in JSON format
Possible Response Codes:
400
Bad Request in case of malformed request400
Bad Request in case of an error in scanning200
OK in case of successful scanning with the below payload in JSON formatResponse Payload upon successful scan:
{ "language": "en", "id": "eb8c5067-c2bf-446b-a25f-90201c703514", "firstName": "John", "lastName": "Doe", "middleName": "M.", "emails": [ { "address": "john.doe@mail.com" } ], "phones": [ { "number": "123 123 1234", "type": "Work" } ], "jobs": [ { "company": "ACME", "title": "CEO" } ], "websites": [ { "url": "www.acme.com" } ], "notes": "some notes", "addresses": [ { "fullAddress": "22 Park Ln, London W1K 1BE, United Kingdom", "parsedAddress": { "street": "22 Park Ln", "postalCode": "W1K 1BE", "city": "London", "state": null, "country": "United Kingdom", "latitude": "51.509646654", "longitude": "0.150322466" } } ] }
language: string
- the identified language of the card - always existsid: string
- a UUID describing this scan uniquely - always existsfirstName: string
- the first name identified on the card - exists if identified or an empty stringlastName: string
- the last name identified on the card - exists if identified or an empty stringmiddleName: string
- the middle name identified on the card - exists if identified or empty stringemails: array
- of the identified emails on the card. If no emails are identified then the array is empty. Each object in the array has the below fields:
address: string
- the email address identifiedphones: array
- of the identified phones on the card. If no phones are identified then the array is empty. Each object in the array has the below fields:
number: string
- the phone number identified. No formatting is applied here. It's served as presented on the card. E.g if there are parenthesis, country codes, and dashes, we keep everything in the result.type: string
- the phone type identified. Possible values are Work
, Home
, Mobile
, FaxWork
or an empty string
if no type is identified.jobs: array
- of the identified jobs on the card. If no jobs are identified then the array is empty. Each object in the array has the below fields:
company: string
- the company name identified on the cardtitle: string
- the job title identified on the cardwebsites: array
- of the identified websites on the card. If no websites are identified then the array is empty. Each object in the array has the below fields:
url: string
- the URL identified for this websiteaddresses: array
- of the identified addresses on the card. If no addresses are identified then the array is empty. Each object in the array has the below field:
fullAddress: string
- the full address identifiedparsedAddress: object
- If the parseAddress
option is set to true
for a scan request and the user API key supports this functionality then the full address is broken into more specific segments. The fields of this object are:
street: string
- the street of the address or null
if none identifiedpostalCode: string
- the postal code of the address or null
if none identifiedcity: string
- the city of the address or null
if none identifiedstate: string
- the state of the address or null
if none identifiedcountry: string
- the country of the address or null
if none identifiedlatitude: string
- the latitude of the addresslongitude: string
- the longitude of the addressnotes: string
- this field is usually empty. This field is used in some European countries to include VAT or other popular numbers that are often found in cards from these countries.The Covve Scan solution is hosted on Microsoft Azure's West Europe data centres and is in compliance with GDPR.
The image and data of the cards are not stored on our servers. It is processed, returned to the customer and not persisted. The only data that is persisted is a log that a scan took place for the customer, the timestamp of the scan, the language of the text and a boolean result of the scan (success/fail).