Sign-Up

Guidelines for programmers and developers


We draw your attention, the fact that when using these interfaces (or any other pages of the site wm.exchanger.ru) in the case of automated access to them with the same parameters, senselessly often, for a long time (more than 1 time per minute), we reserve the right to restrict or terminate at all, both using of interfaces, by such persons, and the use the entire site as a whole.



We draw the attention of those who use authentication with X.509 certificate – it is necessary to use domain wmeng.exchanger.ru for calling. For example https://wmeng.exchanger.ru/asp/XMLWMList.asp?exchtype=1. In this case there is no need to indicate wmid and signstr tags in the request.



1. XML-API of getting current available exchange volumes.

WM Exchanger allows receiving information about available exchange volumes in the automated mode. Link to the API: https://wmeng.exchanger.ru/asp/XMLbestRates.asp. API updates data every three minutes.
Attributes (fields description):

  • Direct - exchange direction. First currency is the one, subject to the exchange .For example, for WMZ-WMR exchange direction, in the following fields there are WMZ volumes which are currently can be exchanged into WMR with the rates are equal to each subsequent field.
  • BaseRate - basic exchange rate as per Central Bank average rates or its cross-exchange rate. Rate sign (symbol) indicates necessary/recommended actions, for example to increase or to reduce, so you will understand what volume is available for exchange as per basic rate.
  • Plus05, Plus1, Plus2, Plus3 percentage (0.5%, 1%, 2%, 3%) relative to the basic rate, that should be added or deducted from the basic rate depending on its symbol next to it.
  • exchtype - numerical value of the exchange direction (available at the next interfaces).

Data line example:



- this line means that currently you can exchange 687 WMU to WMZ at the exchange rate 0.5% differs from the basic WMU - WMZ rate. So you deduct 0.5% from the basic rate of 5.3065, so you get 5.2799 – it is the rate that you can use to exchange 687 WMU to WMZ right now. In a similar way you can exchange 1877.96 WMU to WMZ as per 5.3065 -3% = 5.1473



2. XML-API for receiving current bids.

WM Exchanger allows receiving information about current bids.
Link to the API: https://wmeng.exchanger.ru/asp/XMLWMList.asp?exchtype=1.API updates data every minute.
To request the interface you need to send exchtype parameter at the URL line - it determines the value (from 1 to 46) of the requested exchange type(see previous api)
Description of the attributes:

  • BankRate - Central Bank rate tag, matching the exchtype
    • Direction - BankRate tag attribute, meaning exchange direction of the bids, returned by this query


  • WMExchangerQuerys - returned bids list tag
    • amountin - WM amount subject to the exchange
    • amountout - WM amount that a counter bid holder wants to receive
    • inoutrate - direct exchange rate between WM currencies
    • outinrate - back exchange rate between WM currencies


  • Query - specific bid tag
    • id - new bid number
    • amountin - WM amount to be exchanged
    • amountout - WM amount that a counter bid holder wants to receive
    • inoutrate - Bid direct exchange rate
    • outinrate - reverse exchange rate
    • procentbankrate - difference, in percents, from the central Bank rate
    • allamountin - amount in WM subject to exchange in all previous and current bid
    • querydate - date of bid’s last change


3. XML-API for New Bids List for the specific WMID

The API implemented in this section allows to receive information about new bids of the specific WMID automatically.
Link to the API: https://wmeng.exchanger.ru/asp/XMLWMList2.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <type></type> <queryid></queryid> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Tags desciption:

  • wmid - 12 digits - WMID, whose bids are to be returned as per request
  • signstr - 132-digits digital signature (by .kwm keys of the wmid) encoding the value of three tags of the request, pulled together in one line without spaces, "wmid + type + queryid" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • type - request type, symbol:
    • 0 - return only non-processed bids
    • 1 - return processed but not exchanged bids( that are still under exchange)
    • 2 - return only exchanged bids
    • 3 - return all bids
  • queryid - id of the new bid belonging to WMID, which data/details are to be returned, if the parameter is not indicated, then last 20 bids of this WMID are returned
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru), then all bids which WMID who makes the signature of the request has an access and belonging to this Capitaller would be returned. In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page

