Skip to content

namsor/namsor-javascript-sdk2

Repository files navigation

nam_sor_api_v2

NamSorApiV2 - JavaScript client for nam_sor_api_v2 NamSor API v2 : enpoints to process personal names (gender, cultural origin or ethnicity) in all alphabets or languages. By default, enpoints use 1 unit per name (ex. Gender), but Ethnicity classification uses 10 to 20 units per name depending on taxonomy. Use GET methods for small tests, but prefer POST methods for higher throughput (batch processing of up to 100 names at a time). Need something you can't find here? We have many more features coming soon. Let us know, we'll do our best to add it! This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 2.0.15
  • Package version: 2.0.15
  • Build package: org.openapitools.codegen.languages.JavascriptClientCodegen For more information, please visit http://www.namsor.com/

Installation

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install nam_sor_api_v2 --save
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

Finally, switch to the directory you want to use your nam_sor_api_v2 from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

You should now be able to require('nam_sor_api_v2') in javascript files from the directory you ran the last command above from.

git

If the library is hosted at a git repository, e.g. https://github.com/namsor/namsor-javascript-sdk2 then install it via:

    npm install namsor/namsor-javascript-sdk2 --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file, that's to say your javascript file where you actually use this library):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var NamSorApiV2 = require('nam_sor_api_v2');

var defaultClient = NamSorApiV2.ApiClient.instance;

// Configure API key authorization: api_key
var api_key = defaultClient.authentications['api_key'];
api_key.apiKey = "YOUR API KEY"
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//api_key.apiKeyPrefix['X-API-KEY'] = "Token"

var api = new NamSorApiV2.AdminApi()
var source = "source_example"; // {String} 
var anonymized = true; // {Boolean} 

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
api.anonymize(source, anonymized, callback);

Documentation for API Endpoints

All URIs are relative to https://v2.namsor.com/NamSorAPIv2

