This guide will walk you through creating a new subproject for a Sinch project using Node.js.
Note
Before you can get started, you need the following already set up:
- All Subproject API configuration settings.
- Node.js and a familiarity with how to create a new app.
Once you setup your free Sinch account, create a new node app with npm.
npm initAccept the defaults for the application.
Add the fetch package with npm to generate the necessary dependencies.
npm install node-fetchCreate a new file named
index.mjsin the project and paste the provided code into the file.
index.mjs
import fetch from 'node-fetch';
const projectId = 'YOUR_projectId'; // Your parent project ID
const displayName = 'My Customer Subproject'; // Display name for the subproject
const labels = {
'customer': 'Acme Corp',
'region': 'US-Northwest',
'contract': 'enterprise'
};
const keyId = 'YOUR_Key_ID'; // Your Key ID from Sinch Build Dashboard
const keySecret = 'YOUR_Key_Secret'; // Your Key Secret from Sinch Build Dashboard
const createData = {
displayName: displayName,
labels: labels
};
async function createSubproject() {
try {
const response = await fetch(
`https://subproject.api.sinch.com/v1alpha1/projects/${projectId}/subprojects`,
{
method: 'POST',
headers: {
'Authorization': `Basic ${Buffer.from(`${keyId}:${keySecret}`).toString('base64')}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(createData)
}
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log('Subproject created successfully:', data);
return data;
} catch (error) {
console.error('Error creating subproject:', error);
throw error;
}
}
// Execute the function
createSubproject();Now, we'll customize and run the code that will create a subproject under your specified Sinch project ID.
Assign your values to the following parameters:
Parameter Your value YOUR_projectIdThe corresponding project ID that you would like to create a subproject under. Your projectIdcan be found in the Sinch Build Dashboard under Settings, then Access Keys.displayNameThe display name is a name given to represent this particular subproject. In a resale setting, this would be your customer's business name. labelsLabels contain a series of key:value pairs that are completely customizable. You can assign your own key and value. This is a great way to keep metadata with the subproject. YOUR_Key_IDYour Key ID from the Sinch Build Dashboard under Settings, then Access Keys. YOUR_Key_SecretYour Key Secret from the Sinch Build Dashboard under Settings, then Access Keys. Save the file.
Execute the code and create your first subproject.
Run the following command:
node index.mjs
Check out our full API reference for more subproject options.