Description of fields which are returned by API (attributes):

  • WMExchangerQuerys - general bids return tag
    • wmid - WMID of published a bid
    • type - query type


  • Query - specific bid tag
    • id - reference number of the new bid for exchange
    • exchtype - exchange direction, see interface # X1
    • state - current status of the bid
      • 0 - bid not processed
      • 1 - processed, under exchange
      • 2 - exchanged completely
      • 3 - combined with new bid
      • 4 - removed, funds not returned
      • 5 - removed, funds retruned

    • amountin - remaining amount in WM to be exchanged
    • amountout - remaining amount in WM to be received in current bid
    • inoutrate - direct exchange rate for the current bid
    • outinrate - reverse exchange rate for the current bid
    • inpurse - Purse, from which the bid was processed
    • outpurse - purse to receive exchanged funds
    • querydatecr - bid application date
    • querydate - date of bid’s last change
    • direction - exchange direction


4. XML-API for reviewing the counter bids of the specific WMID

The API implemented in this section allows to receive information about counter bids of the specific WMID in the automated mode.
Link to the API: https://wmeng.exchanger.ru/asp/XMLWMList3.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <type></type> <queryid></queryid> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Query tags desciption:

  • wmid - 12 digits - WMID, which counter-bids are to be returned in the query
  • signstr - 132-digits digital signature (by .kwm keys of the wmid) encoding the value of three tags of the request, pulled together in one line without spaces, "wmid + type + queryid" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • type - query type, reserved for future use. currently n/a
  • queryid - id of the counter bid belonging to WMID , which data/details are to be returned; if the parameter is not indicated, last 20 bids of this WMID are returned
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru), then all bids which WMID who makes the signature of the request has an access and belonging to this Capitaller would be returned. In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page

Description of the attributes (fields that are returned by the API):

  • WMExchangerQuerys - tag of the general list of the returned bids
    • wmid - WMID of the bid
    • type - query type


  • Query - tag of the specific bid
    • id - number of the counter bid
    • isxid - number of the new bid as per the counter bid
    • exchtype - exchange direction, see interface # X1
    • state - current status
      • 0 - bid not processed
      • 1 - processed, exchange performed, funds not yet processed
      • 2 - exchanged completely, funds processed
      • 3 - exchange not processed, bid converted into the new bid for the same wmid(possible reasons: exchange couldn't have been performed for any reasons, rate of the new bid has changed or there were not enough funds to cover the counter bid)

    • amountin - amount in WM, exchanged in the specific counter bid
    • amountout - amount in WM received by WMID as per specific counter bid
    • inoutrate - direct exchange rate of the bid
    • outinrate - reverse exchange rate of the bid
    • inpurse - purse, from which the bid was processed
    • outpurse - purse to receive exchanged funds
    • querydatecr - bid application date
    • querydate - date of bid’s last change
    • direction - exchange direction
    • newtrid - if current counter bid was converted into the new (there were no purse payouts) so in current attribute the number of this bid


5. XML-API for removing the new bid of the specific WMID

The API implemented in this section allows deleting new bid, belonging to specific WMID with return remaining (not exchanged) funds back to the account.
Link to the API https://wmeng.exchanger.ru/asp/XMLTransDel.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <operid></operid> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Query tags desciption:

  • wmid - 12 digits -WMID, which new bid is to be deleted when query is received
  • signstr - 132-digits digital signature (by .kwm keys of the wmid) encoding the value of three tags of the request, pulled together in one line without spaces, "wmid + operid" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • operid - id of the bid belonging to WMID , which is to be deleted and funds returned back to the purse
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru), then due to this query operid bid may be removed which does not belong to WMID but belongs to Capitaller’s WMID. In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page

Description of fields which are returned by API (attributes):

  • retval - "0" if operation is successful, other digits showing an error
  • retdesc - - error description in case retval tag is not 0


6. XML-API for changing the exchange rate of the new bid of the specific WMID

