Skip to content

Wait for synchronization#

About#

Waits for server-side terminal state synchronization to complete.

For more information see AsyncApi documentation

Request#

In order to be notified when server-side terminal state synchronization completes, your application needs to emit request event with the following payload.

Name Type Required Description
type string Yes request type, must be waitSynchronized if you want to wait for a server-side synchronization process to complete
accountId string Yes MetaTrader account id. You can retrieve account id from Web application after you add your MetaTrader account to our platform. The account id can also be obtained via Provisioning API
requestId string Yes request id which your application must supply. Request id must be unique during an API connection
application string MetaApi application id. Default is MetaApi
applicationPattern string MetaApi application id regexp pattern. Default is .*
timeoutInSeconds number Timeout in seconds, default is 300 seconds

Response#

After server-side synchronization completes the API server will emit response event with the following payload.

Name Type Required Description
type string Yes The value of this field will be response in the response to the above request
requestId string Yes request id the response relates to
accountId string Yes account id specified in the request

Code example#

import ioClient from 'socket.io-client';

const socket = ioClient('https://mt-client-api-v1.agiliumtrade.agiliumtrade.ai', {
    path: '/ws',
    reconnection: false,
    query: {
        'auth-token': 'token'
    }
});

const request = {
  accountId: '865d3a4d-3803-486d-bdf3-a85679d9fad2',
  type: 'waitSynchronized',
  requestId: '57bfbc9f-108d-4131-a300-5f7d9e69c11b'
};

socket.on('connect', () => {
  socket.emit('request', request);
});

socket.on('synchronization', data => {
  console.log(data);
});

socket.on('processingError', err => {
  console.error(err);
});

Response example#

{
  "type":"response",
  "requestId":"04cc8b8f-f509-4d78-8154-ccaa148d3b62",
  "accountId":"23ccdd23-0b8a-400d-9aba-0129de365ba9"
}