Class Method HTTP request Description
NamSorApiV2.AdminApi anonymize GET /api2/json/anonymize/{source}/{anonymized} Activate/deactivate anonymization for a source.
NamSorApiV2.AdminApi apiStatus GET /api2/json/apiStatus Prints the current status of the classifiers. A classifier name in apiStatus corresponds to a service name in apiServices.
NamSorApiV2.AdminApi apiUsage GET /api2/json/apiUsage Print current API usage.
NamSorApiV2.AdminApi apiUsageHistory GET /api2/json/apiUsageHistory Print historical API usage.
NamSorApiV2.AdminApi apiUsageHistoryAggregate GET /api2/json/apiUsageHistoryAggregate Print historical API usage (in an aggregated view, by service, by day/hour/min).
NamSorApiV2.AdminApi availableServices GET /api2/json/apiServices List of classification services and usage cost in Units per classification (default is 1=ONE Unit). Some API endpoints (ex. Corridor) combine multiple classifiers.
NamSorApiV2.AdminApi disable GET /api2/json/disable/{source}/{disabled} Activate/deactivate an API Key.
NamSorApiV2.AdminApi learnable GET /api2/json/learnable/{source}/{learnable} Activate/deactivate learning from a source.
NamSorApiV2.AdminApi softwareVersion GET /api2/json/softwareVersion Get the current software version
NamSorApiV2.AdminApi taxonomyClasses GET /api2/json/taxonomyClasses/{classifierName} Print the taxonomy classes valid for the given classifier.
NamSorApiV2.ChineseApi chineseNameCandidates GET /api2/json/chineseNameCandidates/{chineseSurnameLatin}/{chineseGivenNameLatin} Identify Chinese name candidates, based on the romanized name ex. Wang Xiaoming
NamSorApiV2.ChineseApi chineseNameCandidatesBatch POST /api2/json/chineseNameCandidatesBatch Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname), ex. Wang Xiaoming
NamSorApiV2.ChineseApi chineseNameCandidatesGenderBatch POST /api2/json/chineseNameCandidatesGenderBatch Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname) ex. Wang Xiaoming.
NamSorApiV2.ChineseApi chineseNameGenderCandidates GET /api2/json/chineseNameGenderCandidates/{chineseSurnameLatin}/{chineseGivenNameLatin}/{knownGender} Identify Chinese name candidates, based on the romanized name ex. Wang Xiaoming - having a known gender ('male' or 'female')
NamSorApiV2.ChineseApi chineseNameMatch GET /api2/json/chineseNameMatch/{chineseSurnameLatin}/{chineseGivenNameLatin}/{chineseName} Return a score for matching Chinese name ex. 王晓明 with a romanized name ex. Wang Xiaoming
NamSorApiV2.ChineseApi chineseNameMatchBatch POST /api2/json/chineseNameMatchBatch Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname), ex. Wang Xiaoming
NamSorApiV2.ChineseApi genderChineseName GET /api2/json/genderChineseName/{chineseName} Infer the likely gender of a Chinese full name ex. 王晓明
NamSorApiV2.ChineseApi genderChineseNameBatch POST /api2/json/genderChineseNameBatch Infer the likely gender of up to 100 full names ex. 王晓明
NamSorApiV2.ChineseApi genderChineseNamePinyin GET /api2/json/genderChineseNamePinyin/{chineseSurnameLatin}/{chineseGivenNameLatin} Infer the likely gender of a Chinese name in LATIN (Pinyin).
NamSorApiV2.ChineseApi genderChineseNamePinyinBatch POST /api2/json/genderChineseNamePinyinBatch Infer the likely gender of up to 100 Chinese names in LATIN (Pinyin).
NamSorApiV2.ChineseApi parseChineseName GET /api2/json/parseChineseName/{chineseName} Infer the likely first/last name structure of a name, ex. 王晓明 -> 王(surname) 晓明(given name)
NamSorApiV2.ChineseApi parseChineseNameBatch POST /api2/json/parseChineseNameBatch Infer the likely first/last name structure of a name, ex. 王晓明 -> 王(surname) 晓明(given name).
NamSorApiV2.ChineseApi pinyinChineseName GET /api2/json/pinyinChineseName/{chineseName} Romanize the Chinese name to Pinyin, ex. 王晓明 -> Wang (surname) Xiaoming (given name)
NamSorApiV2.ChineseApi pinyinChineseNameBatch POST /api2/json/pinyinChineseNameBatch Romanize a list of Chinese name to Pinyin, ex. 王晓明 -> Wang (surname) Xiaoming (given name).
NamSorApiV2.GeneralApi nameType GET /api2/json/nameType/{properNoun} Infer the likely type of a proper noun (personal name, brand name, place name etc.)
NamSorApiV2.GeneralApi nameTypeBatch POST /api2/json/nameTypeBatch Infer the likely common type of up to 100 proper nouns (personal name, brand name, place name etc.)
NamSorApiV2.GeneralApi nameTypeGeo GET /api2/json/nameTypeGeo/{properNoun}/{countryIso2} Infer the likely type of a proper noun (personal name, brand name, place name etc.)
NamSorApiV2.GeneralApi nameTypeGeoBatch POST /api2/json/nameTypeGeoBatch Infer the likely common type of up to 100 proper nouns (personal name, brand name, place name etc.)
NamSorApiV2.JapaneseApi genderJapaneseNameFull GET /api2/json/genderJapaneseNameFull/{japaneseName} Infer the likely gender of a Japanese full name ex. 王晓明
NamSorApiV2.JapaneseApi genderJapaneseNameFullBatch POST /api2/json/genderJapaneseNameFullBatch Infer the likely gender of up to 100 full names
NamSorApiV2.JapaneseApi genderJapaneseNamePinyin GET /api2/json/genderJapaneseName/{japaneseSurname}/{japaneseGivenName} Infer the likely gender of a Japanese name in LATIN (Pinyin).
NamSorApiV2.JapaneseApi genderJapaneseNamePinyinBatch POST /api2/json/genderJapaneseNameBatch Infer the likely gender of up to 100 Japanese names in LATIN (Pinyin).
NamSorApiV2.JapaneseApi japaneseNameGenderKanjiCandidatesBatch POST /api2/json/japaneseNameGenderKanjiCandidatesBatch Identify japanese name candidates in KANJI, based on the romanized name (firstName = japaneseGivenName; lastName=japaneseSurname) with KNOWN gender, ex. Yamamoto Sanae
NamSorApiV2.JapaneseApi japaneseNameKanjiCandidates GET /api2/json/japaneseNameKanjiCandidates/{japaneseSurnameLatin}/{japaneseGivenNameLatin}/{knownGender} Identify japanese name candidates in KANJI, based on the romanized name ex. Yamamoto Sanae - and a known gender.
NamSorApiV2.JapaneseApi japaneseNameKanjiCandidates1 GET /api2/json/japaneseNameKanjiCandidates/{japaneseSurnameLatin}/{japaneseGivenNameLatin} Identify japanese name candidates in KANJI, based on the romanized name ex. Yamamoto Sanae
NamSorApiV2.JapaneseApi japaneseNameKanjiCandidatesBatch POST /api2/json/japaneseNameKanjiCandidatesBatch Identify japanese name candidates in KANJI, based on the romanized name (firstName = japaneseGivenName; lastName=japaneseSurname), ex. Yamamoto Sanae
NamSorApiV2.JapaneseApi japaneseNameLatinCandidates GET /api2/json/japaneseNameLatinCandidates/{japaneseSurnameKanji}/{japaneseGivenNameKanji} Romanize japanese name, based on the name in Kanji.
NamSorApiV2.JapaneseApi japaneseNameLatinCandidatesBatch POST /api2/json/japaneseNameLatinCandidatesBatch Romanize japanese names, based on the name in KANJI
NamSorApiV2.JapaneseApi japaneseNameMatch GET /api2/json/japaneseNameMatch/{japaneseSurnameLatin}/{japaneseGivenNameLatin}/{japaneseName} Return a score for matching Japanese name in KANJI ex. 山本 早苗 with a romanized name ex. Yamamoto Sanae
NamSorApiV2.JapaneseApi japaneseNameMatchBatch POST /api2/json/japaneseNameMatchBatch Return a score for matching a list of Japanese names in KANJI ex. 山本 早苗 with romanized names ex. Yamamoto Sanae
NamSorApiV2.JapaneseApi japaneseNameMatchFeedbackLoop GET /api2/json/japaneseNameMatchFeedbackLoop/{japaneseSurnameLatin}/{japaneseGivenNameLatin}/{japaneseName} [CREDITS 1 UNIT] Feedback loop to better perform matching Japanese name in KANJI ex. 山本 早苗 with a romanized name ex. Yamamoto Sanae
NamSorApiV2.JapaneseApi parseJapaneseName GET /api2/json/parseJapaneseName/{japaneseName} Infer the likely first/last name structure of a name, ex. 山本 早苗 or Yamamoto Sanae
NamSorApiV2.JapaneseApi parseJapaneseNameBatch POST /api2/json/parseJapaneseNameBatch Infer the likely first/last name structure of a name, ex. 山本 早苗 or Yamamoto Sanae
NamSorApiV2.PersonalApi corridor GET /api2/json/corridor/{countryIso2From}/{firstNameFrom}/{lastNameFrom}/{countryIso2To}/{firstNameTo}/{lastNameTo} [USES 20 UNITS PER NAME COUPLE] Infer several classifications for a cross border interaction between names (ex. remit, travel, intl com)
NamSorApiV2.PersonalApi corridorBatch POST /api2/json/corridorBatch [USES 20 UNITS PER NAME PAIR] Infer several classifications for up to 100 cross border interaction between names (ex. remit, travel, intl com)
NamSorApiV2.PersonalApi country GET /api2/json/country/{personalNameFull} [USES 10 UNITS PER NAME] Infer the likely country of residence of a personal full name, or one surname. Assumes names as they are in the country of residence OR the country of origin.
NamSorApiV2.PersonalApi countryBatch POST /api2/json/countryBatch [USES 10 UNITS PER NAME] Infer the likely country of residence of up to 100 personal full names, or surnames. Assumes names as they are in the country of residence OR the country of origin.
NamSorApiV2.PersonalApi diaspora GET /api2/json/diaspora/{countryIso2}/{firstName}/{lastName} [USES 20 UNITS PER NAME] Infer the likely ethnicity/diaspora of a personal name, given a country of residence ISO2 code (ex. US, CA, AU, NZ etc.)
NamSorApiV2.PersonalApi diasporaBatch POST /api2/json/diasporaBatch [USES 20 UNITS PER NAME] Infer the likely ethnicity/diaspora of up to 100 personal names, given a country of residence ISO2 code (ex. US, CA, AU, NZ etc.)
NamSorApiV2.PersonalApi gender GET /api2/json/gender/{firstName}/{lastName} Infer the likely gender of a name.
NamSorApiV2.PersonalApi genderBatch POST /api2/json/genderBatch Infer the likely gender of up to 100 names, detecting automatically the cultural context.
NamSorApiV2.PersonalApi genderFull GET /api2/json/genderFull/{fullName} Infer the likely gender of a full name, ex. John H. Smith
NamSorApiV2.PersonalApi genderFullBatch POST /api2/json/genderFullBatch Infer the likely gender of up to 100 full names, detecting automatically the cultural context.
NamSorApiV2.PersonalApi genderFullGeo GET /api2/json/genderFullGeo/{fullName}/{countryIso2} Infer the likely gender of a full name, given a local context (ISO2 country code).
NamSorApiV2.PersonalApi genderFullGeoBatch POST /api2/json/genderFullGeoBatch Infer the likely gender of up to 100 full names, with a given cultural context (country ISO2 code).
NamSorApiV2.PersonalApi genderGeo GET /api2/json/genderGeo/{firstName}/{lastName}/{countryIso2} Infer the likely gender of a name, given a local context (ISO2 country code).
NamSorApiV2.PersonalApi genderGeoBatch POST /api2/json/genderGeoBatch Infer the likely gender of up to 100 names, each given a local context (ISO2 country code).
NamSorApiV2.PersonalApi origin GET /api2/json/origin/{firstName}/{lastName} [USES 10 UNITS PER NAME] Infer the likely country of origin of a personal name. Assumes names as they are in the country of origin. For US, CA, AU, NZ and other melting-pots : use 'diaspora' instead.
NamSorApiV2.PersonalApi originBatch POST /api2/json/originBatch [USES 10 UNITS PER NAME] Infer the likely country of origin of up to 100 names, detecting automatically the cultural context.
NamSorApiV2.PersonalApi parseName GET /api2/json/parseName/{nameFull} Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John.
NamSorApiV2.PersonalApi parseNameBatch POST /api2/json/parseNameBatch Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John.
NamSorApiV2.PersonalApi parseNameGeo GET /api2/json/parseName/{nameFull}/{countryIso2} Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. For better accuracy, provide a geographic context.
NamSorApiV2.PersonalApi parseNameGeoBatch POST /api2/json/parseNameGeoBatch Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. Giving a local context improves precision.
NamSorApiV2.PersonalApi usRaceEthnicity GET /api2/json/usRaceEthnicity/{firstName}/{lastName} [USES 10 UNITS PER NAME] Infer a US resident's likely race/ethnicity according to US Census taxonomy W_NL (white, non latino), HL (hispano latino), A (asian, non latino), B_NL (black, non latino). Optionally add header X-OPTION-USRACEETHNICITY-TAXONOMY: USRACEETHNICITY-6CLASSES for two additional classes, AI_AN (American Indian or Alaskan Native) and PI (Pacific Islander).
NamSorApiV2.PersonalApi usRaceEthnicityBatch POST /api2/json/usRaceEthnicityBatch [USES 10 UNITS PER NAME] Infer up-to 100 US resident's likely race/ethnicity according to US Census taxonomy. Output is W_NL (white, non latino), HL (hispano latino), A (asian, non latino), B_NL (black, non latino). Optionally add header X-OPTION-USRACEETHNICITY-TAXONOMY: USRACEETHNICITY-6CLASSES for two additional classes, AI_AN (American Indian or Alaskan Native) and PI (Pacific Islander).
NamSorApiV2.PersonalApi usRaceEthnicityZIP5 GET /api2/json/usRaceEthnicityZIP5/{firstName}/{lastName}/{zip5Code} [USES 10 UNITS PER NAME] Infer a US resident's likely race/ethnicity according to US Census taxonomy, using (optional) ZIP5 code info. Output is W_NL (white, non latino), HL (hispano latino), A (asian, non latino), B_NL (black, non latino). Optionally add header X-OPTION-USRACEETHNICITY-TAXONOMY: USRACEETHNICITY-6CLASSES for two additional classes, AI_AN (American Indian or Alaskan Native) and PI (Pacific Islander).
NamSorApiV2.PersonalApi usZipRaceEthnicityBatch POST /api2/json/usZipRaceEthnicityBatch [USES 10 UNITS PER NAME] Infer up-to 100 US resident's likely race/ethnicity according to US Census taxonomy, with (optional) ZIP code. Output is W_NL (white, non latino), HL (hispano latino), A (asian, non latino), B_NL (black, non latino). Optionally add header X-OPTION-USRACEETHNICITY-TAXONOMY: USRACEETHNICITY-6CLASSES for two additional classes, AI_AN (American Indian or Alaskan Native) and PI (Pacific Islander).
NamSorApiV2.SocialApi phoneCode GET /api2/json/phoneCode/{firstName}/{lastName}/{phoneNumber} [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, given a personal name and formatted / unformatted phone number.
NamSorApiV2.SocialApi phoneCodeBatch POST /api2/json/phoneCodeBatch [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, of up to 100 personal names, detecting automatically the local context given a name and formatted / unformatted phone number.
NamSorApiV2.SocialApi phoneCodeGeo GET /api2/json/phoneCodeGeo/{firstName}/{lastName}/{phoneNumber}/{countryIso2} [USES 11 UNITS PER NAME] Infer the likely phone prefix, given a personal name and formatted / unformatted phone number, with a local context (ISO2 country of residence).
NamSorApiV2.SocialApi phoneCodeGeoBatch POST /api2/json/phoneCodeGeoBatch [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, of up to 100 personal names, with a local context (ISO2 country of residence).
NamSorApiV2.SocialApi phoneCodeGeoFeedbackLoop GET /api2/json/phoneCodeGeoFeedbackLoop/{firstName}/{lastName}/{phoneNumber}/{phoneNumberE164}/{countryIso2} [CREDITS 1 UNIT] Feedback loop to better infer the likely phone prefix, given a personal name and formatted / unformatted phone number, with a local context (ISO2 country of residence).

Documentation for Models

Documentation for Authorization

api_key

  • Type: API key
  • API key parameter name: X-API-KEY
  • Location: HTTP header