API di Conta Ovos

Consulta e invia i dati di ovitrap, isolato e visite in campo direttamente dal tuo sistema. Questa pagina documenta tutti gli endpoint pubblici e privati ​​disponibili.

/it-it/api Richiedi chiave API

Informazioni sull'API

Questa API ha endpoint pubblici e privati. L'API pubblica restituisce nel tempo i dati su latitudine, longitudine e numero di uova per ciascun comune partecipante, senza necessità di autenticazione. L'API privata è consigliata solo per le applicazioni che lavorano in collaborazione con Conta Ovos, poiché espone dati sensibili e consente di inserire, modificare e rimuovere record.

Autenticazione e chiavi

Per utilizzare l'API privata avrai bisogno di una chiave di accesso (key). Gestores (municipal para cima) geram a própria chave no botão Richiedi chiave API, logados na conta do município: a chave sai na hora, com o município e o cargo da conta, e fica visível no perfil. Se a chave vazar, troque-a na mesma tela (ou em “Trocar a chave”, no perfil): a nova vale na hora e a anterior deixa de funcionar. Agentes de endemias pedem ao gestor do município. Para outro nível de acesso, envie um e-mail para contaovosdengue@gmail.com affermando:

  • Perché hai bisogno dell'accesso API;
  • Quale livello di accesso è richiesto (comunale, regionale, statale o nazionale);
  • Di quale regione geografica fai parte?

La chiave è composta da 45 lettere casuali e deve essere inviato nel parametro key di ogni richiesta privata. L'ambito geografico e il piano collegati alla chiave (api_access_municipality_id, state_id, region_id, country_id, plan) definire automaticamente quali record può leggere o modificare: una chiave comunale, ad esempio, può leggere o modificare solo i dati del comune stesso.

Dove inviare la chiave: prefira o cabeçalho Authorization: Bearer SUA_CHAVE. A query string da URL (?key=SUA_CHAVE) continua aceita em todos os endpoints, mas fica gravada em logs de servidor e proxies, e o cabeçalho não. Enviar a chave apenas no corpo do formulário resulta em 404 "Wrong key". Gli altri campi POST continuano a essere visualizzati nel corpo della richiesta.
Impaginazione: i parametri page accettare un massimo di 100 sugli endpoint che supportano il paging. I valori non validi o mancanti occupano la pagina 1.

Codici di risposta

Tutti gli endpoint seguono lo stesso modello di stato HTTP:

CodiceSenso
200Richiesta elaborata con successo.
400Parâmetro obrigatório ausente, em formato inválido, ou corpo da requisição ilegível.
403La risorsa informata non appartiene all'ambito (città/stato/regione) della chiave utilizzata.
404Chiave non valida (Wrong key) o risorsa non trovata.
409Esiste già un record per questa combinazione di identificatore, anno e settimana.
500Errore interno durante l'elaborazione della richiesta.

Como enviar o corpo de um POST

Todos os endpoints POST aceitam três formatos, e você escolhe o que for mais fácil no seu sistema:

FormatoContent-Type
Formulário simplesapplication/x-www-form-urlencoded
Formulário multipartmultipart/form-data
JSONapplication/json

Não defina o cabeçalho Content-Type à mão no Postman, no Insomnia ou em bibliotecas de HTTP. Deixe a ferramenta gerá-lo: no multipart ela precisa incluir o boundary, e um Content-Type que não corresponde ao corpo faz todos os campos chegarem vazios.

Quando isso acontece a resposta é 400 com esta mensagem, e ela é sobre o envelope, não sobre os seus campos:

{
  "error": "Não consegui ler os campos do corpo da requisição. Envie como form-data, x-www-form-urlencoded ou JSON.",
  "dica": "Se usa Postman ou Insomnia, apague o cabeçalho Content-Type e deixe a ferramenta gerá-lo sozinha."
}

A chave (key) vai sempre na URL, nunca no corpo.

Endpoint pubblici

GET/api/lastcountingpublicPubblico

Ultimi conteggi rilasciati

Restituisce gli ultimi conteggi rilasciati per località (città, stato o paese), con il numero di uova e i dati di ovitrap.

Parametri

NomeTipoDescrizione
statestringCodice dello stato. Esempio: state=RJ.
municipalitystringNome del comune. Esempio: municipality=Ponta Pora
countrystringNome del paese. Esempio: country=Brasil. Se omesso, presuppone "Brasile".
pageintPagina di impaginazione (default 1, massimo 100).
idintVisualizza solo le occorrenze dell'ID specificato. Esempio: id=7876.
datedateVisualizza le occorrenze dalla data di inclusione. Esempio: date=2025-01-01.
date_collectdateVisualizza le occorrenze dalla data di raccolta in poi. Esempio: date_collect=2024-12-12.
date_startdateData di inizio per filtrare i conteggi. Esempio: date_start=2025-01-01.
date_enddateData di fine per filtrare i conteggi. Esempio: date_end=2025-12-31.

Nota: Se non vengono inviati parametri di posizione, l'endpoint restituisce i conteggi più recenti dal Brasile.

Risposte specifiche:
  • 400 — quando una qualsiasi delle date inviate non è nel formato YYYY-MM-DD. La risposta contiene l'elenco dei campi non validi in invalid_fields.

Richiedi esempio

curl -G -d "municipality=Ponta%20Pora" \
  /it-it/api/lastcountingpublic

curl -G -d "state=MG" \
  /it-it/api/lastcountingpublic

Risposta di esempio

[
  {
    "state_name": "Minas Gerais",
    "state_code": "MG",
    "municipality": "Ponta Pora",
    "municipality_code": "5006606",
    "eggs": 42,
    "week": 3,
    "year": 2025,
    "time": "2025-01-20 14:32:10",
    "counting_id": 118342,
    "ovitrap_website_id": 981,
    "ovitrap_id": "97",
    "latitude": -7.000000,
    "longitude": -8.000000,
    "date": "2025-01-20",
    "date_collect": "2025-01-27"
  }
]
GET/api/getmunicipalityblocksvisitpublicPubblico

Visite negli isolati

Restituisce i dati sulle visite (azioni di trattamento) effettuate in isolati: una riga per visita, non per isolato.

Parametri

NomeTipoDescrizione
statestringCodice dello stato. Esempio: state=RJ.
municipalitystringNome del comune. Esempio: municipality=Ponta Pora
countrystringNome del paese. Esempio: country=Brasil. Se omesso, presuppone "Brasile".
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "municipality=Vista%20Alegre" \
  /it-it/api/getmunicipalityblocksvisitpublic