The API implemented in this section allows updating the exchange rate of the specific WMID.
Link to the interface https://wmeng.exchanger.ru/asp/XMLTransIzm.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <operid></operid> <curstype></curstype> <cursamount></cursamount> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Query tags desciption:

  • wmid - 12 digits - WMID, which new bid is to be changed as per the query
  • signstr - 132-digits digital signature (by .kwm keys of the wmid) encoding the value of three tags of the request, pulled together in one line without spaces, "wmid + operid + curstype + cursamount" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • operid - reference number of the new bid, placed by a WMID, exchange rate subject to change
  • cursamount - new exchange rate of the operid, both direct or reverse ratio of the amount billed for exchange to the amount to be received as a result of an exchange
  • curstype - exchange type at the cursamount tag, where "0" - direct rate (amount to be exchanged against amount to be received) and "1" - reverse rate (amount to be received against amount placed for exchange)
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru), then due to this query operid bid may changed which does not belong to WMID but belongs to Capitaller’s WMID. In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page

Description of the attributes (fields that are returned by the API):

  • retval - "0" if operation is successful, other digits showing an error
  • retdesc - error description in case retval tag is not 0


7. XML-API for combining two new bids of a specific WMID

The API implemented in this section allows combining 2 new bids in the automated mode.
Link to the API:https://wmeng.exchanger.ru/asp/XMLTransUnion.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <operid></operid> <unionoperid></unionoperid> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Query tags desciption:

  • wmid - 12 digits - WMID, which new bids is to be combined as per the query
  • signstr -132-digits digital signature (by .kwm keys of the wmid) encoding the value of three tags of the request, pulled together in one line without spaces, "wmid + operid + unionoperid" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • operid - number of a new bid placed by WMID to which it is necessary to join bid unionoperid
  • unionoperid - the number of a new bid placed by WMID which is necessary to join with operid bid and in this case both amounts for exchange will be joined and the rate of operid bid will remain the same.
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru), then due to this query operid and unionoperid bids may combined which does not belong to WMID but belongs to Capitaller’s WMID. In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page

Description of the attributes (fields that are returned by the API):

  • retval - "0" if operation is successful, other digits showing an error
  • retdesc - error description in case retval tag is not 0


8. XML-API for new bid to exchange placement

There is XML-API implemented in the section for automatic placement of a new bid to exchange.
Link to the API https://wmeng.exchanger.ru/asp/XMLTrustPay.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <inpurse></inpurse> <outpurse></outpurse> <inamount></inamount> <outamount></outamount> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Query tags desciption:

  • wmid - 12-digits WMID from which a new bid will be placed.
  • signstr - 132-digits digital signature (by .kwm keys of the wmid) encoding the value of three tags of the request, pulled together in one line without spaces, "wmid + inpurse + outpurse + inamount + outamount" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • inpurse - the number of WMID purse from which the amount for bid to exchange has to be taken out. The trust for transfer funds (wm.exchanger) has to be set to this purse. Please draw your attention that for capitallerwmid bid placement this trust is set up by capitaller’s administrator in site integration capitaller.ru section.
  • outpurse - purse to receive exchanged funds
  • inamount - the amount which will be automatically transferred from purse inpurse into purse of wm.exchanger section and placed for exchange
  • outamount - the amount which has to be transferred to the purse outpurse when the transfer is done. If the amount 0.0 is put in this field so the bid would be placed through FAST EXCHANGE, that is right after this bid is placed, from this bid would be completely redeemed the queue of the most paying from the opposite to its direction
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru) the exchange bid on behalf of capitallerwmid may be set under this request. In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page.

Description of the attributes (fields that are returned by the API):

  • retval - "0" if operation is successful, other digits showing an error. On successful result there is the number of placed bid in attribute of RetVal tag (attribute operid) and the number of transaction in WMT (attribute wmtransid)
  • retdesc - - error description in case retval tag is not 0


9. The XML-API of buying-up from one’s own new bid the other person's new bid which is opposite to the exchange direction.

