1
2
POST https://tuoserver.com/api/verify-caller
Content-Type: application/json
{
"number": "+393331234567",
"timestamp": "2025-12-13T10:30:00Z",
"assistantId": "ast_abc123",
"callId": "call_xyz789"
}
3
{
"enable": true,
"callerInfo": {
"name": "Mario",
"surname": "Rossi",
"eta": 35,
"custom_field_1": "Cliente VIP dal 2020",
"custom_field_2": "Ultima fattura: €1.240 (pagata)"
}
}
4
System Prompt originale:
"Sei un assistente telefonico per Azienda XYZ..."
Diventa:
"Sei un assistente telefonico per Azienda XYZ...
INFORMAZIONI CHIAMANTE:
- Nome: Mario
- Cognome: Rossi
- Età: 35
- Cliente VIP dal 2020
- Ultima fattura: €1.240 (pagata)"
5
const express = require('express');
const app = express();
app.use(express.json());
// Database fittizio
const customers = {
'+393331234567': {
name: 'Mario',
surname: 'Rossi',
tier: 'VIP',
lastOrder: 'ORD-12345',
openTickets: 1
}
};
// Blacklist
const blacklist = ['+393339999999'];
app.post('/api/verify-caller', async (req, res) => {
const { number, callId } = req.body;
console.log(`Chiamata ricevuta da ${number}, callId: ${callId}`);
// Controllo blacklist
if (blacklist.includes(number)) {
console.log('Numero in blacklist, blocco chiamata');
return res.json({ enable: false });
}
// Lookup cliente
const customer = customers[number];
if (!customer) {
console.log('Cliente non riconosciuto, procedo senza dati');
return res.json({
enable: true,
callerInfo: { customerType: 'new' }
});
}
// Cliente riconosciuto, inietto dati
console.log(`Cliente riconosciuto: ${customer.name} ${customer.surname}`);
return res.json({
enable: true,
callerInfo: {
name: customer.name,
surname: customer.surname,
tier: customer.tier,
lastOrder: customer.lastOrder,
openTickets: customer.openTickets,
greeting: `Benvenuto ${customer.name}, cliente ${customer.tier}`
}
});
});
app.listen(3000, () => {
console.log('Webhook server running on port 3000');
});