O Open Cloud representa solicitações e respostas de payloads como JSON padrão.Os tipos JSON de padrão são texto, valores, objetos, arrays, números e strings.Alguns tipos têm considerações especiais para representar tipos específicos de dados, que são descritas nas seções a seguir.
Data e Hora do Registro
Usa o RFC 3339, onde a saída gerada sempre será z-normalizada e usa 0, 3, 6 ou 9 dígitos fracionais. Ofsets diferentes de "Z" também são aceitos.
Exemplo de data de hora
{ "timestamp": "1972-01-01T10:00:20.021Z" }
Duração
A saída gerada sempre contém 0, 3, 6 ou 9 dígitos fracionais, dependendo da precisão necessária, seguido pelo sufixo "s".Aceito são quaisquer dígitos fracionais (também nenhum) desde que se encaixem na precisão de nanosegundos e o sufixo "s" seja necessário.O alcance deve ser de -315,576,000,000 a 315,576,000,000 segundos, inclusive.
Exemplos de Durações
{
"duration-9": "1.000340012s",
"duration-0": "1s"
}
Biticos
Os dados de bytes são codificados como uma string usando o padrão de codificação base64 com espaços.Seja qual for o código base64 padrão ou seguro para URLs com ou sem espaços é suportado.
Exemplos de bytes
{
"bytes": "YWJjMTIzIT8kKiYoKSctRbLx+"
}
Máscara de Campo
Uma Máscara de Campo é uma string que descreve os campos a serem ativados ao fazer um solicitar / pedir.Para construir uma máscara de campo, você especifica nomes de campo JSON delimitados por vírgula em uma string / cadeia / texto.Por exemplo, dado o seguinte recurso:
Exemplo de recurso JSON
{
"foo": {
"a": "c",
"b": "d"
},
"bar": "x",
"baz": "y"
}
Se você quisesse especificar uma máscara de campo para atualizar os valores apenas de foo.b e bar, a máscara de campo teria o aspecto de: foo.b, bar
No Open Cloud, métodos de atualização que suportam uma máscara de campo têm um parâmetro chamado updateMask, onde você pode especificar uma máscara de campo como um valor.
Dinheiro
Geralmente usado para definir um preço, o tipo Money tem um código de moeda de três letras (como definido na ISO 4217) e uma quantidade, que usa o digitarDecimal.Por exemplo, você pode representar um preço de $17.99 como este:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 1799,
"exponent": -2
}
}
Os produtos da Loja do Criador requerem um exponent de -9, então o mesmo preço parece assim:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 17990000000,
"exponent": -9
}
}
Decimal
Representa um número decimal em uma forma semelhante à notação científica, com dígitos significativos e um exponencial.
Exemplos:
17
{"significand": 17, "exponent": 0} ou apenas {"significand": 17}
-0.005
{"significand": -5, "exponent": -3}
33,5 milhões (33,500,000)
{"significand": 335, "exponent": 5}
11/8 (1.375)
{"significand": 1375, "exponent": -3}
Quando exponent é maior que 0, representa o número de zeros traseiros após os dígitos significativos.Quando exponent é menor que 0, representa quantos dos dígitos significativos vêm depois do ponto decimal.Quando exponent é 0, o valor do Decimal é o valor do significand.