Caso d'Uso di Integrazione

Place Calls by Order Number Without Seeing the Customer's Phone Number

Learn how to let couriers call customers using only an order code, without ever accessing their phone number.

Speed Dial

Overview

In delivery and logistics, a courier often needs to call a customer — but sharing customer phone numbers with field staff raises privacy and data protection concerns. The customer’s number should never leave your system.

This guide shows how to use Speed Dial with a webservice lookup to bridge calls using only an order number. The courier dials a short extension, enters the order code, and Hipcall connects them to the customer automatically — without the courier ever seeing the phone number.

How It Works

The courier dials a Speed Dial extension and enters the order number when prompted. Hipcall sends the digits to your server, which looks up the customer’s phone number and returns it. Hipcall places the call on behalf of the courier — the number stays hidden end to end.

Architecture

flowchart TD
    A[Courier dials Speed Dial ext. 72] --> B[Hipcall prompts for order number]
    B --> C[Courier enters digits e.g. 1234]
    C --> D[Hipcall POSTs digits to your server]
    D --> E{Order found?}
    E -- Yes --> F[Return customer phone number]
    E -- No --> G[Return error]
    F --> H[Hipcall bridges the call\ncourier ↔ customer]

Step 1: Configure Speed Dial in Hipcall

  1. Go to Account > Integrations > Speed Dial in your Hipcall dashboard.
  2. Create a new Speed Dial entry with the following settings:
FieldValue
Extension72 (or any free extension)
Announcement”Please enter the order number.”
Webservice URLhttps://your-server.example.com/lookup

Local development: Use ngrok to expose your local server. Run ngrok http 5010 and use the generated URL.

Step 2: Receive the Lookup Request

When the courier finishes entering digits, Hipcall POSTs the following payload to your endpoint:

{
  "number": "1234",
  "user_id": 3508,
  "uuid": "06787f4b-4873-433b-a000-8fd99ff24ccf",
  "speed_dial_id": 5,
  "timestamp": 1774611216
}

The number field contains the DTMF digits the courier entered — this is your order code. The other fields (user_id, speed_dial_id) identify which agent and Speed Dial rule triggered the request.

Step 3: Look Up the Order and Return the Destination

Query your database using the order code. If found, respond with the customer’s phone number in the destination field. Hipcall immediately bridges the call to that number.

@app.route('/lookup', methods=['POST'])
def lookup():
    data = request.get_json()
    code = str(data.get('number', '')).strip()

    row = db.execute(
        'SELECT phone FROM orders WHERE order_code = ?', (code,)
    ).fetchone()

    if row:
        return jsonify({"destination": row['phone']}), 200
    else:
        return jsonify({"error": "Order not found"}), 404

Successful response:

{ "destination": "905060508169" }

Return the phone number in E.164 format (digits only, no + prefix). Hipcall dials this number and connects it to the courier’s active call.

Not found response:

{ "error": "Order not found" }

If the order code does not exist, Hipcall plays an error message to the courier.

Tools Used

ToolPurpose
Speed DialPrompts the courier for digits and calls your lookup endpoint

Next Steps

Chiedi alla Community

Hai domande o vuoi condividere la tua integrazione? Partecipa alla discussione.

Strumenti e API

Sei modi per estendere e integrare Hipcall nei tuoi sistemi.

REST API

Accedi ai tuoi dati Hipcall in modo programmatico. Gestisci i derivati, avvia chiamate, recupera i registri delle chiamate e altro ancora tramite un'API HTTP RESTful con autenticazione OAuth 2.0 e chiave API.

Webhook

Ricevi notifiche HTTP in tempo reale per oltre 13 tipi di eventi: chiamate in entrata, chiamate risposte, richieste di riagganciare, caselle vocali e altro ancora. Invia i dati delle chiamate a qualsiasi sistema istantaneamente.

Instradamento Intelligente Basato su Servizio Web

Instradi le chiamate in entrata dinamicamente utilizzando la propria logica aziendale. Hipcall chiama il tuo servizio web al momento dello squillo e instrada la chiamata in base alla tua risposta JSON.

Chiamata Rapida

Attiva chiamate in uscita in modo programmatico. Avvia una chiamata dall'interno di un agente a qualsiasi numero tramite una singola richiesta API — ottimo per le integrazioni click-to-call.

Gestione Esterna

Gestisci il tuo account Hipcall da sistemi esterni. Fornisci utenti, aggiorna i flussi di chiamata e controlla le impostazioni senza accedere alla dashboard.

Insight Card

Visualizza il contesto del chiamante in tempo reale sullo schermo dell'agente nel momento in cui una chiamata si connette. Invia qualsiasi dato — nome, azienda, saldo del conto — dal tuo CRM o ERP tramite API.