curl -G -d "state=MS" \
  /it-it/api/getmunicipalityblocksvisitpublic

Risposta di esempio

[
  {
    "block_id": 4521,
    "block_actions_mean": 3.4,
    "block_coordinates": "[[-7.123, -34.845], [-7.124, -34.846]]",
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS",
    "action_land_total_total": 21,
    "action_land_residence_total": 10,
    "action_land_commercial_total": 5,
    "action_land_empty_total": 3,
    "action_land_strategy_total": 1,
    "action_land_another_total": 2,
    "action_address_district": "Centro",
    "action_address_sector": "Setor 04",
    "action_deposit_a1_quantity": 4,
    "action_deposit_a2_quantity": 2,
    "action_deposit_b_quantity": 5,
    "action_deposit_c_quantity": 1,
    "action_deposit_d1_quantity": 0,
    "action_deposit_d2_quantity": 3,
    "action_deposit_e_quantity": 0,
    "action_observation": "Foco encontrado em pneus nos fundos do imovel.",
    "latitude": -7.123456,
    "longitude": -34.845678
  }
]
GET/api/getmunicipalityblockspublic-2Pubblico

Isolati registrati

Restituisce gli isolati censiti nel comune: una riga per isolato, con il poligono, il totale delle proprietà per tipologia e il numero medio di quote.

Nuovo punto finale. Se cerchi visite effettuate a isolati utilizza /api/getmunicipalityblocksvisitpublic. Poiché si tratta di un endpoint pubblico, la risposta non include l'agente responsabile dell'isolato o gli identificatori dell'utente/team.

Parametri

NomeTipoDescrizione
statestringCodice dello stato. Esempio: state=RJ.
municipalitystringNome del comune. Esempio: municipality=Ponta Pora
countrystringNome del paese. Esempio: country=Brasil. Se omesso, presuppone "Brasile".
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "municipality=Alta%20Floresta" \
  /it-it/api/getmunicipalityblockspublic-2

curl -G -d "state=MT" \
  /it-it/api/getmunicipalityblockspublic-2

Risposta di esempio

[
  {
    "block_id": 118342,
    "block_group_id": "1",
    "block_datetime": "Mon, 09 Sep 2024 10:12:41 GMT",
    "latitude": -9.849042,
    "longitude": -56.065069,
    "block_coordinates": "[{\"lat\":-9.849042,\"lng\":-56.065069}, ...]",
    "block_address_district": "DISTRITO INDUSTRIAL",
    "block_address_sector": "DISTRITO INDUSTRIAL",
    "block_municipality_id": 5566,
    "block_active": 1,
    "block_actions_mean": 22,
    "block_land_total": 24,
    "block_land_residence": 18,
    "block_land_commercial": 4,
    "block_land_empty": 2,
    "block_land_strategy": 0,
    "block_land_another": 0,
    "municipality": "Alta Floresta",
    "municipality_code": "5100250",
    "state_name": "Mato Grosso",
    "state_code": "MT"
  }
]
GET/api/getmunicipalityedlspublicPubblico

EDL registrati

Restituisce i dati degli EDL (punti strategici che ricevono manutenzione periodica dagli agenti) registrati per comune.

Parametri

NomeTipoDescrizione
statestringCodice dello stato. Esempio: state=RJ.
municipalitystringNome del comune. Esempio: municipality=Ponta Pora
countrystringNome del paese. Esempio: country=Brasil. Se omesso, presuppone "Brasile".
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "municipality=Vista%20Alegre" \
  /it-it/api/getmunicipalityedlspublic

curl -G -d "state=MS" \
  /it-it/api/getmunicipalityedlspublic

Risposta di esempio

