Tesoro API en webhooks complete developer guide
Integreer Tesoro CRM met je eigen applicaties via REST API en webhooks. Automatiseer workflows, bouw custom integraties en synchroniseer data real-time.
Integreer Tesoro CRM met je eigen applicaties via REST API en webhooks. Automatiseer workflows, bouw custom integraties en synchroniseer data real-time.
const axios = require('axios');
const API_KEY = process.env.TESORO_API_KEY;
const BASE_URL = 'https://api.tesoro.estate/v1';
// Create contact
async function createContact(contactData) {
try {
const response = await axios.post(
`${BASE_URL}/contacts`,
contactData,
{
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
console.error('Error creating contact:', error.response?.data);
throw error;
}
}
// Usage
const newContact = await createContact({
firstName: 'Maria',
lastName: 'Garcia',
email: 'maria@example.com',
phone: '+34612345678',
type: 'buyer'
});import requests
import os
API_KEY = os.getenv('TESORO_API_KEY')
BASE_URL = 'https://api.tesoro.estate/v1'
def create_contact(contact_data):
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
response = requests.post(
f'{BASE_URL}/contacts',
json=contact_data,
headers=headers
)
response.raise_for_status()
return response.json()
# Usage
new_contact = create_contact({
'firstName': 'Maria',
'lastName': 'Garcia',
'email': 'maria@example.com',
'phone': '+34612345678',
'type': 'buyer'
})const express = require('express');
const crypto = require('crypto');
const app = express();
app.use(express.json());
const WEBHOOK_SECRET = process.env.TESORO_WEBHOOK_SECRET;
function verifySignature(payload, signature) {
const hash = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(JSON.stringify(payload))
.digest('hex');
return signature === `sha256=${hash}`;
}
app.post('/webhooks/tesoro', (req, res) => {
const signature = req.headers['x-tesoro-signature'];
if (!verifySignature(req.body, signature)) {
return res.status(401).send('Invalid signature');
}
const { event, data } = req.body;
switch (event) {
case 'contact.created':
console.log('New contact:', data);
// Your custom logic here
break;
case 'deal.won':
console.log('Deal won:', data);
// Trigger celebration automation
break;
default:
console.log('Unhandled event:', event);
}
res.status(200).send('OK');
});
app.listen(3000);