Thor v1.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
API de acesso ao histórico de raios.
Base URLs:
Email: Suporte Somar Web: Suporte Somar
Authentication
- API Key (API Key)
- Parameter Name: x-api-key, in: header. Chave de acesso utilizada para realizar a autenticação no sistema.
Default
Histórico de raios
Code samples
# You can also use wget
curl -X POST https://api.thor.somar.io/history \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
$.ajax({
url: 'https://api.thor.somar.io/history',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"from": "2019-01-01 00:00:00",
"to": "2019-01-02 00:00:00",
"geometry": {
"type": "Point",
"coordinates": [
125.6,
10.1
],
"properties": {
"radius": 0.01,
"x-widdershins-oldRef": "#/components/schemas/radius/x-examples/Radius"
}
},
"postback_url": "https://mock.io",
"x-widdershins-oldRef": "#/components/schemas/pointQuery/x-examples/singlePoint"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://api.thor.somar.io/history',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('https://api.thor.somar.io/history', params={
}, headers = headers)
print r.json()
POST /history
Retorna o descritivo dos raios em relação ao modelo de busca e o intervalo de data.
Body parameter
{
"from": "2019-01-01 00:00:00",
"to": "2019-01-02 00:00:00",
"geometry": {
"type": "Point",
"coordinates": [
125.6,
10.1
],
"properties": {
"radius": 0.01,
"x-widdershins-oldRef": "#/components/schemas/radius/x-examples/Radius"
}
},
"postback_url": "https://mock.io",
"x-widdershins-oldRef": "#/components/schemas/pointQuery/x-examples/singlePoint"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | any | false | Os modelos aceitos pelo histórico de raios são: pontos e polígono, ambos exemplos podem ser encontrados na documentação dessa API. |
Example responses
201 Response
{
"id": "string",
"query": {
"from": "2019-01-01 00:00:00Z",
"to": "2019-01-02 00:00:00Z",
"geometry": "point",
"postback_url": "https://postback.mycompany.io/lightnings"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A solicitação foi criada para a API e assim que finalizado será realizado o postback da informação para a url fornecida. | createdResponse |
400 | Bad Request | A requisição não está formada corretamente, na mensagem de erro é possível encontrar mais informações sobre a falha e o que deve ser alterado. | standardError |
Cancelar solicitação
Code samples
# You can also use wget
curl -X GET https://api.thor.somar.io/{id}/cancel \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
var headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
$.ajax({
url: 'https://api.thor.somar.io/{id}/cancel',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://api.thor.somar.io/{id}/cancel',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('https://api.thor.somar.io/{id}/cancel', params={
}, headers = headers)
print r.json()
GET /{id}/cancel
Cancela a solicitação de busca das informações.
Body parameter
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Id da solicitação criada para a API. |
Example responses
Sua solicitação foi cancelada.
{
"id": "9f3f56d6-0d55-11ea-9c5a-b05216fee501",
"status": "canceled"
}
O id está não se encontra no padrão.
{
"error": "Invalid id - does not match schema."
}
O id não foi encontrado.
{
"error": "Id not found."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Sua solicitação foi cancelada. | statusResponse |
400 | Bad Request | O id está não se encontra no padrão. | standardError |
404 | Not Found | O id não foi encontrado. | standardError |
Resumo de raios
Code samples
# You can also use wget
curl -X POST https://api.thor.somar.io/summary \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
$.ajax({
url: 'https://api.thor.somar.io/summary',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"from": "2019-01-01 00:00:00",
"to": "2019-01-02 00:00:00",
"geometry": {
"type": "Point",
"coordinates": [
125.6,
10.1
],
"properties": {
"radius": 0.01,
"x-widdershins-oldRef": "#/components/schemas/radius/x-examples/Radius"
}
},
"postback_url": "https://mock.io",
"x-widdershins-oldRef": "#/components/schemas/pointQuery/x-examples/singlePoint"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://api.thor.somar.io/summary',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('https://api.thor.somar.io/summary', params={
}, headers = headers)
print r.json()
POST /summary
Esse request retorna a contagem dos raios em relação ao modelo de busca e o intervalo de data.
Body parameter
{
"from": "2019-01-01 00:00:00",
"to": "2019-01-02 00:00:00",
"geometry": {
"type": "Point",
"coordinates": [
125.6,
10.1
],
"properties": {
"radius": 0.01,
"x-widdershins-oldRef": "#/components/schemas/radius/x-examples/Radius"
}
},
"postback_url": "https://mock.io",
"x-widdershins-oldRef": "#/components/schemas/pointQuery/x-examples/singlePoint"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | any | false | Os modelos aceitos pelo reusmo de raios são: pontos e polígono, ambos exemplos podem ser encontrados na documentação dessa API. |
Example responses
201 Response
{
"id": "string",
"query": {
"from": "2019-01-01 00:00:00Z",
"to": "2019-01-02 00:00:00Z",
"geometry": "point",
"postback_url": "https://postback.mycompany.io/lightnings"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A solicitação foi criada para a API e assim que finalizado será realizado o postback da informação para a url fornecida. | createdResponse |
400 | Bad Request | A requisição não está formada corretamente, na mensagem de erro é possível encontrar mais informações sobre a falha e o que deve ser alterado. | standardError |
Status da solicitação
Code samples
# You can also use wget
curl -X GET https://api.thor.somar.io/{id}/status \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
var headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
$.ajax({
url: 'https://api.thor.somar.io/{id}/status',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://api.thor.somar.io/{id}/status',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('https://api.thor.somar.io/{id}/status', params={
}, headers = headers)
print r.json()
GET /{id}/status
Busca as informações sobre a solicitação e o seu atual status.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Id da solicitação criada para a API. |
Example responses
Solicitação encontrada. Mais schemas de respostas podem ser encontrados na schema de solicitações.
{
"id": "9f3f56d6-0d55-11ea-9c5a-b05216fee501",
"status": "finished",
"url": "https://s3.amazonaws.com/path-to-file/file-name.csv"
}
O id está não se encontra no padrão.
{
"error": "Invalid id - does not match schema."
}
O id não foi encontrado.
{
"error": "Id não encontrado."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Solicitação encontrada. | |
Mais schemas de respostas podem ser encontrados na schema de solicitações. | statusResponse | ||
400 | Bad Request | O id está não se encontra no padrão. | standardError |
404 | Not Found | O id não foi encontrado. | standardError |
Your GET endpoint
Code samples
# You can also use wget
curl -X GET https://api.thor.somar.io/states \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
var headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
$.ajax({
url: 'https://api.thor.somar.io/states',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://api.thor.somar.io/states',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('https://api.thor.somar.io/states', params={
}, headers = headers)
print r.json()
GET /states
Retorna todos os estados disponíveis para a busca de informações com base nos polígonos cadastrados.
Body parameter
Example responses
OK
{
"from": "2019-01-01 00:00:00",
"to": "2019-01-02 00:00:00",
"state": "37",
"postback_url": "https://mock.io"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | stateQuery |
400 | Bad Request | Bad Request | None |
Schemas
pointQuery
{
"from": "2019-01-01 00:00:00Z",
"to": "2019-01-02 00:00:00Z",
"geometry": "point",
"postback_url": "https://postback.mycompany.io/lightnings"
}
Paramêtros para a busca em relação a pontos
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
from | string(date-time) | true | none | Início do período de busca. |
to | string(date-time) | true | none | Final do período de busca. |
geometry | object | true | none | none |
» type | string | true | none | Geometria de referência utilizada na busca. |
» coordinates | position | true | none | Posição com as coordenadas x, y (ordenado por longitude, latitude). |
» properties | radius | true | none | Distância de busca em relação aos pontos (unidade graus). |
postback_url | string(uri) | false | none | URL para a devolução do arquivo - Ela deve possuir https para que seja aceita. Caso nenhum valor seja informado a operação não sera realizada, sendo responsabilidade do solicitante pegar o arquivo resultado. |
Enumerated Values
Property | Value |
---|---|
geometry | point |
geometry | polygon |
type | Point |
polygonQuery
{
"geometry": "point",
"to": "2019-01-02 00:00:00Z",
"from": "2019-01-01 00:00:00Z",
"postback_url": "https://postback.mycompany.io/lightnings"
}
Parâmetros para busca em polígonos
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Parâmetros para busca em polígonos | any | false | none | Query para a busca de raios em uma geometria de ponto e em uma distância máxima do mesmo. |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» geometry | object | true | none | Geometria de referência utilizada na busca. |
»» type | string | false | none | none |
»» coordinates | [array] | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | genericParameters | false | none | Parâmetros utilizados em todos as solicitações de eventos climáticos. |
Enumerated Values
Property | Value |
---|---|
geometry | point |
geometry | polygon |
standardError
{
"error_message": "string"
}
Erro padrão
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error_message | string | true | none | Descrição do erro com o motivo e possível solução, quando cabe. |
createdResponse
{
"id": "string",
"query": {
"from": "2019-01-01 00:00:00Z",
"to": "2019-01-02 00:00:00Z",
"geometry": "point",
"postback_url": "https://postback.mycompany.io/lightnings"
}
}
Requisição criada
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | true | none | Id que será utilizado como identificador em toda a aplicação. |
query | any | false | none | Descrição da query utilizada na busca das informações. |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | pointQuery | false | none | Query para a busca de raios em uma geometria de ponto e em uma distância máxima do mesmo. |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | polygonQuery | false | none | Query para a busca de raios em uma geometria de ponto e em uma distância máxima do mesmo. |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | multiPointQuery | false | none | Query para a busca de raios em uma geometria de multi pontos e em uma distância máxima do mesmos. |
statusResponse
{
"id": "string",
"status": "in queue",
"url": "string",
"error": "string"
}
Resposta de status
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | true | none | Id informado na solicitação. |
status | string | true | none | Status da solicitação. |
url | string | false | none | URL para a aquisição dos dados. |
error | string | false | none | Descrição do erro o qual a aplicação enfrentou. |
Enumerated Values
Property | Value |
---|---|
status | in queue |
status | runnning |
status | canceled |
status | finished |
status | failed |
multiPointQuery
{
"postback_url": "https://postback.mycompany.io/lightnings",
"geometry": "point",
"to": "2019-01-02 00:00:00Z",
"from": "2019-01-01 00:00:00Z"
}
Paramêtros para a busca em relação a pontos
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
postback_url | string(uri) | false | none | URL para a devolução do arquivo - Ela deve possuir https para que seja aceita. Caso nenhum valor seja informado a operação não sera realizada, sendo responsabilidade do solicitante pegar o arquivo resultado. |
geometry | object | true | none | none |
» type | string | true | none | Geometria de referência utilizada na busca. |
» coordinates | [position] | true | none | [Posição com as coordenadas x, y (ordenado por longitude, latitude).] |
» properties | radius | true | none | Distância de busca em relação aos pontos (unidade graus). |
to | string(date-time) | true | none | Final do período de busca. |
from | string(date-time) | true | none | Início do período de busca. |
Enumerated Values
Property | Value |
---|---|
geometry | point |
geometry | polygon |
type | MultiPoint |
position
"[ 100, 0 ]"
position
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
position | [number] | false | none | Posição com as coordenadas x, y (ordenado por longitude, latitude). |
radius
{
"radius": "0.01"
}
radius
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
radius | number | true | none | none |
genericParameters
{
"to": "2019-01-02 00:00:00Z",
"from": "2019-01-01 00:00:00Z",
"postback_url": "https://postback.mycompany.io/lightnings"
}
genericParameters
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
to | string(date-time) | true | none | Final do período de busca. |
from | string(date-time) | true | none | Início do período de busca. |
postback_url | string(uri) | false | none | URL para a devolução do arquivo - Ela deve possuir https para que seja aceita. Caso nenhum valor seja informado a operação não sera realizada, sendo responsabilidade do solicitante pegar o arquivo resultado. |
cityQuery
{
"to": "2019-01-02 00:00:00Z",
"from": "2019-01-01 00:00:00Z",
"postback_url": "https://postback.mycompany.io/lightnings",
"city": "string"
}
Parâmetros para a busca de cidades
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Parâmetros para a busca de cidades | any | false | none | Modelo de requisição para capturar as informações baseadas em cidades. |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | genericParameters | false | none | Parâmetros utilizados em todos as solicitações de eventos climáticos. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» city | string | true | none | none |
stateQuery
{
"to": "2019-01-02 00:00:00Z",
"from": "2019-01-01 00:00:00Z",
"postback_url": "https://postback.mycompany.io/lightnings",
"state": "string"
}
Parâmetros para a busca de cidades
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Parâmetros para a busca de cidades | any | false | none | Modelo de requisição para capturar as informações baseadas em municipios. |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | genericParameters | false | none | Parâmetros utilizados em todos as solicitações de eventos climáticos. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» state | string | true | none | none |