[
  {
    "edl_id": 1832,
    "edl_group_id": "104",
    "edl_address_datetime": "2025-02-11 09:15:00",
    "edl_lat": -7.123456,
    "edl_lng": -34.845678,
    "edl_municipality_id": 5007117,
    "group_id": 12,
    "user_id": 348,
    "edl_responsable_agent": "João da Silva",
    "edl_block_group_id": "12",
    "edl_responsable_home": "Maria Souza",
    "edl_date": "2025-02-11",
    "edl_water_mean": 1.8,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]
GET/api/getmunicipalityedlmaintenancepublicPubblico

Manutenzione dell'EDL

Restituisce i dati sulla manutenzione eseguita sugli EDL, inclusa l'osservazione registrata durante ogni manutenzione.

Sostituisce/api/getmunicipalityedlvisitspublic. Gli EDL ricevono manutenzione, non visite: i campi sono scomparsi edl_visit_* A edl_maintenance_*. La vecchia URL continua a funzionare e continua a restituire i vecchi nomi, per non interrompere le integrazioni in produzione, ma è dismessa.

Parametri

NomeTipoDescrizione
statestringCodice dello stato. Esempio: state=RJ.
municipalitystringNome del comune. Esempio: municipality=Ponta Pora
countrystringNome del paese. Esempio: country=Brasil. Se omesso, presuppone "Brasile".
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "municipality=Vista%20Alegre" \
  /it-it/api/getmunicipalityedlmaintenancepublic

curl -G -d "state=MS" \
  /it-it/api/getmunicipalityedlmaintenancepublic

Risposta di esempio

[
  {
    "edl_maintenance_id": 9021,
    "edl_id": 1832,
    "edl_maintenance_time_week": 7,
    "edl_maintenance_time_year": 2025,
    "edl_maintenance_datetime": "2025-02-11 09:20:00",
    "edl_maintenance_user_id": 348,
    "edl_maintenance_observation": "Sem foco encontrado no local.",
    "edl_maintenance_observation_id": 3,
    "edl_maintenance_water_level": 0.5,
    "edl_maintenance_lat": -7.123456,
    "edl_maintenance_lng": -34.845678,
    "edl_maintenance_municipality_id": 5007117,
    "edl_maintenance_region_id": 4,
    "edl_maintenance_state_id": 24,
    "edl_maintenance_country_id": 1,
    "edl_maintenance_date": "2025-02-11",
    "edl_maintenance_observation_name": "Sem foco",
    "edl_maintenance_observation_number": 3,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]
GET/api/getmunicipalityovitrapspublicPubblico

Ovitrappole registrate

Restituisce i dati delle ovitrappole (punti di monitoraggio delle uova) registrate per comune.

Parametri

NomeTipoDescrizione
statestringCodice dello stato. Esempio: state=RJ.
municipalitystringNome del comune. Esempio: municipality=Ponta Pora
countrystringNome del paese. Esempio: country=Brasil. Se omesso, presuppone "Brasile".
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "municipality=Vista%20Alegre" \
  /it-it/api/getmunicipalityovitrapspublic

curl -G -d "state=MS" \
  /it-it/api/getmunicipalityovitrapspublic

Risposta di esempio

[
  {
    "ovitrap_id": 4471,
    "ovitrap_group_id": "97",
    "ovitrap_datetime": "2025-01-20 14:32:10",
    "ovitrap_lat": -7.123456,
    "ovitrap_lng": -34.845678,
    "ovitrap_lat_lng_error": 0,
    "ovitrap_municipality_id": 5007117,
    "group_id": 12,
    "user_id": 348,
    "ovitrap_eggs_mean": 12.5,
    "ovitrap_block_id": 4521,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]
GET/api/getmunicipalityplacespublicPubblico

Immobili (places)

Restituisce gli immobili (punti strategici e immobili speciali) registrati per comune.

Parametri

NomeTipoDescrizione
statestringCodice dello stato. Esempio: state=RJ.
municipalitystringNome del comune. Esempio: municipality=Ponta Pora
countrystringNome del paese. Esempio: country=Brasil. Se omesso, presuppone "Brasile".
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "municipality=Vista%20Alegre" \
  /it-it/api/getmunicipalityplacespublic

curl -G -d "state=MS" \
  /it-it/api/getmunicipalityplacespublic

place_type_id e place_subtype são códigos: veja a tabela de tipos e subtipos de imóvel.

Risposta di esempio

[
  {
    "place_id": 771,
    "user_id": 348,
    "place_address_district": "Centro",
    "place_address_sector": "Setor 04",
    "place_datetime": "2025-02-05 10:00:00",
    "place_address_lat": -7.123456,
    "place_address_lng": -34.845678,
    "place_municipality_id": 5007117,
    "place_region_id": 4,
    "place_state_id": 24,
    "place_country_id": 1,
    "place_type_id": 1,
    "place_name": "Ferro-velho Bom Preço",
    "place_coordinates": "[[-7.123, -34.845], [-7.124, -34.846]]",
    "place_subtype": 3,
    "place_area": 320.5,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]

Endpoint privati

Tutti gli endpoint seguenti richiedono il parametro key con la tua chiave API.

GET/api/lastcountingPrivato

Ultimi conteggi rilasciati

Restituisce gli ultimi conteggi rilasciati nell'ambito della chiave, con numero di uova, dati di ovitrap e utente responsabile.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API. Definisce l'ambito dei conteggi restituiti.
pageintPagina di impaginazione (default 1, massimo 100).
date_startdateData di inizio per filtrare i conteggi. Esempio: date_start=2025-01-01.
date_enddateData di fine per filtrare i conteggi. Esempio: date_end=2025-12-31.
Risposte specifiche:
  • 400 — quando una qualsiasi delle date inviate non è nel formato YYYY-MM-DD. La risposta contiene l'elenco dei campi non validi in invalid_fields.

Richiedi esempio

curl -G -d "key=KEY&page=1" \
  /it-it/api/lastcounting

Risposta di esempio

[
  {
    "state_name": "Minas Gerais",
    "state_code": "MG",
    "municipality": "Ponta Pora",
    "municipality_code": "5006606",
    "eggs": 42,
    "week": 3,
    "year": 2025,
    "time": "2025-01-20 14:32:10",
    "user": "Joao da Silva",
    "counting_id": 118342,
    "ovitrap_website_id": 981,
    "ovitrap_id": "97",
    "district": "Centro",
    "street": "Rua das Flores",
    "number": "123",
    "complement": "",
    "loc_inst": "",
    "sector": "Setor 04",
    "latitude": -7.000000,
    "longitude": -8.000000,
    "date": "2025-01-20",
    "date_collect": "2025-01-27"
  }
]
GET/api/getmunicipalityedlsPrivato

EDL registrati

Restituisce i dati dagli EDL (punti strategici visitati periodicamente dagli agenti) nell'ambito geografico della chiave. L'ambito è definito automaticamente dal piano collegato alla chiave – comunale, regionale, statale o nazionale – e non è necessario informare il comune, lo stato o il paese nella richiesta.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API. Definisce l'ambito geografico degli EDL restituiti.
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "key=KEY&page=1" \
  /it-it/api/getmunicipalityedls

Risposta di esempio

[
  {
    "edl_id": 1832,
    "edl_group_id": "104",
    "edl_address_datetime": "2025-02-11 09:15:00",
    "edl_lat": -7.123456,
    "edl_lng": -34.845678,
    "edl_municipality_id": 5007117,
    "group_id": 12,
    "user_id": 348,
    "edl_responsable_agent": "João da Silva",
    "edl_block_group_id": "12",
    "edl_responsable_home": "Maria Souza",
    "edl_date": "2025-02-11",
    "edl_water_mean": 1.8,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]
GET/api/getmunicipalityedlvisitsPrivato

Manutenzione dell'EDL

Attenzione: i campi di risposta da questo endpoint privato continuano con il prefisso edl_visit_*. Ha iniziato a utilizzare solo l'endpoint pubblico equivalente edl_maintenance_*.

Restituisce i dati sulle visite effettuate agli EDL nell'ambito geografico della chiave, inclusa l'osservazione registrata su ciascuna visita. L'ambito è definito automaticamente dal piano collegato alla chiave – comunale, regionale, statale o nazionale – e non è necessario informare il comune, lo stato o il paese nella richiesta.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API. Definisce l'ambito geografico delle visite ripetute.
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "key=KEY&page=1" \
  /it-it/api/getmunicipalityedlvisits

Risposta di esempio

[
  {
    "edl_visit_id": 9021,
    "edl_id": 1832,
    "edl_visit_time_week": 7,
    "edl_visit_time_year": 2025,
    "edl_visit_datetime": "2025-02-11 09:20:00",
    "edl_visit_user_id": 348,
    "edl_visit_observation": "Sem foco encontrado no local.",
    "edl_visit_observation_id": 3,
    "edl_visit_water_level": 0.5,
    "edl_visit_lat": -7.123456,
    "edl_visit_lng": -34.845678,
    "edl_visit_municipality_id": 5007117,
    "edl_visit_region_id": 4,
    "edl_visit_state_id": 24,
    "edl_visit_country_id": 1,
    "edl_visit_date": "2025-02-11",
    "edl_visit_observation_name": "Sem foco",
    "edl_visit_observation_number": 3,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]
GET/api/getmunicipalityblocksPrivato

Visitas em quarteirões

Restituisce i dati sulle azioni (visite terapeutiche) eseguite in isolati nell'ambito geografico della chiave. L'ambito è definito automaticamente dal piano collegato alla chiave – comunale, regionale, statale o nazionale – e non è necessario informare il comune, lo stato o il paese nella richiesta.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API. Definisce l'ambito geografico delle azioni restituite.
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "key=KEY&page=1" \
  /it-it/api/getmunicipalityblocks

Risposta di esempio

[
  {
    "block_id": 4521,
    "block_actions_mean": 3.4,
    "block_coordinates": "[[-7.123, -34.845], [-7.124, -34.846]]",
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS",
    "action_land_total_total": 21,
    "action_land_residence_total": 10,
    "action_land_commercial_total": 5,
    "action_land_empty_total": 3,
    "action_land_strategy_total": 1,
    "action_land_another_total": 2,
    "action_address_district": "Centro",
    "action_address_sector": "Setor 04",
    "action_deposit_a1_quantity": 4,
    "action_deposit_a2_quantity": 2,
    "action_deposit_b_quantity": 5,
    "action_deposit_c_quantity": 1,
    "action_deposit_d1_quantity": 0,
    "action_deposit_d2_quantity": 3,
    "action_deposit_e_quantity": 0,
    "action_observation": "Foco encontrado em pneus nos fundos do imovel.",
    "latitude": -7.123456,
    "longitude": -34.845678
  }
]
GET/api/getmunicipalityovitrapsPrivato

Ovitrappole registrate

Restituisce i dati dalle ovitrappole (punti di monitoraggio delle uova) nell'ambito geografico della chiave. L'ambito è definito automaticamente dal piano collegato alla chiave – comunale, regionale, statale o nazionale – e non è necessario informare il comune, lo stato o il paese nella richiesta.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API. Imposta l'ambito geografico degli ovitrap restituiti.
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "key=KEY&page=1" \
  /it-it/api/getmunicipalityovitraps

Risposta di esempio

[
  {
    "ovitrap_id": 4471,
    "ovitrap_group_id": "97",
    "ovitrap_datetime": "2025-01-20 14:32:10",
    "ovitrap_lat": -7.123456,
    "ovitrap_lng": -34.845678,
    "ovitrap_lat_lng_error": 0,
    "ovitrap_municipality_id": 5007117,
    "group_id": 12,
    "user_id": 348,
    "ovitrap_eggs_mean": 12.5,
    "ovitrap_block_id": 4521,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]
GET/api/getmunicipalityplacesPrivato

Immobili (places)

Restituisce gli immobili (punti strategici e immobili speciali) nell'ambito geografico della chiave. L'ambito è definito automaticamente dal piano collegato alla chiave — comunale, regionale, statale o nazionale — quindi non è necessario indicare comune, stato o paese nella richiesta.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API. Definisce l'ambito geografico dei punti restituiti.
pageintPagina di impaginazione (default 1, massimo 100).

Richiedi esempio

curl -G -d "key=KEY&page=1" \
  /it-it/api/getmunicipalityplaces

place_type_id e place_subtype são códigos: veja a tabela de tipos e subtipos de imóvel.

Risposta di esempio

[
  {
    "place_id": 771,
    "user_id": 348,
    "place_address_district": "Centro",
    "place_address_sector": "Setor 04",
    "place_datetime": "2025-02-05 10:00:00",
    "place_address_lat": -7.123456,
    "place_address_lng": -34.845678,
    "place_municipality_id": 5007117,
    "place_region_id": 4,
    "place_state_id": 24,
    "place_country_id": 1,
    "place_type_id": 1,
    "place_name": "Ferro-velho Bom Preço",
    "place_coordinates": "[[-7.123, -34.845], [-7.124, -34.846]]",
    "place_subtype": 3,
    "place_area": 320.5,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]
POST/api/postcountingPrivato

Leggi la presentazione

Invia la lettura di una ovitrappola. È possibile inviare dati ad un ovitrap esistente oppure inviare i dati e contemporaneamente installare un nuovo ovitrap.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API. Definisce l'ambito dell'invio.

Richiedi esempio

curl -X POST \
  "/it-it/api/postcounting?key=KEY"

O corpo pode ir como form-data, x-www-form-urlencoded ou JSON — veja Como enviar o corpo de um POST.

Per le spedizioni standard, dove non è necessario installare un nuovo ovitrap, inviare i seguenti campi (tutto obbligatorio) nel corpo della richiesta (form):

{
  "ovitrap_group_id": 97,
  "ovitrap_lat": -7.000000,
  "ovitrap_lng": -8.000000,
  "date": "2025-01-20",
  "counting_observation_id": 1,
  "counting_observation": "caso o counting_observation_id seja 9",
  "counting_eggs": 5
}

Tabella con gli ID di ogni tipo di osservazione (counting_observation_id):

IDSenso
1Nessuna osservazione
2Intervallo tra installazione e ritiro più lungo del previsto
3Ovitrap o tavolozza mancante
4Ovitrap o tavolozza rotta
5Ovitrap o tavolozza rimossi
6Ovitrappola secca
7Casa chiusa
8Ovitrappola riempita d'acqua
9Ovitrap con poca acqua
10Un'altra osservazione

Per installare una nuova trappola per uova accanto alla spedizione, obbligatorio i campi: ovitrap_lat, ovitrap_lng, ovitrap_group_id

{
  "ovitrap_group_id": 96,
  "ovitrap_address_district": "Distrito",
  "ovitrap_address_street": "Rua",
  "ovitrap_address_number": "Numero",
  "ovitrap_address_complement": "Complemento",
  "ovitrap_address_loc_inst": "",
  "ovitrap_lat": -7.000000,
  "ovitrap_lng": -8.000000,
  "ovitrap_address_sector": "Setor",
  "ovitrap_responsable": "Responsavel",
  "ovitrap_block_id": "Quarteirao",
  "ovitrap_type_id": 1,
  "date": "2025-01-20",
  "counting_date_collect": "2025-01-27",
  "counting_observation_id": 1,
  "counting_observation": "caso o counting_observation_id seja 9",
  "counting_eggs": 5
}

Tabella con gli ID di ciascun tipo di ovitrap (ovitrap_type_id): inviarne 1 all'ovitrappola urbana e 2 all'ovitrappola rurale. Il campo è facoltativo e, quando non inviato, l'ovitrap viene installato come urbano:

IDSenso
1Ovitrappola urbana (standard)
2Ovitrappola rurale
Risposte specifiche:
  • 400 — quando uno qualsiasi dei campi obbligatori non viene inviato: ovitrap_lat, ovitrap_lng, ovitrap_group_id, date
  • 400 — quando a coordenada está fora da faixa geográfica: ovitrap_lat precisa estar entre -90 e 90, e ovitrap_lng entre -180 e 180. O erro mais comum é o ponto decimal se perder na formatação do número — enviar -23374059 no lugar de -23.374059. A resposta traz os valores recebidos em ovitrap_lat e ovitrap_lng.
  • 400 — quando il ovitrap_type_id inviato non è né 1 né 2.
  • 400 — quando una qualsiasi delle date inviate non è nel formato YYYY-MM-DD. La risposta contiene l'elenco dei campi non validi in invalid_fields.
  • 404 — C'è già un conteggio per questa ovitrappola, anno e settimana.
POST/api/postdeletecountingPrivato

Elimina la lettura

Rimuove la lettura da un'ovitrappola.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API. Definisce l'ambito della rimozione.

Richiedi esempio

curl -X POST \
  "/it-it/api/postdeletecounting?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "ovitrap_group_id": 97,
  "date": "2025-01-20"
}
Risposte specifiche:
  • 400 — Quando date non viene inviato.
  • 400 — quando una qualsiasi delle date inviate non è nel formato YYYY-MM-DD. La risposta contiene l'elenco dei campi non validi in invalid_fields.
POST/api/postdeleteovitrapPrivato

Elimina l'ovitrappola

Rimuovi un'ovitrappola.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postdeleteovitrap?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "ovitrap_group_id": 97
}
POST/api/postactionPrivato

Inserisci visita

Mudança de unidade em 23/09/2026: i campi action_deposit_<grupo>_larvicid passaram a ser em GRAMA, como pede a diretriz nacional. Antes eram miligrama. Se o seu sistema envia miligrama, divida por 1.000 antes de enviar — caso contrário a quantidade chega 1.000 vezes maior. O campo aceita decimais (0,5 g vai como 0.5).
Desde 30/10/2026: valor de 500 ou mais em action_deposit_<grupo>_larvicid é lido como miligrama e gravado dividido por 1.000 (500 vira 0,5 g), nas inclusões e nas edições. A resposta não muda.

Registra uma visita/ação em um quarteirão. Há duas formas de dizer qual é o quarteirão:

  • block_id — o número interno do quarteirão no Conta Ovos, sempre inteiro (é o block_id devolvido por /api/getmunicipalityblocks). Se não existir ou for de outro município, a resposta é 403 e nada é cadastrado.
  • block_group_id — o código do quarteirão usado pelo município, em texto (por exemplo "A1"). Se já existir um quarteirão com esse código no município, a visita é gravada nele; os dados do quarteirão enviados junto são ignorados. Se não existir, o quarteirão é criado com esses dados e recebe a visita. Por isso é seguro reenviar um lote.

Se os dois forem enviados, vale o block_id. Não envie o código do município em block_id: ele é recusado com 400. Este endpoint só aceita quarteirões do município da chave.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.
datestringData da visita, AAAA-MM-DD. A semana epidemiológica é calculada a partir dela e não pode ser futura. Obrigatório.
block_idintegerNúmero interno do quarteirão no Conta Ovos. Obrigatório se block_group_id não for enviado.
block_group_idstringCódigo do quarteirão no município (até 45 caracteres). Obrigatório se block_id não for enviado.

Richiedi esempio

curl -X POST \
  "/it-it/api/postaction?key=KEY"

Dati inviati form-data, x-www-form-urlencoded, JSON o parametri di query, utilizzando block_id:

{
  "block_id": 97,
  "date": "2025-01-20",
  "block_land_residence": 10,
  "action_land_residence_out": 2,
  "action_land_residence_breedings": 1,
  "action_land_residence_treated": 1,

  "block_land_commercial": 5,
  "action_land_commercial_out": 0,
  "action_land_commercial_breedings": 0,
  "action_land_commercial_treated": 0,

  "block_land_empty": 3,
  "action_land_empty_out": 1,
  "action_land_empty_breedings": 2,
  "action_land_empty_treated": 1,

  "block_land_strategy": 1,
  "action_land_strategy_out": 0,
  "action_land_strategy_breedings": 0,
  "action_land_strategy_treated": 0,

  "block_land_special": 0,
  "action_land_special_out": 0,
  "action_land_special_breedings": 0,
  "action_land_special_treated": 0,

  "block_land_another": 2,
  "action_land_another_out": 0,
  "action_land_another_breedings": 0,
  "action_land_another_treated": 0,

  "action_deposit_a1_quantity": 4,
  "action_deposit_a1_eliminated": 2,
  "action_deposit_a1_treated": 1,
  "action_deposit_a1_larvicid": 10,

  "action_deposit_a2_quantity": 2,
  "action_deposit_a2_eliminated": 1,
  "action_deposit_a2_treated": 0,
  "action_deposit_a2_larvicid": 0,

  "action_deposit_b_quantity": 5,
  "action_deposit_b_eliminated": 5,
  "action_deposit_b_treated": 0,
  "action_deposit_b_larvicid": 0,

  "action_deposit_c_quantity": 1,
  "action_deposit_c_eliminated": 0,
  "action_deposit_c_treated": 1,
  "action_deposit_c_larvicid": 5,

  "action_deposit_d1_quantity": 0,
  "action_deposit_d1_eliminated": 0,
  "action_deposit_d1_treated": 0,
  "action_deposit_d1_larvicid": 0,

  "action_deposit_d2_quantity": 3,
  "action_deposit_d2_eliminated": 1,
  "action_deposit_d2_treated": 2,
  "action_deposit_d2_larvicid": 1.5,

  "action_deposit_e_quantity": 0,
  "action_deposit_e_eliminated": 0,
  "action_deposit_e_treated": 0,
  "action_deposit_e_larvicid": 0,

  "action_observation": "Visita realizada conforme cronograma. Foco encontrado em pneus nos fundos do imovel."
}

Optando per block_group_id, envie também os dados do próprio quarteirão — eles só são usados se o quarteirão ainda não existir:

{
  "block_group_id": "A1",
  "date": "2025-01-20",
  "block_address_district": "Centro Historico",
  "block_address_sector": "Setor 04 - Norte",
  "block_coordinates": "[[-7.123, -34.845], [-7.124, -34.846]]",
  "block_lat": -7.123456,
  "block_lng": -34.845678,
  "block_responsable": "Joao da Silva",

  "block_land_residence": 10,
  "action_land_residence_out": 2,
  "action_land_residence_breedings": 1,
  "action_land_residence_treated": 1,

  "block_land_commercial": 5,
  "action_land_commercial_out": 0,
  "action_land_commercial_breedings": 0,
  "action_land_commercial_treated": 0,

  "block_land_empty": 3,
  "action_land_empty_out": 1,
  "action_land_empty_breedings": 2,
  "action_land_empty_treated": 1,

  "block_land_strategy": 1,
  "action_land_strategy_out": 0,
  "action_land_strategy_breedings": 0,
  "action_land_strategy_treated": 0,

  "block_land_special": 0,
  "action_land_special_out": 0,
  "action_land_special_breedings": 0,
  "action_land_special_treated": 0,

  "block_land_another": 2,
  "action_land_another_out": 0,
  "action_land_another_breedings": 0,
  "action_land_another_treated": 0,

  "action_deposit_a1_quantity": 4,
  "action_deposit_a1_eliminated": 2,
  "action_deposit_a1_treated": 1,
  "action_deposit_a1_larvicid": 10,

  "action_deposit_a2_quantity": 2,
  "action_deposit_a2_eliminated": 1,
  "action_deposit_a2_treated": 0,
  "action_deposit_a2_larvicid": 0,

  "action_deposit_b_quantity": 5,
  "action_deposit_b_eliminated": 5,
  "action_deposit_b_treated": 0,
  "action_deposit_b_larvicid": 0,

  "action_deposit_c_quantity": 1,
  "action_deposit_c_eliminated": 0,
  "action_deposit_c_treated": 1,
  "action_deposit_c_larvicid": 5,

  "action_deposit_d1_quantity": 0,
  "action_deposit_d1_eliminated": 0,
  "action_deposit_d1_treated": 0,
  "action_deposit_d1_larvicid": 0,

  "action_deposit_d2_quantity": 3,
  "action_deposit_d2_eliminated": 1,
  "action_deposit_d2_treated": 2,
  "action_deposit_d2_larvicid": 1.5,

  "action_deposit_e_quantity": 0,
  "action_deposit_e_eliminated": 0,
  "action_deposit_e_treated": 0,
  "action_deposit_e_larvicid": 0,

  "action_observation": "Area com alta densidade de recipientes descartaveis."
}
Risposte specifiche:
  • 400 — Quando date non viene inviato o quando uno dei campi numerici non è un numero valido.
  • 400 — quando una qualsiasi delle date inviate non è nel formato YYYY-MM-DD. La risposta contiene l'elenco dei campi non validi in invalid_fields.
  • 400 — Quando block_group_id non viene inviato durante la creazione di un nuovo isolato.
  • 400 — quando a coordenada está fora da faixa geográfica: block_lat precisa estar entre -90 e 90, e block_lng entre -180 e 180. O erro mais comum é o ponto decimal se perder na formatação do número — enviar -23374059 no lugar de -23.374059.
  • 400 — quando a data da visita é anterior a 1900 ou posterior a amanhã, ou quando a coordenada é exatamente zero. A mensagem diz qual valor foi recusado. Até 20/10/2026 esse caso respondia 500.
  • 400 — Quando block_coordinates passa de 2000 caracteres. Antes o desenho era gravado pela metade, em silêncio, e o quarteirão abria sem mapa; agora a requisição é recusada e a resposta traz o tamanho enviado em block_coordinates_length.
  • 400 — Quando block_id não é um número inteiro. O código usado pelo município vai em block_group_id.
  • 403 — quando il block_id informado não existe ou não pertence ao município da chave.
  • 409 — quando já existe uma visita para esse quarteirão nessa mesma data. Visitas ao mesmo quarteirão em dias diferentes, inclusive na mesma semana, são aceitas; o envio não precisa ser semanal.
POST/api/postdeleteactionPrivato

Elimina visita

Rimuove una visita da un isolato.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postdeleteaction?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "block_group_id": 97,
  "date": "2025-01-20"
}
Risposte specifiche:
  • 400 — Quando date non viene inviato.
  • 400 — quando una qualsiasi delle date inviate non è nel formato YYYY-MM-DD. La risposta contiene l'elenco dei campi non validi in invalid_fields.
POST/api/postdeleteblockPrivato

Elimina isolato

Rimuove un isolato.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postdeleteblock?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "block_group_id": 97
}
POST/api/postedlPrivato

Inserir EDL

Cadastra um EDL (ponto estratégico de vigilância) no município da sua chave. Reenviar o mesmo edl_group_id devolve o EDL já existente em vez de duplicar, então é seguro repetir um lote.

O município é sempre o da sua chave — não é possível enviá-lo no corpo.

Obrigatórios: edl_group_id, edl_date (AAAA-MM-DD), edl_lat e edl_lng. Os demais campos são opcionais. Devolve o edl_id.

Se você usa Postman ou Insomnia, não defina o cabeçalho Content-Type à mão: a ferramenta precisa gerá-lo sozinha. Um Content-Type que não corresponde ao corpo faz os campos chegarem vazios.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postedl?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "edl_group_id": "EDL-014",
  "edl_date": "2026-09-01",
  "edl_lat": -23.5505,
  "edl_lng": -46.6333,
  "edl_address_district": "Centro",
  "edl_address_street": "Rua das Palmeiras",
  "edl_address_number": "128",
  "edl_address_complement": "Fundos",
  "edl_address_loc_inst": "Borracharia do Zé",
  "edl_address_sector": "03",
  "edl_responsable_agent": "M. Souza",
  "edl_responsable_home": "J. Pereira",
  "edl_block_group_id": "Q-22"
}
POST/api/postdeleteedlPrivato

Deletar EDL

Remove um EDL do município da sua chave, pelo mesmo código que você usou para cadastrá-lo.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postdeleteedl?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "edl_group_id": "EDL-014"
}
POST/api/postedlmaintenancePrivato

Inserir manutenção de EDL

Registra uma manutenção em um EDL. Um EDL aceita no máximo uma manutenção por data.

O município é sempre o da sua chave — não é possível enviá-lo no corpo.

Obrigatórios: edl_group_id e date (AAAA-MM-DD). A data não pode cair em semana epidemiológica futura. Repetir a mesma EDL e data devolve 409.

Os nomes antigos edl_visit_observation, edl_visit_observation_id e edl_visit_water_level continuam aceitos.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postedlmaintenance?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "edl_group_id": "EDL-014",
  "date": "2026-09-01",
  "edl_maintenance_observation": "Sem larvas, recipiente lavado",
  "edl_maintenance_observation_id": 1,
  "edl_maintenance_water_level": 2
}
POST/api/postdeleteedlmaintenancePrivato

Deletar manutenção de EDL

Remove uma manutenção. Ela é identificada pelo EDL mais a data, que juntos são únicos — você não precisa guardar nenhum id interno.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postdeleteedlmaintenance?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "edl_group_id": "EDL-014",
  "date": "2026-09-01"
}
POST/api/postplacePrivato

