RoTLD REST API Documentation
RoTLD REST API Documentation
RoTLD REST API Documentation
REVISION HISTORY
REVISION 1.0.1 1.0.2 D A TE Nov. 15, 2012 Jan. 09, 2013 @AUTHOR Radu Boncea Radu Boncea COMMENT Pre-release draft DOC-14/RESTWS-17 . Domain password minimal condition improvement.
Table of Contents
Introduction ............................................................................................................................................................................ 4 Terminology & Definitions ...................................................................................................................................................... 5 General Considerations and Notes ......................................................................................................................................... 6 Workflow................................................................................................................................................................................. 7 Domain registration ............................................................................................................................................................ 7 Attaching nameservers to a domain ................................................................................................................................... 7 Domain transfer .................................................................................................................................................................. 7 Domain trade ...................................................................................................................................................................... 7 List of commands .................................................................................................................................................................... 8 Command hello ................................................................................................................................................................... 9 Command check-availability ............................................................................................................................................. 10 Command domain-info ..................................................................................................................................................... 11 Command nameserver-info .............................................................................................................................................. 13 Command contact-info ..................................................................................................................................................... 14 Command contact-create ................................................................................................................................................. 16 Command domain-renew ................................................................................................................................................. 18 Command contact-update ................................................................................................................................................ 19 Command nameserver-create .......................................................................................................................................... 20 Command nameserver-update ......................................................................................................................................... 21 Command nameserver-delete .......................................................................................................................................... 22 Command domain-register ............................................................................................................................................... 23 Command domain-activate .............................................................................................................................................. 25 Command domain-reset-ns .............................................................................................................................................. 26 Command domain-transfer .............................................................................................................................................. 27 Command domain-trade................................................................................................................................................... 28 Command trade-info......................................................................................................................................................... 29 Command trade-confirm .................................................................................................................................................. 31 Returned Codes..................................................................................................................................................................... 32 Blocks ................................................................................................................................................................................ 32 Codes................................................................................................................................................................................. 32 3
Introduction
The REST API is a web service in accordance with the principles of REST (Representation State Transfer) and accessible using the http(s) protocol. The service is secured and requires TLS authentication. Authentication is based on HTTP Digest with a RSA key generated on 2048 bits. The REST API is developed on top of Twisted Matrix open source platform (http://twistedmatrix.com). The REST API accepts only POST requests. Other methods are not accepted.
We are providing a testing server at https://rest2-test.rotld.ro:6080. If you are already a .ro registrar please use your current regid and password for testing. If you are not a .ro registrar please ask for a regid and password at http://rest2-test.rotld.ro/rest-api/cerere-acces-la-api Documentation site is http://rest2-test.rotld.ro/rest-api/ We also opened a group of discussion at http://groups.google.com/group/rotldapi where we will answer your questions. Latest documentation can be found at http://rest2-test.rotld.ro/restapi/RESTAPI%20DOCUMENTATION.pdf/at_download/file Testing registrar web control panel can be found at https://registrar2-test.rotld.ro A PHP client for the REST API service can be found at http://rest2-test.rotld.ro/rest-api/PHP_Rest_Client.tgz/at_download/file
Where, data: is specific to the request srv_localtime: the server date and time of the request srv_timestamp: the server unix time of the request time_execution: the time in miliseconds needed for the server to process the request reqid: a unique identification string for the request result_blockmess: please check the codes section error: if error is 1 then the operation has failed (the result_code is different from 00200), if error is 0 the operation has completed successfully (the result_code is 00200) result_message: please check the codes section result_code: please check the codes section
b. c.
The system may delay registrar operations as a security measure in case the registrar abuse the usage of the service by doing intensive queries. Every registrar has a pool of running processes so, as the pool is growing, new processes are being delayed to ensure older processes will finished cleanly. The system may temporary block the registrar from using the REST service if the registrar hits the case a) repeatedly. The system automatically do this to protect other registrars pools. Having in mind a) and b), registrars should not do intensive queries, or, if they have to, to have sleep time between operations. Also, as an important note, most intensive operations are those running in a write context (operations that modify the database records and indexes) and which also take more time to complete as you can see from time_execution parameter.
Workflow
Domain registration
1. Check domain availability, either using the REST Web Service or DAS Service. Proceed only if the domain is available for registration. 2. Create a registrant contact. Upon success and having a registrant ID (CID) proceed to 3) 3. Register or Reserve the domain with the registrant id obtained to 2) 4. If domain is registered and not reserved, you may consider attaching nameservers to its DNS resolution. If the domain is reserved, the domain can be updated only after confirming the reservation.
1. Check if the domain allows updates (the status list must not include UpdateProhibited, Reserved, PendingDelete). 2. For self hosts check if they exist. If they do not exist, create them. If the domain has just been registered (not reserved), checking the domain is not necessary, however, the self hosts must definitely be created. 3. Update the domain with the new list of nameservers.
Domain transfer
1. The registrant who wish to transfer the domain to you, must obtain the authorization key from the registrys domain administration web panel (https://domadmin.rotld.ro). After getting the authorization key proceed to 2). 2. Transfer the domain using the authorization key given by the registrant at 1).
Domain trade
1. The registrant must obtain the authorization key from the registrys domain administration web panel (https://domadmin.rotld.ro). After getting the authorization key proceed to 2). 2. Create a registrant contact with information about the future registrant. 3. Create a trade procedure using the authorization key from 1) and the registrant id from 2). Store the trade id locally so you can query for the status of the trade. 4. Wait for the registry confirmation: either periodically check for the trade status, or waiting for the email notification, or checking the status in the registrar web control panel (https://registrar.rotld.ro). 5. If registry has confirmed the trade, the registrar must: a. Commit the changes to the registrant by confirming the trade.
List of commands
Command hello check-availability domain-info nameserver-info contact-info contact-create domain-renew contact-update nameserver-create nameserver-update nameserver-delete domain-register domain-activate domain-reset-ns domain-transfer domain-trade trade-info trade-confirm Context read read read read read write write write write write write write write write write write read write Obs Checking API availability and server time Checks domain availability against DB and Filters Get domain main attributes Get a .ro nameserver main attributes Contact(registrant) main attributes Create a registrant object and get the registrant id (CID) Renew a renewable domain Update registrant data, except for protected attributes Create .ro nameserver object Reset nameserver IPs. Delete a nameserver. Register or Reserve a .ro available domain Activate a reserved .ro domain Reset domain nameservers Registrar transfer Opens a registrant transfer procedure Get info on an opened registrant transfer procedure Close a registrant transfer procedure
Command hello
Description: Checking API availability, server time and available commands Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] Returned dataset: regid [string] regname [string] available_methods [list] API result codes: 00200 CURL INPUT EXAMPLE:
curl -k -u rotest:rotest --digest -d "command=hello" -d "format=json" https://rest2-test.rotld.ro:6080
Command check-availability
Description: Checks the domain availability for registration or reservation Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] domain [string]: a valid .ro domain name [mandatory] Returned dataset: status [string]: Available | Not Available | Not Allowed. API result codes: 00200 50001 50002 50501 50502 90001 CURL INPUT EXAMPLE:
curl -k -u rotest:rotest --digest -d "command=check-availability" -d "format=json" -d "domain=justadomain4test.ro" https://rest2test.rotld.ro:6080
10
Command domain-info
Description: Get information about a .ro registered/reserved .ro domain and which is administered by the registrar. Access to other domains, that are not administered by registrar, is denied. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] domain [string]: a .ro valid domain name [mandatory] Returned dataset: domain [string]: the domain name subject to the query last_ownership_transfer_date [datetime]: defaults to empty nameservers[list]: the list of nameservers where domain zone is located expiration_date[datetime]: empty for non-yearly payable maintenance fee registration_date[datime] last_registrar_transfer_date[datetime]: defaults to empty hosts[list]: list of hosts declared under the parent domain last_update_date[datetime]: last date time when the domain has been updated deletion_date[datetime]: the date and time when the domain is scheduled for deletion. Defaults to empty. registrant_id[string]: the CID of the registrant needed to fetch registrant data using contact-info statuses[list]: list of domain statuses API result codes: 00200 50001 50002 50501 50502 10001 10002 90001 CURL INPUT EXAMPLE:
curl -k -u rotest:rotest --digest -d "command=domain-info" -d "domain=rnc.ro" https://rest2-test.rotld.ro:6080
11
JSON OUTPUT EXAMPLE WITH ERROR WHEN THE DOMAIN IS NOT ADMINISTERED BY REGISTRAR:
{ "srv_localtime": "2011-10-11 11:22:20 EEST", "time_execution": "4ms", "srv_timestamp": 1318321340.899569, "reqid": "domain_info.4e93fcbcb10e890c41003762", "result_blockmess": "OBJECT ERROR", "error": 1, "data": { "domain": "rotld.ro" }, "result_message": "DOMAIN BELONGS TO ANOTHER REGISTRAR", "result_code": "10002" }
12
Command nameserver-info
Description: Get information about a .ro nameserver and which is administered by the registrar. Access to other nameservers, that are not administered by registrar, is denied. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] nameserver [string]: a .ro valid nameserver [mandatory] Returned dataset: nameserver [string]: the nameserver subject to the query registration_date[datime] last_update_date[datetime]: last date time when the domain has been updated usage_count[integer]: the number of domains using this nameserver ips[dict]: a two keyword dictionary, ipv4 and ipv6 ipv4 [list]: list of ipv4 IPs ipv6 [list]: list of ipv6 IPs statuses[list]: list of nameserver statuses API result codes: 00200 50007 50008 10006 10007 10008 90001 CURL INPUT EXAMPLE:
curl -k -u rotest:rotest --digest -d "command=nameserver-info" -d "nameserver= ns.rnc.ro " https://rest2-test.rotld.ro:6080
13
Command contact-info
Description: Get information about a registrant (domain holder) and which is administered by the registrar. Access to other registrants, that are not administered by registrar, is denied. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] cid [string]: registrant id [mandatory] Returned dataset: cid [string]: the registrant id subject to the query registrant_id [string]: same as cid registration_date[datime] last_update_date[datetime]: last date time when the registrant has been updated name[string]: full name of the registrant address1[string] address2[string] address3[string] city[string] state_province[string] postal_code[string] country_code[string] phone[string] fax[string] email[string] person_type[string]: p|ap|nc|c|gi|pi|o|j statuses[list]: list of contact statuses API result codes: 00200 50005 50006 10003 10004 90001 Person types:
p = person ap = authorized person j = juridical person (available only for the registrants registered previous to the release of this API) nc = non-commercial c = commercial gi = government institution pi = public institution o = other
14
15
Command contact-create
Description: Create a registrant object and retrieve the registrant id (CID). Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] name [string:utf-8] [mandatory]: the name of the person or the company who holds the right of use for the domain name. Max Length: 128 chars. Min. Length: 2 chars. address1 [string:utf-8] [mandatory]: Max Length: 128 chars. Min. Length: 2 chars. address2[string:utf-8] [optional]: Max Length: 128 chars. Min. Length: 2 chars. address3[string:utf-8] [optional]: Max Length: 128 chars. Min. Length: 2 chars. city[string:utf-8] [mandatory]: Max Length: 40 chars. Min. Length: 2 chars. state_province[string:utf-8] [optional]: Max Length: 40 chars. Min. Length: 2 chars. postal_code[string:utf-8] [optional]: Max Length: 40 chars. Min. Length: 2 chars. country_code[mandatory]: 2 chars country code according to ISO 3166-1-alpha-2 http://dev.rotld.ro/documents/iso-3166-2-code-countries-list phone [string:ascii] [mandatory]: Mandatory format: +ccc.nnnnnnnnn (E.G. +40.727636787) where ccc is the country code (http://countrycode.org/) and nnnnnnnnn is the local number. Max Length: 20 chars. fax[string:ascii] [optional]: Mandatory format: same as the phone number format. Max Length: 20 chars. email[string:ascii] ] [mandatory] : Max Length: 128 chars. person_type[string] [mandatory] : Pemited values: p|ap|nc|c|gi|pi|o cnp_fiscal_code[string:utf-8] [mandatory]: An identification number for pesons (personl ID, passport number, driving license, etc),fiscal code for companies or other unique identification number or sequence of characters for juridical entities. Mandatory for Romanian entities. Optional for foreigners. Max Length: 40 chars. Min. Length: 5 chars. registration_number [string:utf-8] [optional]. Mandatory for Romanian companies or other juridical entities (where person_type is one of (nc,c,gi,pi,o)). Optional for foreigners. Max Length: 40 chars. Returned dataset: cid [string]: the registrant id subject to the query API result codes: 00200 50101 50102 50105 50106 50107 50108 50109 50110 50111 50112 50113 50114 50115 50116
50117 50118 50119 50120 50121 50122 50123 50124 50128 50129 50130 50131 50132 50133 0136 50137 10203 90001
Person types:
p = person ap = authorized person nc = non-commercial c = commercial gi = government institution pi = public institution o = other
16
17
Command domain-renew
Description: Extend the domain expiration date with a given number of years. This command is available only for renewable domains and specific registrars. The command will affect the registrar trade balance with a sum equal to domain_period*fee. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] domain [string]: a .ro domain [mandatory] domain_period [mandatory] [a number between 1 and 10]. The domain_period will be added to the current domain expiration date. The new domain expiration date should not exceed 10 years from the moment of issuing the command. A year has 365 days and it does not account the leap years. Returned dataset: expiration_date [string]: The new expiration date. domain[string:ascii]: The domain subject to the renew. balance[numeric]: the new balance equals domain_period*fee fee[numeric]: total cost of the operation API result codes: 00200 50001 50002 50015 50016 50022 20001 20002 10001 10002 10506 10508 40002 90001 CURL INPUT EXAMPLE:
curl -k -u rotest:rotest --digest -d "command=domain-renew" -d "domain=testingrenew.ro" -d "domain_period=1" https://rest2test.rotld.ro:6080
18
Command contact-update
Description: Update registrant data, except for protected fields: name, cnp_fiscal_code, registration_number, person_type. Registrar can update only the registrants that he manages. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] cid [string]: registrant id [mandatory] address1 [string:utf-8] [mandatory]: Max Length: 128 chars. Min. Length: 2 chars. address2[string:utf-8] [optional]: Max Length: 128 chars. Min. Length: 2 chars. address3[string:utf-8] [optional]: Max Length: 128 chars. Min. Length: 2 chars. city[string:utf-8] [mandatory]: Max Length: 40 chars. Min. Length: 2 chars. state_province[string:utf-8] [optional]: Max Length: 40 chars. Min. Length: 2 chars. postal_code[string:utf-8] [optional]: Max Length: 40 chars. Min. Length: 2 chars. country_code[mandatory]: 2 chars country code according to ISO 3166-1-alpha-2 http://dev.rotld.ro/documents/iso-3166-2-code-countries-list phone [string:ascii] [mandatory]: Mandatory format: +ccc.nnnnnnnnn (E.G. +40.727636787) where ccc is the country code (http://countrycode.org/) and nnnnnnnnn is the local number. Max Length: 20 chars. fax[string:ascii] [optional]: Mandatory format: same as the phone number format. Max Length: 20 chars. email[string:ascii] ] [mandatory] : Max Length: 128 chars. Returned dataset: Empty dataset API result codes: 00200 50005 50006 50105 50106 50107 50108 50109 50110 50111 50112 50113 50114 50115 50116
50117 50118 50119 50120 50121 50122 50123 50124 10003 10004 90001
19
Command nameserver-create
Description: Create a nameserver/host for a .ro domain. Registrar can create hosts only for the domains which are administered by the registrar. The operation will fail if the domain has one of the following status codes: UpdateProhibited, Reserved, PendingDelete. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] nameserver [string:ascii][mandatory] ips[string:ascii] [mandatory]: A comma separated list of IPs. Maximum allowed number of IPs is 2. IP version support:IPv4 and IPv6. E.g.: 196.102.12.1, 2001:db8::1428:57ab Returned dataset: Empty dataset API result codes: 00200 50007 50008 50019 50020 50021 10007 10014 10015 10503 10202 90001 CURL INPUT EXAMPLE:
curl -k -u rotest:rotest digest -d "command=nameserver-create" -d "nameserver=ns.test-28-09.ro" --data-urlencode "ips=196.102.12.1, 2001:db8::1428:57ab" https://rest2-test.rotld.ro:6080
20
Command nameserver-update
Description: Update the IPs of a nameserver/host administered by the registrar. The operation will fail if the parent domain has one of the following status codes: UpdateProhibited, Reserved, PendingDelete. The operation will also fail if the nameserver has one of the following status codes: UpdateProhibited, PendingDelete. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] nameserver [string:ascii][mandatory] ips[string:ascii] [optional]: A comma separated list of IPs. Maximum allowed number of IPs is 2. IP version support:IPv4 and IPv6. E.g.: 196.102.12.1, 2001:db8::1428:57ab Returned dataset: nameserver [string]: The nameserver subject of the operation parent_domain [string]: The parent domain of the nameserver deleted_ips[list]: The list of IPs deleted and replaced with the new provided IPs API result codes: 00200 50007 50008 50019 50020 50021 10006 10007 10008 10504 10505 90001 CURL INPUT EXAMPLE:
curl -k -u rotest:rotest -d "command=nameserver-update" -d "format=json" -d "nameserver=ns.test-28-09.ro" --data-urlencode "ips=10.10.10.10" https://rest2-test.rotld.ro:6080
21
Command nameserver-delete
Description: Delete a nameserver/host administered by the registrar. The operation will fail if the nameserver has one of the following status codes: DeleteProhibited. The operation will also fail if the nameserver is in usage, attached for resolving other domains. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] nameserver [string:ascii][mandatory] Returned dataset: Empty dataset API result codes: 00200 50007 50008 50019 50020 50021 10006 10007 10008 10510 10511 90001 CURL INPUT EXAMPLE:
curl -k -u rotest:rotest -d "command=nameserver-delete" -d "format=json" -d "nameserver=ns.test-28-09.ro" https://rest2test.rotld.ro:6080
22
Command domain-register
Description: Register or reserve a .ro domain. The operation will fail if registrar balance value is less than the fee for registering the domain. Considerations: 1. Non-Yearly domains a. Do not expire and do not need renewal b. The fee is constant 2. Yearly domains a. The expiration date will be the registration date plus the period(years)*365(days). b. The total fee is equal to period*one-year-fee. 3. Registering a domain a. Will debit from the registrar balance immediately b. The domain will have the status OK, can be updated and will be written in DNS 4. Reserving a domain a. Will not debit. b. The domain will have the status RESERVED, it will not be updated nor resolved by DNS c. Will require an activation command. d. The same domain can be reserved two times. e. The reserved domains which are not confirmed/activated will be deleted after a period of time.
Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] domain [string:ascii] [mandatory]: a .ro domain reservation [optional] [0|1 defaults to 0]. If 1 the domain will be reserved, if 0 or not present, the domain will be registered. c_registrant [string] [mandatory]: The registrant contact ID (a registrant must be created before registering the domain). domain_password[string:ascii][optional]: If not present, a password will be generated by the system. If present, the password must have max length: 40 chars, min.length: 6 chars. Regexp: r"^[a-z0-9\\.\,\:\;\[\]\{\}\_\+\=\@\#\$\^\*\?\!\|\~]{6,40}$",re.IGNORECASE domain_period [optional][a number between 1 and 10]. For non-yearly domains, the parameter is neglected. For yearly domains, if not present, the parameter will default to 1. The domain expiration date should not exceed 10 years from the moment of issuing the command. A year has 365 days and it does not account the leap years. Returned dataset: domain[string:ascii]: The domain subject to the registration/reservation. balance[numeric]: the new balance fee[numeric]: total cost of the operation. If the domain is reserved, the fee will be 0.00. registration_date [string] expiration_date [string]: Empty for non-yearly domains. registrant_id [string] 23
API result codes: 00200 50001 50002 50009 50010 50014 50016 50601 20001 20002 10009 10010 10011 10016 10101 10201 90001 CURL INPUT EXAMPLE FOR REGISTERING A NON-YEARLY DOMAIN :
curl -k -u rotest:rotest --digest -d "command=domain-register" -d "format=json" -d "domain=testing-registration.ro" --dataurlencode "c_registrant=C614082" --data-urlencode "domain_password=somepassword" --data-urlencode "domain_period=1" -data-urlencode "reservation=0" https://rest2-test.rotld.ro:6080 Some parameters can be ignored. The above is the same with: curl -k -u rotest:rotest --digest -d "command=domain-register" -d "format=json" -d "domain=testing-registration.ro" --dataurlencode "c_registrant=C614082" https://rest2-test.rotld.ro:6080
24
Command domain-activate
Description: Confirm/activate a domain reservation. The operation will debit from registrar balance.
Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] domain [string:ascii] [mandatory]: a .ro domain Returned dataset: domain[string:ascii] balance[numeric]: the new balance fee[numeric]: total cost of the operation. registration_date [string] expiration_date [string]: Empty for non-yearly domains. registrant_id [string]
API result codes: 00200 50001 50002 50009 50010 50014 50016 50601 20001 20002 10009 10010 10011 10016 10101 10201 90001 CURL INPUT EXAMPLE :
curl -k -u rotest:rotest --digest -d "command=domain-activate" -d "format=json" -d "domain=testing-registration.ro" https://rest2test.rotld.ro:6080
25
Command domain-reset-ns
Description: Replace current domain nameservers with the new provided. The new nameservers must have been previously created, except for non-.ro nameservers (E.G. ns.domain.ro must exists, while ns.domain.com, if does not exist, will be created by the system). The operation will fail if the domain has one of the following status codes: UpdateProhibited, Reserved, PendingDelete.
Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] domain [string:ascii] [mandatory]: a .ro domain nameservers [string:ascii] [mandatory]: A comma separated list of nameservers. Maximum allowed number of nameservers is 6. If nameservers parameter is empty, the current nameservers of the domain will be deleted, thus the domain will have no nameservers declared.
API result codes: 00200 50001 50002 50008 50017 50018 10014 10202 10501 10502 90001 CURL INPUT EXAMPLE :
curl -k -u rotest:rotest --digest -d "command=domain-reset-ns" -d "format=json" -d "domain=testing-registration.ro" --dataurlencode "nameservers=ns.testing-registration.ro,ns2.testing-registration.ro" https://rest2-test.rotld.ro:6080
26
Command domain-transfer
Description: Transfer the domain to the registrar who is issuing the command. Check on Domain Transfer Workflow for more details. A domain cannot be transferred to or from a registrar that administers yearly-domains. Domain transfer is free of charge. The operation will fail if the domain has one of the following status codes: TransferProhibited, Reserved.
Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] domain [string:ascii] [mandatory]: a .ro domain authorization_key [string:alphanum] [mandatory]: the authorization key provided by the registrant
API result codes: 00200 50001 50002 50028 50030 40002 10014 10512 90001 CURL INPUT EXAMPLE :
curl -k -u rotest:rotest --digest -d "command=domain-transfer" -d "format=json" -d "domain=testing-registration.ro" --dataurlencode "authorization_key=BPKerUnZM7vhy2A" https://rest2-test.rotld.ro:6080
27
Command domain-trade
Description: Initiate a procedure for transferring the right of use for a .ro domain to a new registrant. Check on Domain Trade Workflow for more details. The operation will fail if the domain has one of the following status codes: RegistrantTransferProhibited, RegistrantPendingTransfer, PendingDelete.
Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] domain [string:ascii] [mandatory]: a .ro domain authorization_key [string:alphanum] [mandatory]: the authorization key provided by the registrant. c_registrant [string] [mandatory]: The new registrant contact ID (a registrant must be created before). domain_password[string:ascii][optional]: If not present, a password will be generated by the system. If present, the password must have max length: 40 chars, min.length: 5 chars. Regexp: r"^[a-z0-9\\.\,\:\;\[\]\{\}\_\+\=\@\#\$\^\*\?\!\|\~]{5,40}$",re.IGNORECASE
API result codes: 00200 50001 50002 50009 50010 50014 50028 40002 10010 10014 10019 10205 10513 10514 90001 CURL INPUT EXAMPLE :
curl -k -u rotest:rotest --digest -d "command=domain-trade" -d "format=json" -d "domain=testing-registration.ro" --data-urlencode "authorization_key=hp9BVumyMAb5qX2H" https://rest2-test.rotld.ro:6080
28
Command trade-info
Description: Get information about a trade procedure. Check on Domain Trade Workflow for more details. Registrars may only query the trades initiated by themselves.
Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] tid [integer] [mandatory]: a trade id
Returned dataset: status[integer:0|1]: the status of the trade: 0 is the trade is opened, 1 if the trade has been successfully closed. domain[string:ascii]: the domain subject to the trade registry_confirm[integer:0|1]: 0 if the trade procedure has not been yet confirmed, 1 if the registry has verified all conditions and agreed registrar_confirm[integer:0|1]: 0 if the registrar who initiated the procedure has not confirmed the trade, 1 if the registrar has agreed. expiration_date[string]: the date when the trade procedure will expire. After expiration, the trade will be deleted. registration_date[string]: the date when the trade has been initiated close_date[string]: the date when the trade procedure has ended successfully (trade status has become 1) tid[integer]: the trade id registrant_id [string]: the new registrant id
API result codes: 00200 50001 50002 50009 50010 50014 50028 40002 10010 10014 10019 10205 10513 10514 90001 CURL INPUT EXAMPLE :
curl -k -u rotest:rotest --digest -d "command=trade-info" -d "format=json" -d "tid=44" https://rest2-test.rotld.ro:6080
29
"domain": " testing-registration.ro", "registry_confirm": 0, "expiration_date": "2011-12-10", "registration_date": "2011-10-26", "close_date": "", "registrar_confirm": 0, "tid": "44", "registrant_id": "C614408" }, "result_message": "OK", "result_code": "00200" }
30
Command trade-confirm
Description: Close a trade procedure. This operation will change: the registrant to the new registrant provided with domain-trade. the registrar to the new registrar who issued the command domain-trade. the registrar balance. The trade fee is equal to the registration fee. Important Note: The changes will be committed only if the registry has also confirmed the trade. The operation will fail if the domain has one of the following status codes upon committing : RegistrantTransferProhibited, PendingDelete. Input parameters: format [string]: json|xml defaults to json [optional] lang [string]: en|ro defaults to en [optional] tid [integer] [mandatory]: a trade id
API result codes: 00200 50029 10014 10020 10021 10022 10023 10024 10513 20001 90001 CURL INPUT EXAMPLE :
curl -k -u rotest:rotest --digest -d "command=trade-confirm" -d "format=json" -d "tid=44" https://rest2-test.rotld.ro:6080
31
Returned Codes
Blocks
{ '00':{'en':'OPERATION EXECUTED SUCCESSFULLY','ro':'OPERATIA A FOST EXECUTATA CU SUCCES'}, '10':{'en':'OBJECT ERROR','ro':'EROARE OBIECT'}, '20':{'en':'BILLING ERROR','ro':'EROARE TAXARE'}, '40':{'en':'REGISTRAR ERROR','ro':'EROARE REGISTRAR'}, '50':{'en':'PARAMETER ERROR','ro':'EROARE PARAMETRU'}, '60':{'en':'UNCAUGHT EXCEPTION RAISED','ro':'EROARE NEDEFINITA'}, '80':{'en':'API METHOD ERROR','ro':'EROARE API'}, '90':{'en':'SERVICE UNAVAILABLE','ro':'SERVICIU INDISPONIBIL'}, }
Codes
{ '00200':{'en':'OK','ro':'OK'}, '10001':{'en':'DOMAIN NOT FOUND','ro':'DOMENIUL NU EXISTA'}, '10002':{'en':'DOMAIN BELONGS TO ANOTHER REGISTRAR','ro':'DOMENIUL APARTINE UNUI ALT REGISTRAR'}, '10003':{'en':'CONTACT NOT FOUND','ro':'CONTACTUL NU EXISTA'}, '10004':{'en':'CONTACT BELONGS TO ANOTHER REGISTRAR','ro':'CONTACTUL APARTINE UNUI ALT REGISTRAR'}, '10005':{'en':'CONTACT HAS NO POSTAL DATA','ro':'CONTACTUL NU ARE NICI O ADRESA POSTALA ATASATA'}, '10006':{'en':'NAMESERVER NOT FOUND','ro':'NAMESERVER-UL NU EXISTA'}, '10007':{'en':'NAMESERVER NOT DELEGATED TO .RO REGISTRY','ro':'NAMESERVER-UL NU ESTE ADMINISTRAT DE REGISTRUL .RO'}, '10008':{'en':'NAMESERVER BELONGS TO ANOTHER REGISTRAR','ro':'NAMESERVER-UL APARTINE UNUI ALT REGISTRAR'}, '10009':{'en':'DOMAIN NAME IS ALREADY REGISTERED','ro':'DOMENIUL ESTE DEJA INREGISTRAT'}, '10010':{'en':'REGISTRANT CONTACT NOT FOUND','ro':'CONTACTUL DE TIP REGISTRANT NU EXISTA'}, '10011':{'en':'REGISTRANT CONTACT BELONGS TO ANOTHER REGISTRAR','ro':'CONTACTUL DE TIP REGISTRANT APARTINE UNUI ALT REGISTRAR'}, '10014':{'en':'DOMAIN NAME IS NOT REGISTERED','ro':'DOMENIUL NU ESTE INREGISTRAT'}, '10015':{'en':'NAMESERVER ALREADY REGISTERED','ro':'NAMESERVER-UL ESTE DEJA INREGISTRAT'}, '10016':{'en':'DOMAIN NAME CAN NOT BE RESERVED. TOO MANY RESERVATIONS FOR THIS DOMAIN.','ro':'DOMENIUL NU POATE FI REZERVAT. PREA MULTE REZERVARI PE ACEST NUME.'}, '10017':{'en':'DOMAIN NAME RESERVATION ALREADY CONFIRMED','ro':'DOMENIUL A FOST DEJA CONFIRMAT'}, '10018':{'en':'CONTACT NOT IN USE BY ANY DOMAIN','ro':'CONTACTUL NU ESTE FOLOSIT DE NICIUN DOMENIU'}, '10019':{'en':'CONTACT IN USE','ro':'CONTACTUL IN FOLOSINTA'}, '10020':{'en':'TRADE REQUEST FOR THIS DOMAIN NOT FOUND','ro':'CEREREA DE TRANSFER DREPT DE FOLOSINTA PENTRU ACEST DOMENIU NU EXISTA'}, '10021':{'en':'ACCESS TO THIS TRADE REQUEST RESTRICTED','ro':'ACCESUL LA ACEASTA CERERE ESTE RESTRICTIONAT'}, '10022':{'en':'THIS TRADE REQUEST HAS ALREADY BEEN CONFIRMED BY REGISTRAR','ro':'ACEASTA CERERE DE TRANSFER DREPT DE FOLOSINTA A FOST DEJA CONFIRMATA DE CATRE REGISTRAR'}, '10023':{'en':'THIS TRADE REQUEST HAS ALREADY BEEN CONFIRMED BY REGISTRY','ro':'ACEASTA CERERE DE TRANSFER DREPT DE FOLOSINTA A FOST DEJA CONFIRMATA DE CATRE REGISTRU'}, '10024':{'en':'REGISTRANT ID NOT FOUND, OPERATION ABORTED','ro':'REGISTRANTUL NU EXISTA, OPERATIA A ESUAT'},
'10101':{'en':'REGISTRANT CONTACT ALREADY ASSOCIATED WITH ANOTHER DOMAIN','ro':'CONTACTUL DE TIP REGISTRANT ESTE ASOCIAT UNUI ALT DOMENIU'}, '10102':{'en':'TECHNICAL CONTACT ALREADY ASSOCIATED WITH ANOTHER DOMAIN','ro':'CONTACTUL DE TIP TECHNICAL ESTE ASOCIAT UNUI ALT DOMENIU'}, '10201':{'en':'ERROR WHILE FETCHING NEXT DOMAIN ID','ro':'EROARE LA OBTINEREA ID-ULUI PENTRU DOMENIU'}, '10202':{'en':'ERROR WHILE FETCHING NEXT NAMESERVER ID','ro':'EROARE LA OBTINEREA ID-ULUI PENTRU NAMESERVER'}, '10203':{'en':'ERROR WHILE FETCHING NEXT CONTACT ID','ro':'EROARE LA OBTINEREA ID-ULUI PENTRU CONTACT'}, '10204':{'en':'ERROR WHILE FETCHING NEXT REGISTRAR ID','ro':'EROARE LA OBTINEREA ID-ULUI PENTRU REGISTRAR'},
32
'10205':{'en':'ERROR WHILE FETCHING NEXT TRADE ID','ro':'EROARE LA OBTINEREA ID-ULUI PENTRU TRANSFER DREPT DE FOLOSINTA'}, '10501':{'en':'DOMAIN CAN NOT BE UPDATED, DOMAIN STATUS PROHIBITS THIS OPERATION','ro':'DOMENIUL NU POATE FI MODIFICAT, STAREA DOMENIULUI NU PERMITE ACEASTA OPERATIE'}, '10502':{'en':'UPDATING DOMAIN NAMESERVERS FAILED, NAMESERVER NOT REGISTERED','ro':'MODIFICAREA DOMENIULUI CU NOILE NAMESERVERE A ESUAT, NAMESERVER NEINREGISTRAT'}, '10503':{'en':'CAN NOT CREATE NAMESERVER, PARENT DOMAIN STATUS PROHIBITS THIS OPERATION','ro':'NU SE POATE CREA NAMESERVER-UL, STAREA DOMENIULUI PARINTE NU PERMITE ACEASTA OPERATIE'}, '10504':{'en':'CAN NOT UPDATE NAMESERVER, PARENT DOMAIN STATUS PROHIBITS THIS OPERATION','ro':'NU SE POATE MODIFICA NAMESERVER-UL, STAREA DOMENIULUI PARINTE NU PERMITE ACEASTA OPERATIE'}, '10505':{'en':'NAMESERVER CAN NOT BE UPDATED, NAMESERVER STATUS PROHIBITS THIS OPERATION','ro':'NAMESERVER-UL NU POATE FI MODIFICAT, STAREA NAMESERVER-ULUI NU PERMITE ACEASTA OPERATIE'}, '10506':{'en':'RENEW PROHIBITED, DOMAIN STATUS PROHIBITS THIS OPERATION','ro':'PRELUNGIREA DOMENIULUI ESTE INTERZISA, STAREA DOMENIULUI NU PERMITE ACEASTA OPERATIE'}, '10507':{'en':'CONTACT CAN NOT BE UPDATED, CONTACT STATUS PROHIBITS THIS OPERATION','ro':'CONTACTUL NU POATE FI MODIFICAT, STAREA CONTACTULUI NU PERMITE ACEASTA OPERATIE'}, '10508':{'en':'DOMAIN CAN NOT BE RENEWED','ro':'DOMENIUL NU POATE FI PRELUNGIT'}, '10509':{'en':'DOMAIN CAN NOT BE DELETED, DOMAIN STATUS PROHIBITS THIS OPERATION','ro':'DOMENIUL NU POATE FI STERS, STAREA DOMENIULUI NU PERMITE ACEASTA OPERATIE'}, '10510':{'en':'NAMESERVER CAN NOT BE DELETED, NAMESERVER STATUS PROHIBITS THIS OPERATION','ro':'NAMESERVER-UL NU POATE FI STERS, STAREA SA NU PERMITE ACEASTA OPERATIE'}, '10511':{'en':'NAMESERVER CAN NOT BE DELETED, NAMESERVER IS ASSOCIATED WITH OTHER DOMAINS','ro':'NAMESERVER-UL NU POATE FI STERS, NAMESERVER-UL ESTE ASOCIAT CU ALTE DOMENII'}, '10512':{'en':'TRANSFER PROHIBITED, DOMAIN STATUS PROHIBITS THIS OPERATION','ro':'TRANSFERAREA DOMENIULUI ESTE INTERZISA, STAREA DOMENIULUI NU PERMITE ACEASTA OPERATIE'}, '10513':{'en':'TRADE PROHIBITED, DOMAIN STATUS PROHIBITS THIS OPERATION','ro':'TRASFERUL DREPTULUI DE FOLOSINTA AL DOMENIULUI ESTE INTERZISA, STAREA DOMENIULUI NU PERMITE ACEASTA OPERATIE'}, '10514':{'en':'CAN NOT OPEN NEW TRADE REQUEST, THERE IS ALREADY ONE OPENED','ro':'NU SE POATE DESCHIDE O CERERE DE TRANSFER PENTRU ACEST DOMENIU, EXISTA DEJA UNA IN LUCRU'}, '20001':{'en':'NULL/ZERO BALANCE','ro':'BALANTA ZERO/NULL'}, '20002':{'en':'INSUFFICIENT FUNDS','ro':'FONDURI INSUFICIENTE'}, '40001':{'en':'REGISTRAR ACCOUNT NOT ACTIVE','ro':'CONTUL REGISTRARULUI NU ESTE ACTIV'}, '40002':{'en':'OPERATION NOT SUPPORTED FOR YOUR REGISTRAR TYPE','ro':'OPERATIE NU ESTE SUPORTATA PENTRU TIPUL DE PARTENERIAT'}, '40003':{'en':'API ACCESS DENIED','ro':'ACCES API RESTRICTIONAT'}, '40004':{'en':'REGISTRAR NOT FOUND','ro':'REGISTRAR INEXISTENT'}, '40404':{'en':'REGISTRAR NOT ALLOWED FROM THIS REMOTE IP','ro':'ACCESUL REGISTRARULUI DE LA ACEST IP NU ESTE PERMISA'}, '40405':{'en':'NO REGISTRAR BALANCE AVAILABLE','ro':'BALANTA REGISTRARULUI NU ESTE DISPONIBILA'}, '50001':{'en':'DOMAIN NAME PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL NUME DOMENIU'}, '50002':{'en':'INVALID .RO DOMAIN NAME','ro':'NUMELE DE DOMENIU ESTE INVALID'}, '50003':{'en':'YYYYMM PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL YYYYMM'}, '50004':{'en':'YYYYMM PARAMETER INVALID','ro':'PARAMETRUL YYYYMM ESTE INVALID'}, '50005':{'en':'CONTACT ID {CID} PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL CONTACT ID {CID}'}, '50006':{'en':'INVALID CONTACT ID {CID}','ro':'CONTACT ID {CID} ESTE INVALID'}, '50007':{'en':'NAMESERVER PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL NAMESERVER'}, '50008':{'en':'INVALID NAMESERVER','ro':'NAMESERVER ESTE INVALID'}, '50009':{'en':'REGISTRANT CONTACT ID PARAMETER MISSING','ro':'ID-UL CONTACTULUI DE TIP REGISTRANT LIPSESTE'}, '50010':{'en':'INVALID REGISTRANT CONTACT ID','ro':'ID-UL CONTACTULUI DE TIP REGISTRANT ESTE INVALID'}, '50011':{'en':'TECHNICAL CONTACT ID PARAMETER MISSING','ro':'ID-UL CONTACTULUI DE TIP TECHNICAL LIPSESTE'}, '50012':{'en':'INVALID TECHNICAL CONTACT ID','ro':'ID-UL CONTACTULUI DE TIP TECHNICAL ESTE INVALID'}, '50013':{'en':'DOMAIN PASSWORD PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL PAROLA DOMENIU'}, '50014':{'en':'INVALID DOMAIN PASSWORD','ro':'PAROLA DE DOMENIU ESTE INVALIDA'}, '50015':{'en':'DOMAIN PERIOD PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL PERIOADA DOMENIU'}, '50016':{'en':'INVALID DOMAIN PERIOD','ro':'PERIOADA PENTRU DOMENIU ESTE INVALIDA'}, '50017':{'en':'NAMESERVERS PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL NAMESERVERS'}, '50018':{'en':'MAXIMUM NUMBER OF NAMESERVERS [6] EXCEEDED','ro':'NUMARUL MAXIM DE NAMESERVERE PERMISE [6] A FOST DEPASIT'}, '50019':{'en':'IPS PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL IPS'},
33
'50020':{'en':'INVALID IP ADDRESS','ro':'ADRESA IP ESTE INVALIDA'}, '50021':{'en':'MAXIMUM NUMBER OF IPS [2] EXCEEDED','ro':'NUMARUL MAXIM DE IP-URI PERMISE [2] A FOST DEPASIT'}, '50022':{'en':'DOMAIN EXPIRE DATE EXCEEDS 10 YEARS FROM NOW','ro':'DATE DE EXPIRARE A DOMENIULUI DEPASESTE 10 ANI FATA DE MOMENTUL ACTUAL'}, '50023':{'en':'IDNUM1 PARAMETER MISSING','ro':'LIPSESTE PARAMETRUL IDNUM1'}, '50024':{'en':'{IDNUM1} PARAMETER INVALID ','ro':'PARAMETRUL {IDNUM1} ESTE INVALID'}, '50025':{'en':'{IDNUM2} PARAMETER INVALID ','ro':'PARAMETRUL {IDNUM2} ESTE INVALID'}, '50026':{'en':'INVALID CONTACT ID','ro':'ID-UL CONTACTULUI ESTE INVALID'}, '50027':{'en':'INVALID DOMAIN STATUS','ro':'STATUS DOMENIU INVALID'}, '50028':{'en':'INVALID AUTHORIZATION KEY','ro':'CHEIA DE AUTORIZARE INVALIDA'}, '50029':{'en':'{TID} PARAMETER INVALID ','ro':'PARAMETRUL {TID} ESTE INVALID'}, '50030':{'en':'CAN NOT TRANSFER THE DOMAIN TO THE SAME REGISTRAR','ro':'NU SE POATE TRANSFERA DOMENIUL CATRE ACELASI REGISTRAR'}, '50101':{'en':'{NAME} REQUIRED','ro':'PARAMETRUL {NAME} OBLIGATORIU'}, '50102':{'en':'{NAME} INVALID','ro':'PARAMETRUL {NAME} INVALID'}, '50103':{'en':'{ORGANIZATION} REQUIRED','ro':'PARAMETRUL {ORGANIZATION} OBLIGATORIU'}, '50104':{'en':'{ORGANIZATION} INVALID','ro':'PARAMETRUL {ORGANIZATION} INVALID'}, '50105':{'en':'{PHONE} REQUIRED','ro':'PARAMETRUL {PHONE} OBLIGATORIU'}, '50106':{'en':'{PHONE} INVALID','ro':'PARAMETRUL {PHONE} INVALID'}, '50107':{'en':'{FAX} REQUIRED','ro':'PARAMETRUL {FAX} OBLIGATORIU'}, '50108':{'en':'{FAX} INVALID','ro':'PARAMETRUL {FAX} INVALID'}, '50109':{'en':'{EMAIL} REQUIRED','ro':'PARAMETRUL {EMAIL} OBLIGATORIU'}, '50110':{'en':'{EMAIL} INVALID','ro':'PARAMETRUL {EMAIL} INVALID'}, '50111':{'en':'{ADDRESS1} REQUIRED','ro':'PARAMETRUL {ADDRESS1} OBLIGATORIU'}, '50112':{'en':'{ADDRESS1} INVALID','ro':'PARAMETRUL {ADDRESS1} INVALID'}, '50113':{'en':'{ADDRESS2} REQUIRED','ro':'PARAMETRUL {ADDRESS2} OBLIGATORIU'}, '50114':{'en':'{ADDRESS2} INVALID','ro':'PARAMETRUL {ADDRESS2} INVALID'}, '50115':{'en':'{ADDRESS3} REQUIRED','ro':'PARAMETRUL {ADDRESS3} OBLIGATORIU'}, '50116':{'en':'{ADDRESS3} INVALID','ro':'PARAMETRUL {ADDRESS3} INVALID'}, '50117':{'en':'{CITY} REQUIRED','ro':'PARAMETRUL {CITY} OBLIGATORIU'}, '50118':{'en':'{CITY} INVALID','ro':'PARAMETRUL {CITY} INVALID'}, '50119':{'en':'{COUNTRY_CODE} REQUIRED','ro':'PARAMETRUL {COUNTRY_CODE} OBLIGATORIU'}, '50120':{'en':'{COUNTRY_CODE} INVALID','ro':'PARAMETRUL {COUNTRY_CODE} INVALID'}, '50121':{'en':'{STATE_PROVINCE} REQUIRED','ro':'PARAMETRUL {STATE_PROVINCE} OBLIGATORIU'}, '50122':{'en':'{STATE_PROVINCE} INVALID','ro':'PARAMETRUL {STATE_PROVINCE} INVALID'}, '50123':{'en':'{POSTAL_CODE} REQUIRED','ro':'PARAMETRUL {POSTAL_CODE} OBLIGATORIU'}, '50124':{'en':'{POSTAL_CODE} INVALID','ro':'PARAMETRUL {POSTAL_CODE} INVALID'}, '50125':{'en':'{COUNTRY_CODE} INVALID OR NOT SUPPORTED','ro':'{COUNTRY_CODE} ESTE INVALID SAU NERECUNOSCUT'}, '50126':{'en':'{REGID} REQUIRED','ro':'PARAMETRUL {REGID} OBLIGATORIU'}, '50127':{'en':'REGISTRAR {PASSWORD} REQUIRED','ro':'PARAMETRUL {PASSWORD} OBLIGATORIU PENTRU REGISTRAR'}, '50128':{'en':'{CNP_FISCAL_CODE} REQUIRED','ro':'{CNP_FISCAL_CODE} OBLIGATORIU'}, '50129':{'en':'{CNP_FISCAL_CODE} INVALID','ro':'{CNP_FISCAL_CODE} INVALID'}, '50130':{'en':'{REGISTRATION_NUMBER} REQUIRED','ro':'{REGISTRATION_NUMBER} OBLIGATORIU'}, '50131':{'en':'{REGISTRATION_NUMBER} INVALID','ro':'{REGISTRATION_NUMBER} INVALID'},
34
'50136':{'en':'{PERSON_TYPE} REQUIRED','ro':'{PERSON_TYPE} OBLIGATORIU'}, '50137':{'en':'{PERSON_TYPE} INVALID','ro':'{PERSON_TYPE} INVALID'}, '50501':{'en':'UNICODE CHARACTER NOT SUPPORTED','ro':'CARACTER UNICODE NEPERMIS'}, '50502':{'en':'DOMAIN NAME CONTAINS CHARACTERS FROM DIFFERENT SUBSETS','ro':'DOMENIUL CONTINE CARACTERE DIN SUBSETURI DIFERITE'}, '50601':{'en':'DOMAIN HAS BAD WORDS','ro':'DOMENIUL CONTINE CUVINTE OBSCENE SAU FILTRATE'}, '60001':{'en':'EXECUTING COMMAND FAILED','ro':'EXECUTIA COMENZII A ESUAT'}, '80001':{'en':'INVALID CALL ON RESOURCE','ro':'APELUL RESURSEI ESTE INVALID'}, '80002':{'en':'UNSUPPORTED REQUEST METHOD. ACCEPTING ONLY "POST" CALLS','ro':'METODA CERERII NU ESTE SUPORTATA. SUNT ACCEPTATE DOAR CERERI DE TIP "POST"'}, '80003':{'en':'INVALID COMMAND','ro':'COMANDA INVALIDA'}, '90001':{'en':'UNCAUGHT EXCEPTION RAISED','ro':'EROARE PRIN EXCEPTIE'}, '90002':{'en':'METHOD NOT AVAILABLE TO REGISTRAR','ro':'METODA NU ESTE DISPONIBILA REGISTRARULUI'}, '90003':{'en':'ERROR WHILE FETCHING NEXTVAL FROM SEQUENCE','ro':'EROARE LA OBTINEREA VALORII DIN SECVENTA'}, '90004':{'en':'MONGODB IS DOWN','ro':'MONGODB ESTE NEFUNCTIONALA'}, '90005':{'en':'INVALID MONGO OBJECTID','ro':'OBJECTID INVALID PENTRU MONGODB'}, }
35