API de Conta Ovos

Consulta y envía datos de ovitrampas, manzanas y visitas de campo directamente desde tu sistema. Esta página documenta todos los puntos finales públicos y privados disponibles.

/es-pr/apiSolicitar clave API

Acerca de la API

Esta API tiene puntos finales público y privado. La API pública devuelve datos sobre latitud, longitud y número de huevos de cada municipio participante a lo largo del tiempo, sin necesidad de autenticación. La API privada solo se recomienda para aplicaciones que funcionan en asociación con Conta Ovos, ya que expone datos confidenciales y le permite insertar, cambiar y eliminar registros.

Autenticación y claves

Para utilizar la API privada necesitarás una clave de acceso. (key). Para adquirirlo envía un email a contaovosdengue@gmail.com indicando:

  • ¿Por qué necesita acceso API?
  • Qué nivel de acceso se requiere (municipal, regional, estatal o nacional);
  • ¿De qué región geográfica eres parte?

La clave se compone de 45 letras al azar y debe ser enviado en el parámetro key de cada solicitud privada. El alcance geográfico y el plan vinculado a la clave. (api_access_municipality_id, state_id, region_id, country_id, plan) define automáticamente qué registros puede leer o cambiar; una clave municipal, por ejemplo, solo puede leer o modificar datos del propio municipio.

Dónde enviar la clave: 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". Los demás campos POST siguen apareciendo en el cuerpo de la solicitud.
Paginación: los parametros page acepte un máximo de 100 en puntos finales que admitan paginación. Los valores no válidos o faltantes toman la página 1.

Códigos de respuesta

Todos los puntos finales siguen el mismo patrón de estado HTTP:

CódigoSignificado
200Solicitud procesada exitosamente.
400Parâmetro obrigatório ausente, em formato inválido, ou corpo da requisição ilegível.
403El recurso informado no pertenece al alcance (ciudad/estado/región) de la clave utilizada.
404Clave no válida (Wrong key) o recurso no encontrado.
409Ya existe un registro para esta combinación de identificador, año y semana.
500Error interno al procesar la solicitud.

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.

Puntos finales públicos

GET/api/lastcountingpublicPúblico

Últimos recuentos publicados

Devuelve los últimos recuentos publicados por ubicación (ciudad, estado o país), con el número de huevos y datos de ovitrampas.

Parámetros

NombreTipoDescripción
statestringCódigo de estado. Ejemplo: state=RJ.
municipalitystringNombre del municipio. Ejemplo: municipality=Ponta Pora
countrystringNombre del país. Ejemplo: country=Brasil. Si se omite, se supone "Brasil".
pageintPágina de paginación (por defecto 1, máximo 100).
idintMuestra solo ocurrencias de la identificación dada. Ejemplo: id=7876.
datedateMuestra ocurrencias desde la fecha de inclusión. Ejemplo: date=2025-01-01.
date_collectdateMuestra ocurrencias desde la fecha de recolección en adelante. Ejemplo: date_collect=2024-12-12.
date_startdateFecha de inicio para filtrar los conteos. Ejemplo: date_start=2025-01-01.
date_enddateFecha de finalización para filtrar recuentos. Ejemplo: date_end=2025-12-31.

Nota: Si no se envían parámetros de ubicación, el punto final devuelve los recuentos más recientes de Brasil.

Respuestas específicas:
  • 400 — cuando alguna de las fechas enviadas no esté en el formato YYYY-MM-DD. La respuesta trae la lista de campos no válidos en invalid_fields.

Ejemplo de solicitud

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

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

Respuesta de muestra