Inserir imóvel

Cadastra um imóvel (Ponto Estratégico ou Imóvel Especial) no município da sua chave.

O município é sempre o da sua chave — não é possível enviá-lo no corpo.

Região, estado e país saem do município da chave e não são aceitos no corpo: as quatro chaves geográficas precisam concordar entre si.

Obrigatórios: place_name, place_type_id, place_subtype, place_lat e place_lng. Devolve o place_id.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postplace?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "place_name": "Ferro-velho São Jorge",
  "place_type_id": 1,
  "place_subtype": 3,
  "place_lat": -23.5505,
  "place_lng": -46.6333,
  "place_address_district": "Vila Nova",
  "place_address_sector": "07",
  "place_area": 350
}

Tipos e subtipos de imóvel

place_type_id é o tipo do imóvel; place_subtype é o subtipo, e precisa pertencer ao tipo enviado — um par que não combina é recusado com 400. Os mesmos códigos saem em place_type_id e place_subtype nas respostas de /api/getmunicipalityplaces e /api/getmunicipalityplacespublic.

place_type_idplace_subtypeDescrizione
1Ponto Estratégico
11Cemitério
12Borracharia
13Ferro-Velho
14Depósito de Sucata
15Depósito de Material de Construção
16Garagem de ônibus ou outros veículos de grand
17Residência de acumuladores de inservíveis
18Outro
2Imóvel especial
29Rodoviária
210Aeroporto
211Escola
212Unidade Básica de Saúde (UBS)
213Universidade
214Prédio de Administração Pública
215Outro
POST/api/postdeleteplacePrivato

