@pinport/client
v1.1.0
Published
SDK for pinport API
Downloads
45
Readme
PinportClient
PinportClient is a TypeScript client for interacting with the Pinport API. It allows for creating and retrieving pins on the Pinport platform.
Installation
To install the PinportClient, use the following command:
npm install @pinport/client
Usage
Importing and Initializing
To use the PinportClient, you need to import it and initialize an instance with your API URL and key:
import { PinportClient } from "@pinport/client";
const pinport = new PinportClient("<api_url>", "<private_key> or <public_key>");
Creating Pins
You can create multiple pins by sending a POST request to the Pinport API. The createPins method takes an array of pin objects to be created.
const pinsToCreate: Pinport.CreatePin[] = [
{
meta_id: "meta1",
position: { x: 1, y: 2, z: 3 },
offset: { x: 0, y: 0, z: 0 },
html: "<div>Pin 1</div>",
opacity: 0.8,
enableLine: true,
alert: false,
icon: "icon1",
},
{
meta_id: "meta2",
position: { x: 4, y: 5, z: 6 },
offset: { x: 1, y: 1, z: 1 },
html: "<div>Pin 2</div>",
opacity: 0.9,
enableLine: false,
alert: true,
icon: "icon2",
},
];
pinport
.createPins(pinsToCreate)
.then((response) => {
console.log("Created pins:", response);
})
.catch((error: Pinport.ErrorResponse) => {
console.error("Error creating pins:", error);
});
Retrieving Pins
You can retrieve all pins by sending a GET request to the Pinport API. The getPins method takes a meta_id
for searching pins.
pinport.getPins('meta1').then((response) => {
console.log("Retrieved pins:", response);
}).catch((error: Pinport.ErrorResponse) => {
console.error("Error retrieving pins:", error);
});
Updating Pins
You can update existing pins by sending a PUT request to the Pinport API. The updatePins method takes an array of pin objects with updated properties.
const pinsToUpdate: Pinport.UpdatePin[] = [
{
id: "pin1",
position: { x: 2, y: 3, z: 4 },
offset: { x: 0, y: 0, z: 0 },
html: "<div>Updated Pin 1</div>",
opacity: 0.7,
enableLine: true,
alert: false,
icon: "icon1",
},
{
id: "pin2",
position: { x: 5, y: 6, z: 7 },
offset: { x: 1, y: 1, z: 1 },
html: "<div>Updated Pin 2</div>",
opacity: 0.9,
enableLine: false,
alert: true,
icon: "icon2",
},
];
pinport
.updatePins(pinsToUpdate)
.then((response) => {
console.log("Updated pins:", response);
})
.catch((error: Pinport.ErrorResponse) => {
console.error("Error updating pins:", error);
});
Deleting Pins
You can delete pins by sending a DELETE request to the Pinport API. The deletePins method takes an array of pin IDs to be deleted.
const pinIdsToDelete: string[] = ["pin1", "pin2"];
pinport
.deletePins(pinIdsToDelete)
.then((response) => {
console.log("Deleted pins:", response);
})
.catch((error: Pinport.ErrorResponse) => {
console.error("Error deleting pins:", error);
});
Getting Metadata
You can retrieve metadata by sending a GET request to the Pinport API. The getMetadata method takes a meta_id
for retrieving metadata.
pinport.getMetadata('meta1').then((response) => {
console.log("Retrieved metadata:", response);
}).catch((error: Pinport.ErrorResponse) => {
console.error("Error retrieving metadata:", error);
});
Extensions
PinportClient supports extensions that can be used to extend its functionality. Extensions are initialized during the PinportClient instance creation.
import { PinportMatterporExtension } from "@pinport/matterport";
const pinport = new PinportClient(
'<api_url>',
'<private_key>',
{ extensions: [PinportMatterporExtension] },
);
// now you can access
const pinportMatterport = pinport.extensions.matterport