@vicentecalfo/tropicos-api-wrapper
TypeScript icon, indicating that this package has built-in type declarations

1.2.1 • Public • Published

@vicentecalfo/tropicos-api-wrapper

This wrapper allows you to call methods for gathering data from the Tropicos web service (API).

What is Tropicos? Click here.

Installation

Install the package with:

npm install @vicentecalfo/tropicos-api-wrapper --save

Usage

The package needs to be configured with your API key, which is available in the Tropicos web service help page. This key must be used in all service calls.

All methods return an observable, however you can use promises as well.

Initialize with config object.

Property Default Required Description
apiKey null Yes Long string of characters and numbers, required to authorize access to the service. Request API Key.
format json No Choose how you want your output to be formatted (possible values: json and xml).
import { TropicosApi } from '@vicentecalfo/tropicos-api-wrapper';

const tropicosApi = new TropicosApi({
    apiKey: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
    format: 'json' // output format (optional)
});

// Example:
// Method to access search endpoint
// http://services.tropicos.org/help?method=SearchNameXml
tropicosApi
    .search({
        name: 'poa annua',
        type: 'wildcard'
    })
    .subscribe(
        (data) => console.log(data.body)
        (error) => console.log(error)
    );

Available Methods

The name of the methods follows the paths of each endpoint.

All methods can receive optional request parameters (reqOptions). You can check all the options here.

Method Endpoint Parameters Description Tropicos Documentation
search(qs,reqOptions) Name/Search View json To search for a Name View
summary(id,reqOptions) Name/{id} id (number | required) Return summary data for a Name with a given id. View
synonyms(id,reqOptions) Name/{id}Synonyms id (number | required) Return all Synonyms for a Name with a given id. View
acceptedNames(id, reqOptions) Name/{id}AcceptedNames id (number | required) Return all Accepted Names for a Name with a given id. View
distributions(id, reqOptions) Name/{id}Distributions id (number | required) Return all Distribution records for a Name with a given id. View
references(id, reqOptions) Name/{id}References id (number | required) Return all Reference records for a Name with a given id. View
images(id, reqOptions) Name/{id}Images id (number | required) Return all Image records for a Name with a given id. View
chromosomeCounts(id, reqOptions) Name/{id}ChromosomeCounts id (number | required) Return all chromosome count records for a Name with a given id. View
higherTaxa(id, reqOptions) Name/{id}HigherTaxa id (number | required) Return all higher taxa for a Name with a given id. View
specimens(id, reqOptions) Name/{id}Specimens id (number | required) Return all specimens for a Name with a given id. View
listNames(qs, reqOptions) Name/List View json To return Names. View

Search parameters

// Search parameters
{
    nameid?: string;
    name?: string;
    commonname?: string;
    family?: string;
    orderby?: number;
    sortorder?: string;
    pagesize?: number;
    startrow?: number;
    type?: "wildcard" | "exact"; // default wildcard
}

List Names parameters

// List Names parameters
{
    startid: number;
    pagesize?: number;
}

Sample

GET References from a JSON REST API

import { TropicosApi } from '@vicentecalfo/tropicos-api-wrapper';

const tropicosApi = new TropicosApi({
    apiKey: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
    format: 'json'
});

// http://services.tropicos.org/help?method=GetNameReferencesXml
tropicosApi
	.references(
        25509881, // The Name Id (required)
        { json: true } // Automatically parses the JSON string in the response
    )
	.subscribe((data) => console.log(data.body), (error) => console.log(error));

Using Promises

import { TropicosApi } from '@vicentecalfo/tropicos-api-wrapper';

const tropicosApi = new TropicosApi({
    apiKey: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
    format: 'json'
});

// http://services.tropicos.org/help?method=SearchNameXml
tropicosApi
	.search({ name: 'poa annua' }, { json: true })
	.toPromise()
	.then((data) => console.log(data.body))
	.catch((error) => console.log(error));

Documentation

Can't find what you need in the readme? Check the official Tropicos Web Service documentation page.

Package Sidebar

Install

npm i @vicentecalfo/tropicos-api-wrapper

Weekly Downloads

2

Version

1.2.1

License

MIT

Unpacked Size

36.1 kB

Total Files

9

Last publish

Collaborators

  • vicentecalfo