Deletar imóvel

Remove um imóvel do município da sua chave.

Este é o único endpoint que pede um id interno: a tabela de imóveis não tem um código definido por você, ao contrário de ovitrampa, quarteirão e EDL. O place_id vem de /api/getmunicipalityplaces.

Parametri

NomeTipoDescrizione
keystringLa tua chiave API.

Richiedi esempio

curl -X POST \
  "/it-it/api/postdeleteplace?key=KEY"

Dati richiesti nel corpo della richiesta (form-data, x-www-form-urlencoded ou JSON):

{
  "place_id": 142
}

Editar registros

Os endpoints /api/postedit* editam ovitrampas, contagens, quarteirões, visitas, EDLs, manutenções e imóveis que já existem. As regras valem para todos:

  • Escopo: só registros do município da sua chave, como nos demais POST. Registro de outro município responde 404.
  • Edição parcial: só muda o que você envia. Campo ausente fica como está; campo enviado vazio grava vazio (é assim que se apaga um complemento, por exemplo). Números, datas, coordenadas e códigos não aceitam vazio.
  • Tudo ou nada: se um dos campos for inválido, nenhum é gravado e a resposta 400 diz qual e por quê.
  • Mesmos nomes da criação: os campos têm os nomes que você já usa em /api/postcounting, /api/postaction, /api/postedlmaintenance e /api/postplace.
  • Trocar código ou data:new_ovitrap_group_id, new_block_group_id, new_edl_group_id renomeiam; nas leituras, new_date muda a data e recalcula a semana epidemiológica. Se o novo código ou a nova data já existirem, a resposta é 409 e nada muda.
  • Resposta:200 com o registro como ficou. Médias, totais e semanas que dependem do registro são recalculados na mesma chamada.
