Add New Currencies

Purpose

To add new currencies to your organization.

Request Details

Request URL

{api-domain}/crm/{version}/org/currencies

Header

Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52

Scope

scope=ZohoCRM.settings.currencies.{operation_type}

Possible operation types

CREATE - Create currencies

Sample Request

Copiedcurl "https://www.zohoapis.com/crm/v3/org/currencies"
-X POST
-d input.json
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Copiedcurrency1Format = Map();
currency1Format.put("decimal_separator", "Period");
currency1Format.put("thousand_separator", "Comma");
currency1Format.put("decimal_places", "2");

currency1 = Map();
currency1.put("format", currency1Format);
currency1.put("prefix_symbol", true);
currency1.put("name", "Algerian Dinar-ADN");
currency1.put("iso_code", "DZD");
currency1.put("symbol", "Af");
currency1.put("exchange_rate", "1.0000000");
currency1.put("is_active", "true");

currenciesList = List();
currenciesList.add(currency1);

params = Map();
params.put("currencies", currenciesList);


response = invokeurl
[
	url :"https://www.zohoapis.com/crm/v3/org/currencies"
	type :POST
	parameters: params.toString()
	connection:"crm_oauth_connection"
];
info response;

In the request, "@input.json" contains the sample input data.

Request JSON Keys

  • prefix_symbolboolean, optional

    Represents the position of the ISO code in the currency.
    Possible Values:
    true: Display ISO code before the currency value.
    false:Display ISO code after the currency value.

  • namestring, mandatory

    Represents the name of the currency.

  • iso_codestring, mandatory

    Represents the ISO code of the currency.

  • symbolstring, optional

    Represents the symbol of the currency.

  • exchange_ratestring, mandatory

    Represents the rate at which the currency has to be exchanged for home currency.

  • is_activeboolean, optional

    Represents the status of the currency.
    Possible Values:
    true: The currency is active.
    false:The currency is inactive.

  • formatJSON object, optional

    Represents the format of the base currency with details like decimal_separator, thousand_separator, and decimal_places.

Keys to be specified in format JSON Object

  • decimal_separatorstring, optional

    The decimal separator separates the integer part of the currency from its fractional part. It can be a Period or Comma, depending on the currency.

  • thousand_separatorstring, optional

    The thousand separator separates groups of thousands in a currency. It can be a Period, Comma, or Space, depending on the currency.

  • decimal_placesinteger, optional

    Represents the number of decimal places allowed for the currency. It can be 0, 2, or 3.

Sample Input

Copied{
  "currencies": [
    {
      "format": {
        "decimal_separator": "Period",
        "thousand_separator": "Comma",
        "decimal_places": "2"
      },
      "prefix_symbol": true,
      "name": "Saudi Riyal - SAR",
      "iso_code": "SAR",
      "symbol": "SR",
      "exchange_rate": "1.0000000",
      "is_active": true
    }
  ]
}

Possible Errors

  • INVALID_URL_PATTERNHTTP 404

    Please check if the URL trying to access is a correct one
    Resolution: The request URL has syntactical errors.

  • ACTIVE_STATE_LIMIT_EXCEEDEDHTTP 400

    Allowed active currency limit 10 reached. Please deactivate any one of the existing active currencies to create this currency
    Resolution: You already have ten active currencies.

  • INVALID_DATAHTTP 400

    Currency name is invalid
    Resolution: You have specified an invalid currency name. Go to setup> Company Details> Under Currencies tab> Click Add> The Currency picklist will have valid currency names and ISO codes.

  • INVALID_DATAHTTP 400

    ISO code is invalid
    Resolution: You have specified an invalid ISO code. Go to setup> Company Details> Under Currencies tab> Click Add> The Currency picklist will have valid currency names and ISO codes.

  • INVALID_DATAHTTP 400

    Currency symbol is invalid.
    Resolution: You have specified an invalid currency symbol.

  • DUPLICATE_DATAHTTP 400

    Duplicate value given for \"Isocode\" parameter.
    Resolution: The currency specified in the input JSON is already present. Even if the status of the currency is inactive, it will still be present in the list.

  • FEATURE_NOT_SUPPORTEDHTTP 403

    The multi-currency feature is not available except the Enterprise and higher editions.
    Resolution: The multi-currency feature is only available in Enterprise and Ultimate editions.

  • MANDATORY_NOT_FOUNDHTTP 400

    Required field not found.
    Resolution: Refer to Request JSON section above and specify all the mandatory keys in the input.

  • OAUTH_SCOPE_MISMATCHHTTP 401

    Unauthorized
    Resolution: Client does not have ZohoCRM.settings.currencies.CREATE scope. Create a new client with valid scope. Refer to scope section above.

  • NO_PERMISSIONHTTP 403

    Permission denied to create
    Resolution: The user does not have permission to add currencies. Contact your system administrator.

  • INTERNAL_ERRORHTTP 500

    Internal Server Error
    Resolution: Unexpected and unhandled exception in Server. Contact support team.

  • INVALID_REQUEST_METHODHTTP 400

    The http request method type is not a valid one
    Resolution: You have specified an invalid HTTP method to access the API URL. Specify a valid request method. Refer to endpoints section above.

  • AUTHORIZATION_FAILEDHTTP 400

    User does not have sufficient privilege to add currencies.
    Resolution: The user does not have the permission to add currencies. Contact your system administrator.

Sample Response

Copied{
    "currencies": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "4150868000000780026"
            },
            "message": "The currency created successfully.",
            "status": "success"
        }
    ]
}