@leopiccionia/numista-sdk / Exports / NumistaConnector
Class: NumistaConnector
The main entrypoint for Numista SDK
Table of contents
Constructors
Methods
- addIssue
- addItem
- addType
- catalogues
- code
- editItem
- issuers
- issues
- item
- myBanknotes
- myCoins
- myCollections
- myExonumia
- myItems
- paginatedSearch
- prices
- removeItem
- search
- searchBanknotes
- searchByImage
- searchCoins
- searchExonumia
- type
- useAuthorizationCode
- useUserCredentials
- user
- userBanknotes
- userCoins
- userCollections
- userExonumia
- userItems
Constructors
constructor
• new NumistaConnector(apiKey, clientId, config?)
Parameters
| Name | Type | Description |
|---|---|---|
apiKey |
string |
API key |
clientId |
string |
Client ID |
config |
Partial<ConnectorConfig> |
Miscellaneous configuration |
Methods
addIssue
▸ addIssue(typeId, data, params?): Promise<Issue>
Add a issue
It requires a specific permission associated to your API key
Parameters
| Name | Type | Description |
|---|---|---|
typeId |
number |
ID of the coin to which the issue is added |
data |
IssueUpdate |
Data related to the coin issue to add to the catalogue |
params |
Partial<BaseRequest> |
Miscellaneous params |
Returns
Promise<Issue>
The coin issue that has been added to the catalogue
addItem
▸ addItem(userId, data): Promise<CollectedItem>
Add an item in the user collection
This functionality requires the OAuth 2.0 authentication with the scope "edit_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
data |
AddItemRequest |
Data related to the item to be added to the collection |
Returns
Promise<CollectedItem>
The item
addType
▸ addType(data, params?): Promise<Type>
This endpoint allows to add a type to the catalogue
It requires a specific permission associated to your API key. After adding a coin, you are required to add at least one issue
Parameters
| Name | Type | Description |
|---|---|---|
data |
TypeUpdate |
Data related to the coin to add to the catalogue |
params |
Partial<BaseRequest> |
Miscellaneous params |
Returns
Promise<Type>
The coin that has been added to the catalogue
catalogues
▸ catalogues(): Promise<CataloguesResponse>
Retrieve the list of catalogues used for coin references
Returns
Promise<CataloguesResponse>
code
▸ code(catalogue, number, params): Promise<SearchResponse>
Search the catalogue for types by catalogue code
Parameters
| Name | Type | Description |
|---|---|---|
catalogue |
number | CatalogueCode |
ID of a reference catalogue |
number |
string |
Number of the searched typed in a reference catalogue |
params |
Partial<Omit<SearchRequest, "number" | "catalogue">> |
Miscellaneous params |
Returns
Promise<SearchResponse>
editItem
▸ editItem(userId, itemId, data): Promise<CollectedItem>
Edit an item in a user’s collection
This functionality requires the OAuth 2.0 authentication with the scope "edit_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
itemId |
number |
ID of the collected item |
data |
EditItemRequest |
Item data which need to be edited. All fields are optional. Only the fields which are present will be updated |
Returns
Promise<CollectedItem>
The updated item
issuers
▸ issuers(params?): Promise<IssuersResponse>
Retrieve the list of issuing countries and territories
Parameters
| Name | Type | Description |
|---|---|---|
params |
Partial<BaseRequest> |
Miscellaneous params |
Returns
Promise<IssuersResponse>
issues
▸ issues(typeId, params?): Promise<Issue[]>
Find the issues of a type
Parameters
| Name | Type | Description |
|---|---|---|
typeId |
number |
ID of the type to fetch the issues from |
params |
Partial<BaseRequest> |
Miscellaneous params |
Returns
Promise<Issue[]>
item
▸ item(userId, itemId): Promise<CollectedItem>
Get an item in a user’s collection
This functionality requires the OAuth 2.0 authentication with the scope "view_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
itemId |
number |
ID of the collected item |
Returns
Promise<CollectedItem>
myBanknotes
▸ myBanknotes(params?): Promise<CollectedItemsResponse>
Get the banknotes owned by the user
Parameters
| Name | Type | Description |
|---|---|---|
params |
Partial<Omit<CollectedItemsRequest, "category">> |
Miscellaneous params |
Returns
Promise<CollectedItemsResponse>
myCoins
▸ myCoins(params?): Promise<CollectedItemsResponse>
Get the coins owned by the user
Parameters
| Name | Type | Description |
|---|---|---|
params |
Partial<Omit<CollectedItemsRequest, "category">> |
Miscellaneous params |
Returns
Promise<CollectedItemsResponse>
myCollections
▸ myCollections(params?): Promise<CollectionsResponse>
Get the list of collections of a user
Parameters
| Name | Type | Description |
|---|---|---|
params |
Partial<CollectionsRequest> |
Miscellaneous params |
Returns
Promise<CollectionsResponse>
myExonumia
▸ myExonumia(params?): Promise<CollectedItemsResponse>
Get the exonumia pieces owned by the user
Parameters
| Name | Type | Description |
|---|---|---|
params |
Partial<Omit<CollectedItemsRequest, "category">> |
Miscellaneous params |
Returns
Promise<CollectedItemsResponse>
myItems
▸ myItems(params?): Promise<CollectedItemsResponse>
Get the items (coins, banknotes, pieces of exonumia) owned by the user
Parameters
| Name | Type | Description |
|---|---|---|
params |
Partial<CollectedItemsRequest> |
Miscellaneous params |
Returns
Promise<CollectedItemsResponse>
paginatedSearch
▸ paginatedSearch(query, params?): Promise<PaginatedResult<SearchRequest, SearchResponse>>
Search the catalogue for coin, banknote and exonumia types (with pagination)
Parameters
| Name | Type | Description |
|---|---|---|
query |
string |
Search query |
params |
Partial<Omit<SearchRequest, "page" | "q">> |
Miscellaneous params |
Returns
Promise<PaginatedResult<SearchRequest, SearchResponse>>
prices
▸ prices(typeId, issueId, params?): Promise<PricesResponse>
Get estimates for the price of an issue of a coin
Parameters
| Name | Type | Description |
|---|---|---|
typeId |
number |
ID of the type |
issueId |
number |
ID of the issue |
params |
Partial<PricesRequest> |
Miscellaneous params |
Returns
Promise<PricesResponse>
removeItem
▸ removeItem(userId, itemId): Promise<void>
Delete an item from a user’s collection
This functionality requires the OAuth 2.0 authentication with the scope "edit_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
itemId |
number |
ID of the collected item |
Returns
Promise<void>
search
▸ search(query, params?): Promise<SearchResponse>
Search the catalogue for coin, banknote and exonumia types
Parameters
| Name | Type | Description |
|---|---|---|
query |
string |
Search query |
params |
Partial<Omit<SearchRequest, "q">> |
Miscellaneous params |
Returns
Promise<SearchResponse>
searchBanknotes
▸ searchBanknotes(query, params?): Promise<SearchResponse>
Search the catalogue for banknotes
Parameters
| Name | Type | Description |
|---|---|---|
query |
string |
Search query |
params |
Partial<Omit<SearchRequest, "q" | "category">> |
Miscellaneous params |
Returns
Promise<SearchResponse>
searchByImage
▸ searchByImage(data, params?): Promise<SearchByImageResponse>
Find the coin, banknote, and exonumia types that match the input image(s)
Search by image is a paid Numista feature. You will be charged monthly based on your usage. Additionally, your app is required to show the Numista N# reference when displaying the search results. Read Numista documentation for further details
Parameters
| Name | Type | Description |
|---|---|---|
data |
SearchByImageRequest |
Search params |
params |
Partial<BaseRequest> |
Miscellaneous params |
Returns
Promise<SearchByImageResponse>
searchCoins
▸ searchCoins(query, params?): Promise<SearchResponse>
Search the catalogue for coins
Parameters
| Name | Type | Description |
|---|---|---|
query |
string |
Search query |
params |
Partial<Omit<SearchRequest, "q" | "category">> |
Miscellaneous params |
Returns
Promise<SearchResponse>
searchExonumia
▸ searchExonumia(query, params?): Promise<SearchResponse>
Search the catalogue for exonumia pieces
Parameters
| Name | Type | Description |
|---|---|---|
query |
string |
Search query |
params |
Partial<Omit<SearchRequest, "q" | "category">> |
Miscellaneous params |
Returns
Promise<SearchResponse>
type
▸ type(typeId, params?): Promise<Type>
Find a type by ID
Parameters
| Name | Type | Description |
|---|---|---|
typeId |
number |
ID of the type to fetch |
params |
Partial<BaseRequest> |
Miscellaneous params |
Returns
Promise<Type>
useAuthorizationCode
▸ useAuthorizationCode(redirectUri, scope, params?): OAuthConnector
Get OAuth access token via user credentials
Parameters
| Name | Type | Description |
|---|---|---|
redirectUri |
string |
URI to redirect back the user to your application after they authenticate |
scope |
Scope[] |
List of permissions you are requesting (e.g. ‘view_collection’) |
params |
Partial<BaseRequest> |
Miscellaneous params |
Returns
OAuth adapter using authorization code
useUserCredentials
▸ useUserCredentials(scope): Promise<number>
Get OAuth access token via user credentials
Parameters
| Name | Type | Description |
|---|---|---|
scope |
Scope[] |
List of permissions |
Returns
Promise<number>
ID of the user who authenticated
user
▸ user(userId, params?): Promise<UserResponse>
Get information about a user
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
params |
Partial<BaseRequest> |
Miscellaneous params |
Returns
Promise<UserResponse>
userBanknotes
▸ userBanknotes(userId, params?): Promise<CollectedItemsResponse>
Get the banknotes owned by a user
This functionality requires the OAuth 2.0 authentication with the scope "view_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
params |
Partial<Omit<CollectedItemsRequest, "category">> |
Miscellaneous params |
Returns
Promise<CollectedItemsResponse>
userCoins
▸ userCoins(userId, params?): Promise<CollectedItemsResponse>
Get the coins owned by a user
This functionality requires the OAuth 2.0 authentication with the scope "view_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
params |
Partial<Omit<CollectedItemsRequest, "category">> |
Miscellaneous params |
Returns
Promise<CollectedItemsResponse>
userCollections
▸ userCollections(userId, params?): Promise<CollectionsResponse>
Get the list of collections of a user
This functionality requires the OAuth 2.0 authentication with the scope "view_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
params |
Partial<CollectionsRequest> |
Miscellaneous params |
Returns
Promise<CollectionsResponse>
userExonumia
▸ userExonumia(userId, params?): Promise<CollectedItemsResponse>
Get the exonumia pieces owned by a user
This functionality requires the OAuth 2.0 authentication with the scope "view_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
params |
Partial<Omit<CollectedItemsRequest, "category">> |
Miscellaneous params |
Returns
Promise<CollectedItemsResponse>
userItems
▸ userItems(userId, params?): Promise<CollectedItemsResponse>
Get the items (coin, banknotes, pieces of exonumia) owned by a user
This functionality requires the OAuth 2.0 authentication with the scope "view_collection"
Parameters
| Name | Type | Description |
|---|---|---|
userId |
number |
ID of the user |
params |
Partial<CollectedItemsRequest> |
Miscellaneous params |
Returns
Promise<CollectedItemsResponse>