Caso de Uso de Integración

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

Preguntar a la Comunidad

¿Tienes preguntas o quieres compartir tu integración? Únete a la discusión.

Herramientas y APIs

Seis formas de extender e integrar Hipcall en tus sistemas.

REST API

Accede a tus datos de Hipcall de forma programática. Gestiona extensiones, inicia llamadas, recupera registros de llamadas y más a través de una API HTTP RESTful con autenticación OAuth 2.0 y clave API.

Webhooks

Recibe notificaciones HTTP en tiempo real para más de 13 tipos de eventos: llamadas entrantes, llamadas contestadas, colgadas, buzones de voz y más. Envía datos de llamadas a cualquier sistema al instante.

Enrutamiento Inteligente Basado en Servicio Web

Enruta las llamadas entrantes dinámicamente usando tu propia lógica de negocio. Hipcall llama a tu servicio web en el momento del timbre y enruta la llamada según tu respuesta JSON.

Llamada Rápida

Activa llamadas salientes de forma programática. Inicia una llamada desde la extensión de un agente a cualquier número a través de una sola solicitud API — ideal para integraciones de clic para llamar.

Gestión Externa

Gestiona tu cuenta de Hipcall desde sistemas externos. Aprovisiona usuarios, actualiza flujos de llamadas y controla la configuración sin iniciar sesión en el panel.

Insight Card

Muestra el contexto del llamante en tiempo real en la pantalla del agente en el momento en que se conecta una llamada. Envía cualquier dato — nombre, empresa, saldo de cuenta — desde tu CRM o ERP a través de la API.