Messente avatar logo

Pricing API

Account prices to specific country

Pricing API endpoints
Main API endpointhttps://api2.messente.com/prices/
Backup API endpointhttps://api3.messente.com/prices/
Request parameters
KeyValueRequired
usernameAPI account user name from the Messente's web page Yes
passwordAPI account security key (API key) from the Messente's web page Yes
countryTwo-letter country code. Ex: GB Yes
formatDesired response format. Currently supported: json / xml
Defaults to "json".
 No
Response codes
CodeMeaning
ERROR 101Access is restricted, wrong credentials. Check the username and password values.
ERROR 102Parameters are wrong or missing. Check that all the required parameters are present.
ERROR 103IP address is not allowed.
ERROR 104Country was not found.
ERROR 105This country is not supported
ERROR 106Invalid format provided. Only json or xml is allowed.
FAILED 209Server failure, try again after a few seconds or try the api3.messente.com backup server.

Example request (JSON response)

https://api2.messente.com/prices/
?username=api_username&password=api_password&country=EE

Successful response:

{"country":"EE","name":"Estonia","prefix":"372","networks":[
{"mccmnc":"24803","name":"Tele2","price":"0.06000"},
{"mccmnc":"24802","name":"Elisa","price":"0.06000"},
{"mccmnc":"24801","name":"EMT","price":"0.06000"}]}

Example request (XML response)

https://api2.messente.com/prices/
?username=api_username&password=api_password&country=EE&format=xml

Successful response:

<?xml version='1.0' encoding='UTF-8' standalone="yes"?>
<pricing>
<country>EE</country>
<name>Estonia</name>
<prefix>372</prefix>
<networks>
<network>
<mccmnc>24803</mccmnc>
<name>Tele2</name>
<price>0.06000</price>
</network>
<network>
<mccmnc>24802</mccmnc>
<name>Elisa</name>
<price>0.06000</price>
</network>
<network>
<mccmnc>24801</mccmnc>
<name>EMT</name>
<price>0.06000</price>
</network>
</networks>
</pricing>

EXAMPLES

import messente
import json

api = messente.Messente(
    username="api_user",
    password="api_password"
)

# Fetch prices for country, default format is json
response = api.pricing.get_country_prices("ee")
if response.is_ok():
    print(json.loads(response.get_result()))

    



Account full pricelist

Full Pricelist API endpoints
Main API endpointhttps://api2.messente.com/pricelist/
Backup API endpointhttps://api3.messente.com/pricelist/

Messente has an API for downloading the full pricelist in a developer-friendly CSV format. This is suitable for users who send to multiple destinations and require to keep their pricelist up to date at all times.

The preferred frequency when to update the pricelist is around 6 hours but no more than every 2 hours.

Request parameters
KeyValueRequired
usernameAPI account user name from the Messente's web page Yes
passwordAPI account security key (API key) from the Messente's web page     Yes

When the request was unsuccessful, the HTTP response includes the response code:

Response codes
CodeMeaning
ERROR 101Access is restricted, wrong credentials. Check the username and password values.
ERROR 102Parameters are wrong or missing. Check that all the required parameters are present.
ERROR 103IP address not allowed.
FAILED 209Server failure, try again after a few seconds or try the api3.messente.com backup server.    

Example request

https://api2.messente.com/pricelist/
?username=api_username&password=api_password

Successful response snippet:

Country,Code,MCCMNC,Network,Price
Canada,CA,302270,EastLink,0.0062
Papua New Guinea,PG,53703,Digicel,0.0485
India,IN,40440,Airtel - Chennai,0.0448
United States,US,310284,Verizon Wireless,0.0062
....

EXAMPLES

import messente
import tempfile
import json

api = messente.Messente(
    username="api_user",
    password="api_password"
)

# Fetch whole pricelist
response = api.pricing.get_pricelist()
if response.is_ok():
    print(response.get_result())

# Save whole pricelist in a file
(_, filename) = tempfile.mkstemp()
response = api.pricing.get_pricelist(filename)
if response.is_ok():
    print("Pricelist saved in:", filename)