POST/api/posteditovitrapPrivato

Modifica ovitrap

Edita o cadastro de uma ovitrampa.

Identificação do registro

NomeTipoDescrizione
ovitrap_group_idstringCódigo da ovitrampa no município.

Campos editáveis

  • new_ovitrap_group_id
  • ovitrap_address_district, ovitrap_address_street, ovitrap_address_number, ovitrap_address_complement, ovitrap_address_loc_inst, ovitrap_address_sector
  • ovitrap_responsable, ovitrap_block_id
  • ovitrap_type_id — 1 urbana, 2 rural
  • ovitrap_lat, ovitrap_lng
  • atualizar_desde — data YYYY-MM-DD. Copia o endereço e a coordenada novos para as leituras a partir dessa data. Sem ele, as leituras antigas continuam com o endereço de quando foram feitas.

A resposta traz também countings_updated: quantas leituras receberam o endereço novo.

Richiedi esempio

curl -X POST "/it-it/api/posteditovitrap" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"ovitrap_group_id": "97", "ovitrap_address_street": "Rua das Flores", "ovitrap_lat": -23.374059, "ovitrap_lng": -46.617245, "atualizar_desde": "2026-08-01"}'
Risposte specifiche:
  • 400 — algum campo tem valor inválido: nada é alterado, e a resposta lista os campos em invalid_fields e o motivo de cada um em details.
  • 400 — nenhum campo editável foi enviado.
  • 404 — o registro não existe no município da sua chave.
  • 409 — já existe uma ovitrampa com o new_ovitrap_group_id no município.
