Request Data Types

Request data may be encoded into several primitive types. Since all data is eventually represented as UTF-8 strings, these types mostly define what characters are considered valid for data of a specific type. Additional validation rules may apply for specific parameters.

  • Boolean - A case insensitive Boolean value, represented as either “TRUE” or “FALSE”.

  • Integer - An integer (whole number).

  • String - A string of characters.

  • TimeStamp - The time and date represented in RFC-882/RFC-1123 format (e.g. “Sun, 06 Nov 1994 08:49:37 GMT“). The time and date must always be represented in the GMT time zone, even if the server or client uses a different default time zone.

  • Array - An array of values. Arrays are encoded by adding square brackets with an incrementing 0-based index number to the parameter name. For example, the array parameter fruits = (“apple”, “orange”, “banana”) is to be represented as follows:

    fruits[0]=apple&fruits[1]=orange&fruits[2]=banana 

    Since request parameter names must be URL-encoded, the above parameter will actually be sent as:

    fruits%5B0%5D=apple&fruits%5B1%5D=orange&fruits%5B2%5D=banana
  • Hashmap - A hash map (associative array) of values. Hashmaps are encoded using square brackets after the parameter name, with a key name inside the square brackets (unlike the Array type, in which a number based index is used).
    For example, the hash map UserInfo = { name: Tuco, lastname: Ramirez } will be represented as follows:

    UserInfo[name]=Tuco&UserInfo[lastname]=Ramirez

    Since request parameter names must be URL encoded, the above parameter will actually be sent as:

    UserInfo%5Bname%5D=Tuco&UserInfo%5Blastname%5D=Ramirez