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



🎯

🛡️





{
  "number": "string",          // Numero chiamante in formato E.164
  "timestamp": "string",       // ISO 8601 datetime
  "assistantId": "string",     // ID assistente AI4CALL
  "callId": "string"           // ID univoco chiamata
}

{
  "enable": true | false,      // Se false, chiamata viene terminata
  "callerInfo": {              // Oggetto con dati custom (opzionale)
    "name": "string",
    "surname": "string",
    "eta": number,
    "custom_field_1": "any",
    "custom_field_2": "any",
    // ... campi illimitati
  }
}



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');
});


🔒

📊

🛡️


Quelques utilisateurs d'ai4call