POST/api/posteditcountingPrivato

Editar leitura

Edita uma leitura (contagem de ovos) de uma ovitrampa.

Identificação do registro

NomeTipoDescrizione
ovitrap_group_idstringCódigo da ovitrampa no município.
datestringData da leitura a editar (YYYY-MM-DD).

Campos editáveis

  • counting_eggs
  • new_date, counting_date_collect
  • counting_observation, counting_observation_id (0 = sem intercorrência)
  • Onde a armadilha estava nesta leitura: counting_address_*, counting_address_lat, counting_address_lng

A média histórica de ovos da ovitrampa é recalculada.

Richiedi esempio

curl -X POST "/it-it/api/posteditcounting" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"ovitrap_group_id": "97", "date": "2026-09-01", "counting_eggs": 42}'
Risposte specifiche:
  • 400 — algum campo tem valor inválido: nada é alterado, e a resposta lista os campos em invalid_fields e o motivo de cada um em details.
  • 400 — nenhum campo editável foi enviado.
  • 404 — o registro não existe no município da sua chave.
  • 409 — já existe uma leitura desta ovitrampa na new_date.
POST/api/posteditblockPrivato

Modifica isolato

Edita o cadastro de um quarteirão.

Identificação do registro

NomeTipoDescrizione
block_group_idstringCódigo do quarteirão no município.

