This wrapper allows you to call methods for gathering data from the Tropicos web service (API).
What is Tropicos? Click here.
Install the package with:
npm install @vicentecalfo/tropicos-api-wrapper --save
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)
);
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
{
nameid?: string;
name?: string;
commonname?: string;
family?: string;
orderby?: number;
sortorder?: string;
pagesize?: number;
startrow?: number;
type?: "wildcard" | "exact"; // default wildcard
}
// List Names parameters
{
startid: number;
pagesize?: number;
}
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));
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));
Can't find what you need in the readme? Check the official Tropicos Web Service documentation page.