Deriv API
Documentación

Historial de actualización de contratos

TradingRequiere autenticación

Recupera el historial y el estado de actualización más reciente de un contrato, incluyendo todos los cambios realizados en los parámetros del contrato como valores de stop loss y take profit.

Comparación rápida

AspectoLegacy APINew APIAcción
Endpointcontract_update_historycontract_update_historyNinguno
Requiere autenticaciónNinguno
Parámetro loginidOpcionalEliminadoEliminar de las solicitudes
Respuesta contract_update_historyOpcionalObligatorioActualizar manejo de respuesta

Cambios importantes

1. Parámetro LoginID eliminado

El parámetro loginid utilizado para escenarios de autorización de múltiples tokens ha sido eliminado. El contexto de la cuenta ahora debe gestionarse a través del flujo de autorización.

2. Campo de respuesta contract_update_history ahora requerido

El array contract_update_history en la respuesta ahora es un campo obligatorio.

Cambio requerido: Update response handling code. You can now rely on this field being present without null checks for the array itself.

3. Los elementos del array de respuesta tienen campos obligatorios

Cada elemento en el array contract_update_history ahora requiere cuatro campos: display_name, order_amount, order_date, y order_type.

Cambio requerido: You can simplify your code by removing defensive null checks for these now-required fields.

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "contract_update_history": 1,
  "contract_id": 123,
  "limit": 500,  // Optional: defaults to 500, min 1, max 999
  "loginid": "CR123456"  // ❌ Removed in New
}
New APIejemplo de solicitud
{
  "contract_update_history": 1,
  "contract_id": 123,
  "limit": 500
}

Estructura de respuesta

Legacy APIejemplo de respuesta
// contract_update_history: OPTIONAL
// All array item fields: OPTIONAL
{
  "contract_update_history": [
    {
      "display_name": "Stop Loss",
      "order_amount": "10.50",
      "order_date": 1699564800,
      "order_type": "stop_loss",
      "value": "1234.56"
    }
  ],
  "msg_type": "contract_update_history"
}
New APIejemplo de respuesta
// contract_update_history: ✅ REQUIRED
// Required fields: display_name, order_amount, order_date, order_type
{
  "contract_update_history": [
    {
      "display_name": "Stop Loss",
      "order_amount": "10.50",
      "order_date": 1699564800,
      "order_type": "stop_loss",
      "value": "1234.56"
    }
  ],
  "msg_type": "contract_update_history"
}

Ejemplos de código

async function getContractUpdateHistory(contractId) {
  const request = {
    contract_update_history: 1,
    contract_id: contractId,
    limit: 500,
    loginid: "CR123456"
  };

  ws.send(JSON.stringify(request));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === "contract_update_history") {
      const updates = response.contract_update_history;
      updates?.forEach(update => {
        console.log(update.display_name + ": " + update.order_amount);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.