XML-API for automatic purchase from one’s own new bid the other person's new bid which is opposite to the exchange direction.
Link to the API https://wmeng.exchanger.ru/asp/XMLQrFromTrIns.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <isxtrid></isxtrid> <desttrid></desttrid> <deststamp></deststamp> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Query tags desciption:

  • wmid - 12 digits - WMID, which new bid number isxtrid will be used for buying another person’s bid.
  • signstr - 132-digits digital signature (by .kwm keys of the wmid) encoding the value of three tags of the request, pulled together in one line without spaces, "wmid + isxtrid + desttrid" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • isxtrid - number of new bid which is set by WMID from which there would be a purchase of another person's bid number
  • desttrid - number on another person’s bid which is is necessary to buy
  • deststamp - the number is equal to the sum of an hour, minute and second from bid’s date to be purchased (querydate in interface 2)/ In case if the bid to exchange has been changed and has different time(another sum of of an hour, minute and second) so transaction would be declined. For compatibility in this parameter there is no need to send anything or send number 1001, in that case the verification of the change of this bid will not be made.
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru), so under this request there may be the purchase from isxtrid bid which does not belong to WMID and belong to capitallerwmid . In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page

Description of the attributes (fields that are returned by the API):

  • retval - "0" if operation is successful, other digits showing an error
  • retdesc - - error description in case retval tag is not 0


10. XML-API of receiving history of exchange rates

The API implemented in this section allows to obtain information on average exchange rate in the specified direction on any date and time to within 1 hour.Link to the API https://wm.exchanger.ru/asp/XMLQuerysStats.asp?exchtype=1&grouptype=4&yearstats=2011&monthstats=11&daystats=11&hourstats=11. This API uptades information several times per hour.
Incoming API parameters are sent in URL string.
Query tags desciption:

  • exchtype - the numerical value of the exchange direction (numbers in the range 1-40) for which there is need to get the history of the correspondence of the numbers to the exchange directions is given in interface 1. The parameter is required.
  • grouptype - the minimum interval of time within which it is necessary to receive mean value of exchange rate; has four values: 1- month interval, 2- week interval, 3 - day interval, 4 - hour interval. For example, in case of choosing day interval (value 3) in the result there would be given means values of exchange rate in a specified direction on days. Parameter is required.
  • yearstats - a year for which it is necessary to receive history on values of an average course in the specified direction of exchange. Numerical value in the range from 2003 to 2020, parameter is optional at grouptype =1 value, at all other values of the grouptype parameter is obligatory. Parameter is obligatory at the indication of any of the parametrs monthstats, weekstats, daystats or hourstats parameter.
  • monthstats - month for which it is necessary to receive history on values of an average course in the specified direction of exchange. Numerical value in the range from 1 to 12, parameter is obligatory at grouptype =4 value, at all other values of the grouptype parameter is optional. Parameter is obligatory at the indication of any of the daystats or hourstats parameters.
  • weekstats - week (one after another in a year) for which it is necessary to receive history on values of an average course in the specified direction of exchange. Numerical value in the range from 1 to 54, parameter is optional at any grouptype value.
  • daystats - day for which it is necessary to receive history on values of an average course in the specified direction of exchange. Numerical value in the range from 1 to 31, parameter is optional at any grouptype value. Parameter is obligatory at the indication of the hourstats parameter.
  • hourstats - hour for which it is necessary to receive history on values of an average course in the specified direction of exchange. Numerical value in the range from 0 to 23, parameter is optional at any grouptype value.

In case of any optional parameter isn't specified, all results within the last specified parameter will be returned. For example this link there is no hourstats parameter, as a result api will return average rate for each hour of 11.11.2011.

Description of the attributes (fields that are returned by the API):

  • mindateid - the beginning of an interval of time within which calculation of an average course was made
  • maxdateid - the end of an interval within which calculation of an average course was made
  • avgrate - is the average exchange rate in specified direction with the interval fromт mindateid to maxdateid included. When calculating the average exchange rate, only deals which are made at the upper limit of the current exchange rate direction (clearing transactions) are recognized.
  • minrate - at grouptype value = 1,2 or 3 minimum value among all hour avgrate values on an interval from mindateid to maxdateid included, at grouptype=4 the value of attribute is equal to avgrate.
  • maxrate - at grouptype value = 1,2 or 3 maximum value among all hour avgrate values on an interval from mindateid to maxdateid inclusive, at grouptype=4 the value of attribute is equal to avgrate
  • cntall - the total amount of transactions produced in the specified exchange direction within an interval from mindateid to maxdateid inclusive
  • ratetype - can accept values 0 or 1. The direct or back course is defined by this value, it is given in avgrate, minrate, maxrate in this couple. For example for WMZ->WMR or WMR->WMZ (that is exchtype =1 or exchtype=2) the value of the course avgrate, minrate, maxrate will be identically more than 0, but ratetype =0 or ratetype=1. In other words this tag determines what value is more in this couple at the present moment. Special attention needs to be paid for the moments of "turnover" when the course in any couple comes nearer to 1:1 and goes further - in this moment the ratetype is changing positions in such couple.