[
  {
    "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/getmunicipalityblocksvisitpublicPúblico

Visitas en manzanas

Devuelve datos sobre visitas (acciones de tratamiento) realizadas en manzanas: una línea por visita, no por manzana.

Parámetros

NombreTipoDescripción
statestringCódigo de estado. Ejemplo: state=RJ.
municipalitystringNombre del municipio. Ejemplo: municipality=Ponta Pora
countrystringNombre del país. Ejemplo: country=Brasil. Si se omite, se supone "Brasil".
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

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

Respuesta de muestra

[
  {
    "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-2Público

Manzanas registrados

Devuelve las manzanas registradas en el municipio, una línea por manzana, con el polígono, el total de propiedades por tipo y el número medio de acciones.

Nuevo punto final. Si buscas visitas realizadas por manzanas, utiliza /api/getmunicipalityblocksvisitpublic. Al ser un endpoint público, la respuesta no incluye el agente responsable de la manzana ni los identificadores de usuario/equipo.

Parámetros

NombreTipoDescripción
statestringCódigo de estado. Ejemplo: state=RJ.
municipalitystringNombre del municipio. Ejemplo: municipality=Ponta Pora
countrystringNombre del país. Ejemplo: country=Brasil. Si se omite, se supone "Brasil".
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

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

Respuesta de muestra

[
  {
    "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/getmunicipalityedlspublicPúblico

EDL registradas

Devuelve datos de EDL (puntos estratégicos que reciben mantenimiento periódico por parte de los agentes) registrados por municipio.

Parámetros

NombreTipoDescripción
statestringCódigo de estado. Ejemplo: state=RJ.
municipalitystringNombre del municipio. Ejemplo: municipality=Ponta Pora
countrystringNombre del país. Ejemplo: country=Brasil. Si se omite, se supone "Brasil".
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

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

Respuesta de muestra

[
  {
    "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/getmunicipalityedlmaintenancepublicPúblico

mantenimiento EDL

Devuelve datos sobre el mantenimiento realizado en las EDL, incluida la observación registrada durante cada mantenimiento.

Reemplaza/api/getmunicipalityedlvisitspublic. Las EDL reciben mantenimiento, no visitas: los campos han pasado de edl_visit_* a edl_maintenance_*. La antigua URL sigue funcionando y sigue devolviendo los nombres antiguos, para no interrumpir las integraciones en producción, pero está descontinuada.

Parámetros

NombreTipoDescripción
statestringCódigo de estado. Ejemplo: state=RJ.
municipalitystringNombre del municipio. Ejemplo: municipality=Ponta Pora
countrystringNombre del país. Ejemplo: country=Brasil. Si se omite, se supone "Brasil".
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

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

Respuesta de muestra

[
  {
    "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/getmunicipalityovitrapspublicPúblico

Ovitrampas registradas

Devuelve datos de ovitrampas (puntos de seguimiento de huevos) registrados por municipio.

Parámetros

NombreTipoDescripción
statestringCódigo de estado. Ejemplo: state=RJ.
municipalitystringNombre del municipio. Ejemplo: municipality=Ponta Pora
countrystringNombre del país. Ejemplo: country=Brasil. Si se omite, se supone "Brasil".
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

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

Respuesta de muestra

[
  {
    "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/getmunicipalityplacespublicPúblico

Inmuebles (places)

Devuelve los inmuebles (puntos estratégicos e inmuebles especiales) registrados por municipio.

Parámetros

NombreTipoDescripción
statestringCódigo de estado. Ejemplo: state=RJ.
municipalitystringNombre del municipio. Ejemplo: municipality=Ponta Pora
countrystringNombre del país. Ejemplo: country=Brasil. Si se omite, se supone "Brasil".
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

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

Respuesta de muestra

[
  {
    "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": 2,
    "place_name": "Ferro-velho Bom Preço",
    "place_coordinates": "[[-7.123, -34.845], [-7.124, -34.846]]",
    "place_subtype": 5,
    "place_area": 320.5,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]

Puntos finales privados

Todos los puntos finales a continuación requieren el parámetro key con su clave API.

GET/api/lastcountingPrivado

Últimos recuentos publicados

Devuelve los últimos recuentos publicados dentro del alcance de la clave, con el número de huevos, los datos de la ovitrampa y el usuario responsable.

Parámetros

NombreTipoDescripción
keystringSu clave API. Define el alcance de los recuentos devueltos.
pageintPágina de paginación (por defecto 1, máximo 100).
date_startdateFecha de inicio para filtrar los conteos. Ejemplo: date_start=2025-01-01.
date_enddateFecha de finalización para filtrar recuentos. Ejemplo: date_end=2025-12-31.
Respuestas específicas:
  • 400 — cuando alguna de las fechas enviadas no esté en el formato YYYY-MM-DD. La respuesta trae la lista de campos no válidos en invalid_fields.

Ejemplo de solicitud

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

Respuesta de muestra

[
  {
    "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/getmunicipalityedlsPrivado

EDL registradas

Devuelve datos de EDL (puntos estratégicos visitados periódicamente por los agentes) dentro del alcance geográfico de la clave. El alcance lo define automáticamente el plan vinculado a la clave (municipal, regional, estatal o país) y no es necesario informar el municipio, estado o país en la solicitud.

Parámetros

NombreTipoDescripción
keystringSu clave API. Define el alcance geográfico de las EDL devueltas.
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

Respuesta de muestra

[
  {
    "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/getmunicipalityedlvisitsPrivado

mantenimiento EDL

Atención: los campos de respuesta de este punto final privado continúan con el prefijo edl_visit_*. Solo el punto final público equivalente comenzó a utilizar edl_maintenance_*.

Devuelve datos sobre las visitas realizadas a las EDL dentro del alcance geográfico de la clave, incluida la observación registrada en cada visita. El alcance lo define automáticamente el plan vinculado a la clave (municipal, regional, estatal o país) y no es necesario informar el municipio, estado o país en la solicitud.

Parámetros

NombreTipoDescripción
keystringSu clave API. Define el alcance geográfico de las visitas regresadas.
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

Respuesta de muestra

[
  {
    "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/getmunicipalityblocksPrivado

Visitas em quarteirões

Devuelve datos sobre acciones (visitas de tratamiento) realizadas en manzanas dentro del alcance geográfico de la clave. El alcance lo define automáticamente el plan vinculado a la clave (municipal, regional, estatal o país) y no es necesario informar el municipio, estado o país en la solicitud.

Parámetros

NombreTipoDescripción
keystringSu clave API. Define el alcance geográfico de las acciones devueltas.
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

Respuesta de muestra

[
  {
    "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/getmunicipalityovitrapsPrivado

Ovitrampas registradas

Devuelve datos de ovitrampas (puntos de monitoreo de huevos) dentro del alcance geográfico de la clave. El alcance lo define automáticamente el plan vinculado a la clave (municipal, regional, estatal o país) y no es necesario informar el municipio, estado o país en la solicitud.

Parámetros

NombreTipoDescripción
keystringSu clave API. Establece el alcance geográfico de las ovitrampas devueltas.
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

Respuesta de muestra

[
  {
    "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/getmunicipalityplacesPrivado

Inmuebles (places)

Devuelve los inmuebles (puntos estratégicos e inmuebles especiales) dentro del alcance geográfico de la clave. El alcance se define automáticamente por el plan vinculado a la clave — municipal, regional, estatal o país — por lo que no es necesario informar municipio, estado o país en la solicitud.

Parámetros

NombreTipoDescripción
keystringSu clave API. Define el alcance geográfico de los puntos devueltos.
pageintPágina de paginación (por defecto 1, máximo 100).

Ejemplo de solicitud

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

Respuesta de muestra

[
  {
    "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": 2,
    "place_name": "Ferro-velho Bom Preço",
    "place_coordinates": "[[-7.123, -34.845], [-7.124, -34.846]]",
    "place_subtype": 5,
    "place_area": 320.5,
    "municipality": "Vista Alegre",
    "municipality_code": "5007117",
    "state_name": "Mato Grosso do Sul",
    "state_code": "MS"
  }
]
POST/api/postcountingPrivado

Leer envío

Envía la lectura de una ovitrampa. Es posible enviar datos a una ovitrampa existente o enviar los datos e instalar una nueva ovitrampa al mismo tiempo.

Parámetros

NombreTipoDescripción
keystringSu clave API. Define el alcance del envío.

Ejemplo de solicitud

curl -X POST \
  "/es-pr/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.

Para envío estándar, donde no es necesario instalar una ovitrampa nueva, envíe los siguientes campos (todo obligatorio) en el cuerpo de la solicitud (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
}

Tabla con los ID de cada tipo de observación (counting_observation_id):

IDSignificado
1Sin observaciones
2Intervalo entre instalación y recogida más largo de lo esperado
3Ovitrampa o paleta faltante
4Ovitrampa o paleta rota
5Ovitrampa o paleta retirada
6Ovitrampa seca
7casa cerrada
8Ovitrampa llena de agua
9Ovitrampa con poca agua
10Otra observación

Para instalar una nueva ovitrampa junto al envío, obligatorio los campos: 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
}

Tabla con los ID de cada tipo de ovitrampa (ovitrap_type_id): enviar 1 a ovitrampa urbana y 2 a ovitrampa rural. El campo es opcional y, al no enviarse, la ovitrampa se instala como urbana:

IDSignificado
1Ovitrampa urbana (estándar)
2Ovitrampa rural
Respuestas específicas:
  • 400 — cuando no se envía alguno de los campos obligatorios: 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 — cuando el ovitrap_type_id enviado no es ni 1 ni 2.
  • 400 — cuando alguna de las fechas enviadas no esté en el formato YYYY-MM-DD. La respuesta trae la lista de campos no válidos en invalid_fields.
  • 404 — Ya hay un recuento para esta ovitrampa, año y semana.
POST/api/postdeletecountingPrivado

Eliminar lectura

Elimina la lectura de una ovitrampa.

Parámetros

NombreTipoDescripción
keystringSu clave API. Define el alcance de la eliminación.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (form-data, x-www-form-urlencoded ou JSON):

{
  "ovitrap_group_id": 97,
  "date": "2025-01-20"
}
Respuestas específicas:
  • 400 — cuando date no se envía.
  • 400 — cuando alguna de las fechas enviadas no esté en el formato YYYY-MM-DD. La respuesta trae la lista de campos no válidos en invalid_fields.
POST/api/postdeleteovitrapPrivado

Eliminar ovitrampa

Retire una ovitrampa.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (form-data, x-www-form-urlencoded ou JSON):

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

Insertar visita

Registrar una visita/acción en una manzana. Para agregar la visita a una manzana existente, envíe el campo block_id. Si no existe, utilice block_group_id — el sistema creará la manzana automáticamente. Este punto final solo permite la inserción de manzanas que se encuentren dentro del municipio del solicitante.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos enviados en form-data, x-www-form-urlencoded, JSON o parámetros de consulta, utilizando 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": 15,

  "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 por block_group_id (manzana aún no registrado), envía también los datos del propio manzana:

{
  "block_group_id": 97,
  "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": 15,

  "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."
}
Respuestas específicas:
  • 400 — cuando date no se envía o cuando uno de los campos numéricos no es un número válido.
  • 400 — cuando alguna de las fechas enviadas no esté en el formato YYYY-MM-DD. La respuesta trae la lista de campos no válidos en invalid_fields.
  • 400 — cuando block_group_id no se envía al crear un nueva manzana.
  • 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 — cuando 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.
  • 403 — cuando el block_id informado no pertenece al municipio clave.
  • 409 — cuando ya hay visita para ese manzana, año y semana.
POST/api/postdeleteactionPrivado

Eliminar visita

Elimina una visita de una manzana.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (form-data, x-www-form-urlencoded ou JSON):

{
  "block_group_id": 97,
  "date": "2025-01-20"
}
Respuestas específicas:
  • 400 — cuando date no se envía.
  • 400 — cuando alguna de las fechas enviadas no esté en el formato YYYY-MM-DD. La respuesta trae la lista de campos no válidos en invalid_fields.
POST/api/postdeleteblockPrivado

Eliminar manzana

Elimina una manzana.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (form-data, x-www-form-urlencoded ou JSON):

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

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.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (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/postdeleteedlPrivado

Deletar EDL

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

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (form-data, x-www-form-urlencoded ou JSON):

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

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.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (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/postdeleteedlmaintenancePrivado

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.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (form-data, x-www-form-urlencoded ou JSON):

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

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.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (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
}
POST/api/postdeleteplacePrivado

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.

Parámetros

NombreTipoDescripción
keystringSu clave API.

Ejemplo de solicitud

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

Datos requeridos en el cuerpo de la solicitud (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/posteditovitrapPrivado

Editar ovitrampa

Edita o cadastro de uma ovitrampa.

Identificação do registro

NombreTipoDescripción
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.

Ejemplo de solicitud

curl -X POST "/es-pr/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"}'
Respuestas específicas:
  • 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/posteditcountingPrivado

Editar leitura

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

Identificação do registro

NombreTipoDescripción
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.

Ejemplo de solicitud

curl -X POST "/es-pr/api/posteditcounting" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"ovitrap_group_id": "97", "date": "2026-09-01", "counting_eggs": 42}'
Respuestas específicas:
  • 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/posteditblockPrivado

Editar manzana

Edita o cadastro de um quarteirão.

Identificação do registro

NombreTipoDescripción
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.

Ejemplo de solicitud

curl -X POST "/es-pr/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"}'
Respuestas específicas:
  • 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/posteditactionPrivado

Editar visita

Edita uma visita a um quarteirão.

Identificação do registro

NombreTipoDescripción
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
  • action_observation, action_responsable

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

Ejemplo de solicitud

curl -X POST "/es-pr/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}'
Respuestas específicas:
  • 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/posteditedlPrivado

Editar EDL

Edita o cadastro de uma EDL.

Identificação do registro

NombreTipoDescripción
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.

Ejemplo de solicitud

curl -X POST "/es-pr/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"}'
Respuestas específicas:
  • 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/posteditedlmaintenancePrivado

Editar manutenção de EDL

Edita uma manutenção de EDL.

Identificação do registro

NombreTipoDescripción
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.

Ejemplo de solicitud

curl -X POST "/es-pr/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}'
Respuestas específicas:
  • 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/posteditplacePrivado

Editar inmueble

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

Identificação do registro

NombreTipoDescripción
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)
  • place_address_district, place_address_sector
  • place_lat, place_lng, place_coordinates, place_area

Ejemplo de solicitud

curl -X POST "/es-pr/api/posteditplace" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"place_id": 142, "place_name": "Borracharia Central", "place_area": 350}'
Respuestas específicas:
  • 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.