Campos editáveis

  • new_block_group_id
  • block_address_district, block_address_sector, block_responsable
  • block_lat, block_lng, block_coordinates
  • Imóveis existentes: block_land_residence, block_land_commercial, block_land_empty, block_land_strategy, block_land_another (o total é recalculado)
  • atualizar_desde — data YYYY-MM-DD. Copia o endereço e a coordenada novos para as visitas a partir dessa data. Sem ele, as visitas antigas continuam com o endereço de quando foram feitas.

A resposta traz também actions_updated.

Richiedi esempio

curl -X POST "/it-it/api/posteditblock" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"block_group_id": "12-A", "block_land_residence": 38, "block_address_district": "Centro"}'
Risposte specifiche:
  • 400 — algum campo tem valor inválido: nada é alterado, e a resposta lista os campos em invalid_fields e o motivo de cada um em details.
  • 400 — nenhum campo editável foi enviado.
  • 404 — o registro não existe no município da sua chave.
  • 409 — já existe um quarteirão com o new_block_group_id no município.
POST/api/posteditactionPrivato

Editar visita

Edita uma visita a um quarteirão.

Identificação do registro

NomeTipoDescrizione
block_group_idstringCódigo do quarteirão no município.
datestringData da visita a editar (YYYY-MM-DD).

Campos editáveis

  • new_date
  • Visitados, como em /api/postaction: block_land_residence, block_land_commercial, block_land_empty, block_land_strategy, block_land_special, block_land_another
  • action_land_<tipo>_out, _breedings, _treated
  • action_deposit_<a1|a2|b|c|d1|d2|e>_quantity, _eliminated, _treated, _larvicid (em grama, com decimais, desde 23/09/2026)
  • action_observation, action_responsable

Os totais da visita (visitados, pendentes, positivos, tratados e larvicida) e a média do quarteirão são recalculados.

Richiedi esempio

curl -X POST "/it-it/api/posteditaction" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"block_group_id": "12-A", "date": "2026-09-01", "block_land_residence": 21, "action_deposit_b_eliminated": 3}'
Risposte specifiche:
  • 400 — algum campo tem valor inválido: nada é alterado, e a resposta lista os campos em invalid_fields e o motivo de cada um em details.
  • 400 — nenhum campo editável foi enviado.
  • 404 — o registro não existe no município da sua chave.
  • 409 — já existe uma visita a este quarteirão na new_date.
POST/api/posteditedlPrivato

Modifica EDL

Edita o cadastro de uma EDL.

Identificação do registro

NomeTipoDescrizione
edl_group_idstringCódigo da EDL no município.

Campos editáveis

  • new_edl_group_id
  • edl_address_*, edl_responsable_agent, edl_responsable_home, edl_block_group_id
  • edl_date, edl_lat, edl_lng
  • atualizar_desde — data YYYY-MM-DD. Copia o endereço e a coordenada novos para as manutenções a partir dessa data. Sem ele, as manutenções antigas continuam com o endereço de quando foram feitas.

A resposta traz também maintenances_updated.

Richiedi esempio

curl -X POST "/it-it/api/posteditedl" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"edl_group_id": "E-07", "edl_responsable_home": "Maria", "atualizar_desde": "2026-08-01"}'
Risposte specifiche:
  • 400 — algum campo tem valor inválido: nada é alterado, e a resposta lista os campos em invalid_fields e o motivo de cada um em details.
  • 400 — nenhum campo editável foi enviado.
  • 404 — o registro não existe no município da sua chave.
  • 409 — já existe uma EDL com o new_edl_group_id no município.
POST/api/posteditedlmaintenancePrivato

Editar manutenção de EDL

Edita uma manutenção de EDL.

Identificação do registro

NomeTipoDescrizione
edl_group_idstringCódigo da EDL no município.
datestringData da manutenção a editar (YYYY-MM-DD).

Campos editáveis

  • new_date
  • edl_maintenance_water_level, edl_maintenance_observation, edl_maintenance_observation_id (os nomes antigos edl_visit_* também valem)

O nível médio da água da EDL é recalculado.

Richiedi esempio

curl -X POST "/it-it/api/posteditedlmaintenance" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"edl_group_id": "E-07", "date": "2026-09-01", "edl_maintenance_water_level": 3}'
Risposte specifiche:
  • 400 — algum campo tem valor inválido: nada é alterado, e a resposta lista os campos em invalid_fields e o motivo de cada um em details.
  • 400 — nenhum campo editável foi enviado.
  • 404 — o registro não existe no município da sua chave.
  • 409 — já existe uma manutenção desta EDL na new_date.
POST/api/posteditplacePrivato

Modifica immobile

Edita um imóvel (ponto estratégico ou imóvel especial).

Identificação do registro

NomeTipoDescrizione
place_idintegerId do imóvel, o mesmo de /api/postdeleteplace.

Campos editáveis

  • place_name
  • place_type_id, place_subtype (trocar só o tipo realinha o subtipo; códigos)
  • place_address_district, place_address_sector
  • place_lat, place_lng, place_coordinates, place_area

Richiedi esempio

curl -X POST "/it-it/api/posteditplace" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"place_id": 142, "place_name": "Borracharia Central", "place_area": 350}'
Risposte specifiche:
  • 400 — algum campo tem valor inválido: nada é alterado, e a resposta lista os campos em invalid_fields e o motivo de cada um em details.
  • 400 — nenhum campo editável foi enviado.
  • 404 — o registro não existe no município da sua chave.
  • 403 — o imóvel é de outro município.