Saltar para o conteúdo

Integração da API

Todos os dados de recolha de resíduos estão disponíveis através de uma API HTTP aberta. A API é a base de qualquer integração – utilize-a diretamente nas suas próprias aplicações, scripts ou sistemas de casa inteligente.


Endpoint

O endpoint central devolve em JSON todas as datas de recolha de uma morada, agrupadas por tipo de resíduo. É o mesmo endpoint utilizado na integração openHAB:

POSThttps://binable.app/api/fetch

Método: POST · Resposta: JSON · A chave de API é opcional – são possíveis pedidos anónimos, mas podem ter limites mais restritos.

Com uma chave de API obtém limites de pedidos mais elevados. Basta acrescentar o cabeçalho Authorization: ApiKey <your-key>. Obter chave de API gratuita

Transmissão da morada

A morada pode ser transmitida de três formas diferentes – escolha a que melhor se adapta ao seu sistema.

São utilizados os seguintes campos: street, houseNumber, zip, city e country (código de país ISO 3166-1 alpha-2, por exemplo DE).

Parâmetros de consulta

Acrescente os campos da morada ao URL (os carateres acentuados/especiais têm de ser codificados em URL):

https://binable.app/api/fetch?street=Musterstra%C3%9Fe&houseNumber=1a&zip=12345&city=Musterstadt&country=DE

Cabeçalhos HTTP

Transmita a morada através de cabeçalhos X-Address-* – é o que a integração openHAB utiliza. Nota: sem carateres acentuados/especiais nos cabeçalhos, escreva "ue" em vez de "ü".

X-Address-Street: Musterstrasse
X-Address-HouseNumber: 1a
X-Address-Zip: 12345
X-Address-City: Musterstadt
X-Address-Country: DE

Corpo JSON

Envie a morada como objeto JSON no corpo do pedido:

{
  "street": "Musterstraße",
  "houseNumber": "1a",
  "zip": "12345",
  "city": "Musterstadt",
  "country": "DE"
}

Exemplo: chamada curl

Uma chamada completa com corpo JSON tem este aspeto:

curl -X POST https://binable.app/api/fetch \
  -H "Content-Type: application/json" \
  -d '{
    "street": "Musterstraße",
    "houseNumber": "1a",
    "zip": "12345",
    "city": "Musterstadt",
    "country": "DE"
  }'

A mesma chamada com uma chave de API:

curl -X POST https://binable.app/api/fetch \
  -H "Authorization: ApiKey <dein-api-key>" \
  -H "Content-Type: application/json" \
  -d '{"street":"Musterstraße","houseNumber":"1a","zip":"12345","city":"Musterstadt","country":"DE"}'

← Vista geral das integrações  ·  Documentação completa da API (abre num novo separador)