11. XML-API of the list of counter bids according to the specific NEW bid of WMID

The API implemented in this section allows to automatically obtain information on counter bids to the specific new bid of the WMID.
Link to the API https://wm.exchanger.ru/asp/XMLWMList3Det.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <queryid></queryid> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Query tags desciption:

  • wmid 12 digits - WMID according to whose new bid it is necessary to return counter bids as a result of a request
  • signstr - 132-digits digital signature (by .kwm keys of the wmid) encoding the value of three tags of the request, pulled together in one line without spaces, "wmid + queryid" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • queryid - number (id) of the new bid of the WMID, information on which needs to be returned
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru), then all Capitaller’s bids to which WMID identifier has an access and sign a request would be returned. In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page.

Query tags desciption:

  • WMExchangerQuerys - returned bids list tag
    • wmid - WMID who published a bid
    • isxid - number of a new bid


  • Query - specific bid tag
    • id - number of counter bid
    • exchtype - exchange direction, see interface # X1
    • state - current state of this bid
      • 0 - bid is not processed yet
      • 1 - bid is processed, exchange performed, funds not yet processed
      • 2 - exchanged completely, funds processed
      • 4 - part of the new bid is converted in counter bid(a part of the initial new bid was spent for buying up another new one from the list opposite towards this)
      • 5 - part of the new bid was converted into other new bid (by division into two)

    • amountin - WM amount which is being get by WMID in counter bid
    • amountout - WM amount which is being paid by WMID in this counter bid
    • inoutrate - direct exchange rate of a bid
    • outinrate - reverse exchange rate of a bid
    • querydatecr - bid application date
    • querydate - date of bid’s last change
    • direction - exchange direction
    • newtrid - if this counter bid was converted into new (there was no payouts on a purse), then the number of this new bid will be in this attribute.


12. The XML-API of splitting of the new bid into two.

XML-API implemented in this section allows to split of the existing new bid into two.
Link to the API https://wm.exchanger.ru/asp/XMLTransDivide.asp.

To request the API you need to send the following XML-query by POST method (via the above-mentioned URL):

<wm.exchanger.request> <wmid></wmid> <signstr></signstr> <operid></operid> <exchtype></exchtype> <outpurse></outpurse> <inamount></inamount> <outamount></outamount> <capitallerwmid></capitallerwmid> </wm.exchanger.request>

Query tags desciption:

  • wmid - 12 digits WMID from which a new bid will be placed.
  • signstr - 132-digits digital signature (by .kwm keys of the wmid) encoding the value of tags of the request, pulled together in one line without spaces, "wmid + operid + exchtype + outpurse + inamount + outamount" (for digital signature set up please see General WM-Interfaces guidelines for developers)
  • operid - number of the new bid, which needs to be spitted into two bids
  • exchtype - type of a new bid, (see interface # X1), that will be available after splitting
  • outpurse - purse to receive exchanged funds from new bid which is going to be appeared after splitting.
  • inamount - amount which will be automatically removed from the existing bid with number operid and transferred to the new bid
  • outamount - amount which needs to be transferred to outpurse purse in the new bid, which will appear after splitting
  • capitallerwmid - is an optional field, if Capitaller’s WMID is being transferred in this field (www.capitaller.ru)so with this query there can be splitting of the bid on behalf of capitaller wmid. In this case there must be an access for WMID which signs the request which is described at Capitaller’s Impersonalization page

Description of the attributes (fields that are returned by the API):

  • retval - "0" if operation is successful, other digits showing an error. If the result is successful, the number of the placed bid remains without any changes and there is the number of new bid in attribute of retval tag (attribute operid) where the sum inamount would be transferred.
  • retdesc - error description in case if retval tag is not 0