WebSockets
Emite uma palavra-passe de utilização única (OTP) de curta duração que autentica uma ligação WebSocket subsequente para a conta especificada. A resposta inclui a OTP e uma URL WebSocket pronta a utilizar com a OTP anexada como parâmetro de consulta. A OTP é válida durante 120 segundos e só pode ser utilizada uma vez, pelo que deve abrir a ligação WebSocket imediatamente após chamar este endpoint.
Endpoint
/trading/v1/options/accounts/{accountId}/otpURL Base: https://api.derivws.com
Códigos de Estado
Respostas de Erro
{
"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
}
}Autenticação Necessária
Deriv-App-ID para identificar a sua aplicação. Âmbito OAuth2: tradeAcerca de WebSockets
O endpoint POST /trading/v1/options/accounts/{accountId}/otp: Emite uma palavra-passe de utilização única (OTP) de curta duração que autentica uma ligação WebSocket subsequente para a conta especificada. A resposta inclui a OTP e uma URL WebSocket pronta a utilizar com a OTP anexada como parâmetro de consulta. A OTP é válida durante 120 segundos e só pode ser utilizada uma vez, pelo que deve abrir a ligação WebSocket imediatamente após chamar este endpoint.
Passo 1: Obter o seu URL WebSocket
Chame o endpoint OTP com o seu token Bearer. A resposta contém um URL WebSocket pronto a usar que já inclui a palavra-passe de utilização única 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"Passo 2: Ligar ao WebSocket
Use o URL devolvido no passo anterior diretamente como seu endpoint WebSocket. Não são necessários cabeçalhos de autenticação adicionais — o OTP no URL trata da autenticação.
// 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);
};Duração de OTP
Os tokens OTP têm curta duração e devem ser usados imediatamente após a geração. Se o token expirar antes de se ligar, solicite um novo chamando o endpoint OTP novamente.
WebSocket Público (sem autenticação)
Para dados de mercado públicos apenas de leitura, pode ligar-se a wss://api.derivws.com/trading/v1/options/ws/public diretamente sem qualquer autenticação ou OTP.
Alguma outra questão? Entrar em contacto