WebSockets
Emite una contraseña de un solo uso (OTP) de corta duración que autentica una conexión WebSocket posterior para la cuenta especificada. La respuesta incluye el OTP y una URL de WebSocket lista para usar con el OTP adjunto como parámetro de consulta. El OTP es válido durante 120 segundos y solo puede utilizarse una vez, por lo que abra la conexión WebSocket inmediatamente después de llamar a este endpoint.
Endpoint
/trading/v1/options/accounts/{accountId}/otpURL Base: https://api.derivws.com
Códigos de Estado
Respuestas de Error
{
"errors": [
{
"status": 400,
"code": "ValidationError",
"message": "Invalid account ID format"
}
],
"meta": {
"endpoint": "/accounts/INVALID/otp",
"method": "POST",
"timing": 12
}
}{
"errors": [
{
"status": 401,
"code": "Unauthorized",
"message": "Invalid or missing authentication credentials"
}
],
"meta": {
"endpoint": "/accounts/DOT90004580/otp",
"method": "POST",
"timing": 45
}
}{
"errors": [
{
"status": 500,
"code": "InternalServerError",
"message": "Failed to generate OTP"
}
],
"meta": {
"endpoint": "/accounts/DOT90004580/otp",
"method": "POST",
"timing": 234
}
}Requiere autenticación
Deriv-App-ID para identificar su aplicación. Alcance OAuth2: tradeAcerca de WebSockets
El endpoint POST /trading/v1/options/accounts/{accountId}/otp: Emite una contraseña de un solo uso (OTP) de corta duración que autentica una conexión WebSocket posterior para la cuenta especificada. La respuesta incluye el OTP y una URL de WebSocket lista para usar con el OTP adjunto como parámetro de consulta. El OTP es válido durante 120 segundos y solo puede utilizarse una vez, por lo que abra la conexión WebSocket inmediatamente después de llamar a este endpoint.
Paso 1: Obtenga su URL WebSocket
Llame al endpoint OTP con su token Bearer. La respuesta contiene una URL WebSocket lista para usar que ya incluye la contraseña de un solo uso como parámetro de consulta.
// Request OTP — returns a WebSocket URL
const response = await fetch(
'https://api.derivws.com/trading/v1/options/accounts/DOT90004580/otp',
{
method: 'POST',
headers: {
'Deriv-App-ID': 'YOUR_APP_ID',
'Authorization': 'Bearer YOUR_AUTH_TOKEN',
},
}
);
const { data } = await response.json();
// data.url === "wss://api.derivws.com/trading/v1/options/ws/demo?otp=abc123xyz789"Paso 2: Conectarse al WebSocket
Use la URL devuelta en el paso anterior directamente como su endpoint WebSocket. No se necesitan encabezados de autenticación adicionales — el OTP en la URL maneja la autenticación.
// Connect using the URL from the OTP response
const ws = new WebSocket(data.url);
ws.onopen = () => {
console.log('Connected to Options trading WebSocket');
};
ws.onmessage = (event) => {
const message = JSON.parse(event.data);
console.log('Received:', message);
};
ws.onerror = (error) => {
console.error('WebSocket error:', error);
};Vida útil del OTP
Los tokens OTP tienen una vida corta y deben usarse inmediatamente después de la generación. Si el token expira antes de conectarse, solicite uno nuevo llamando al endpoint OTP nuevamente.
WebSocket público (sin autenticación)
Para datos de mercado públicos de solo lectura, puede conectarse a wss://api.derivws.com/trading/v1/options/ws/public directamente sin ninguna autenticación ni OTP.
¿Alguna otra pregunta? Póngase en contacto