Conta Ovos API

直接从您的系统咨询和发送产卵器、阻断和现场访问数据。此页面记录了所有可用的公共和专用端点。

/zh-hk/api 请求 API 密钥

关于API

该API有端点 公共和私人. 公共 API 会随着时间的推移返回每个参与城市的纬度、经度和鸡蛋数量数据,而无需进行身份验证。仅建议与 Conta Ovos 合作的应用程序使用私有 API,因为它会公开敏感数据并允许您插入、更改和删除记录。

身份验证和密钥

要使用私有 API,您需要一个访问密钥 (key). Gestores (municipal para cima) geram a própria chave no botão 请求 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 陈述:

  • 为什么需要 API 访问;
  • 需要什么级别的访问权限(市、地区、州或国家);
  • 您属于哪个地理区域?

密钥由以下部分组成 45 个随机字母 并且必须在参数中发送 key 每个私人请求。与关键相关的地理范围和规划 (api_access_municipality_id, state_id, region_id, country_id, plan) 自动定义它可以读取或更改哪些记录 - 例如,市政密钥只能读取或修改市政当局本身的数据。

将密钥发送到哪里: 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". 其他 POST 字段继续出现在请求正文中。
分页: 参数 page 在支持分页的端点上最多接受 100 个。无效或缺失值占据第 1 页。

响应代码

所有端点都遵循相同的 HTTP 状态模式:

代码意义
200请求处理成功。
400Parâmetro obrigatório ausente, em formato inválido, ou corpo da requisição ilegível.
403通知的资源不属于所使用的密钥的范围(城市/州/地区)。
404密钥无效 (Wrong key) 或未找到资源。
409此标识符、年份和周组合的记录已存在。
500处理请求时发生内部错误。

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.

公共端点

GET/api/lastcountingpublic民众

最新发布数量

返回按地点(城市、州或国家)发布的最新计数,以及鸡蛋数量和产卵器数据。

参数

姓名类型描述
statestring州代码。例子: state=RJ.
municipalitystring市镇名称。例子: municipality=Ponta Pora
countrystring国家名称。例子: country=Brasil. 如果省略,则假定为“巴西”。
pageint分页页(默认 1,最大 100)。
idint仅显示给定 ID 中出现的情况。例子: id=7876.
datedate显示自包含之日起发生的事件。例子: date=2025-01-01.
date_collectdate显示从收集日期开始发生的事件。例子: date_collect=2024-12-12.
date_startdate过滤计数的开始日期。例子: date_start=2025-01-01.
date_enddate过滤计数的结束日期。例子: date_end=2025-12-31.

笔记: 如果未发送位置参数,终端将返回来自巴西的最新计数。

具体答复:
  • 400 — 当发送的任何日期不符合格式时 YYYY-MM-DD. 响应中包含无效字段列表 invalid_fields.

请求示例

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

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

答案示例

[
  {
    "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/getmunicipalityblocksvisitpublic民众

街区访问

返回按块进行的访问(治疗操作)的数据 — 每次访问一行,而不是每个块。

参数

姓名类型描述
statestring州代码。例子: state=RJ.
municipalitystring市镇名称。例子: municipality=Ponta Pora
countrystring国家名称。例子: country=Brasil. 如果省略,则假定为“巴西”。
pageint分页页(默认 1,最大 100)。

请求示例

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

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

答案示例

[
  {
    "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-2民众

注册街区

返回在市政府注册的街区 — 每个街区一行,包含多边形、按类型划分的总属性和平均股数。

新端点。 如果您正在寻找分块进行的访问,请使用 /api/getmunicipalityblocksvisitpublic. 由于它是公共端点,因此响应不包括负责块或用户/团队标识符的代理。

参数

姓名类型描述
statestring州代码。例子: state=RJ.
municipalitystring市镇名称。例子: municipality=Ponta Pora
countrystring国家名称。例子: country=Brasil. 如果省略,则假定为“巴西”。
pageint分页页(默认 1,最大 100)。

请求示例

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

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

答案示例

[
  {
    "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/getmunicipalityedlspublic民众

注册 EDL

从市政府注册的 EDL(从代理处定期维护的战略点)返回数据。

参数

姓名类型描述
statestring州代码。例子: state=RJ.
municipalitystring市镇名称。例子: municipality=Ponta Pora
countrystring国家名称。例子: country=Brasil. 如果省略,则假定为“巴西”。
pageint分页页(默认 1,最大 100)。

请求示例

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

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

答案示例

[
  {
    "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/getmunicipalityedlmaintenancepublic民众

EDL维护

返回有关 EDL 上执行的维护的数据,包括每次维护期间记录的观察结果。

取代/api/getmunicipalityedlvisitspublic. EDL 接受维护,而不是访问——田地已经从 edl_visit_* 到 edl_maintenance_*. 旧 URL 继续工作并继续返回旧名称,以免破坏生产中的集成,但它已停止。

参数

姓名类型描述
statestring州代码。例子: state=RJ.
municipalitystring市镇名称。例子: municipality=Ponta Pora
countrystring国家名称。例子: country=Brasil. 如果省略,则假定为“巴西”。
pageint分页页(默认 1,最大 100)。

请求示例

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

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

答案示例

[
  {
    "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/getmunicipalityovitrapspublic民众

注册产卵器

返回来自市政府注册的产卵器(卵监测点)的数据。

参数

姓名类型描述
statestring州代码。例子: state=RJ.
municipalitystring市镇名称。例子: municipality=Ponta Pora
countrystring国家名称。例子: country=Brasil. 如果省略,则假定为“巴西”。
pageint分页页(默认 1,最大 100)。

请求示例

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

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

答案示例

[
  {
    "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/getmunicipalityplacespublic民众

房产 (places)

返回按市镇登记的房产(战略点和特殊房产)。

参数

姓名类型描述
statestring州代码。例子: state=RJ.
municipalitystring市镇名称。例子: municipality=Ponta Pora
countrystring国家名称。例子: country=Brasil. 如果省略,则假定为“巴西”。
pageint分页页(默认 1,最大 100)。

请求示例

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

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

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

答案示例

[
  {
    "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"
  }
]

私有端点

以下所有端点都需要该参数 key 使用您的 API 密钥。

GET/api/lastcounting私人的

最新发布数量

返回在键范围内释放的最后计数,包括鸡蛋数量、产卵器数据和负责的用户。

参数

姓名类型描述
keystring您的 API 密钥。定义返回计数的范围。
pageint分页页(默认 1,最大 100)。
date_startdate过滤计数的开始日期。例子: date_start=2025-01-01.
date_enddate过滤计数的结束日期。例子: date_end=2025-12-31.
具体答复:
  • 400 — 当发送的任何日期不符合格式时 YYYY-MM-DD. 响应中包含无效字段列表 invalid_fields.

请求示例

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

答案示例

[
  {
    "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/getmunicipalityedls私人的

注册 EDL

从键的地理范围内的 EDL(代理定期访问的战略点)返回数据。范围由与关键(市、地区、州或国家)相关的计划自动定义,无需在请求中告知市、州或国家。

参数

姓名类型描述
keystring您的 API 密钥。定义返回的 EDL 的地理范围。
pageint分页页(默认 1,最大 100)。

请求示例

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

答案示例

[
  {
    "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/getmunicipalityedlvisits私人的

EDL维护

注意:来自此专用端点的响应字段以前缀继续 edl_visit_*. 只有等效的公共端点开始使用 edl_maintenance_*.

返回在关键的地理范围内对 EDL 进行的访问的数据,包括每次访问记录的观察结果。范围由与关键(市、地区、州或国家)相关的计划自动定义,无需在请求中告知市、州或国家。

参数

姓名类型描述
keystring您的 API 密钥。定义回访的地理范围。
pageint分页页(默认 1,最大 100)。

请求示例

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

答案示例

[
  {
    "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/getmunicipalityblocks私人的

Visitas em quarteirões

返回在键的地理范围内分块执行的操作(治疗就诊)的数据。范围由与关键(市、地区、州或国家)相关的计划自动定义,无需在请求中告知市、州或国家。

参数

姓名类型描述
keystring您的 API 密钥。定义返回操作的地理范围。
pageint分页页(默认 1,最大 100)。

请求示例

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

答案示例

[
  {
    "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/getmunicipalityovitraps私人的

注册产卵器

返回来自密钥地理范围内的产卵器(虫卵监测点)的数据。范围由与关键(市、地区、州或国家)相关的计划自动定义,无需在请求中告知市、州或国家。

参数

姓名类型描述
keystring您的 API 密钥。设置返回的产卵器的地理范围。
pageint分页页(默认 1,最大 100)。

请求示例

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

答案示例

[
  {
    "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/getmunicipalityplaces私人的

房产 (places)

返回密钥地理范围内的房产(战略点和特殊房产)。范围由与密钥关联的套餐自动确定——市镇、区域、州或国家——因此请求中无需指明市镇、州或国家。

参数

姓名类型描述
keystring您的 API 密钥。定义返回点的地理范围。
pageint分页页(默认 1,最大 100)。

请求示例

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

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

答案示例

[
  {
    "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/postcounting私人的

阅读提交内容

发送产卵器的读数。可以将数据发送到现有的产卵器,或者在发送数据的同时安装新的产卵器。

参数

姓名类型描述
keystring您的 API 密钥。定义提交的范围。

请求示例

curl -X POST \
  "/zh-hk/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.

对于标准运输,无需安装新的产卵器,请发送以下字段 (全部强制) 在请求正文中 (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
}

包含每种观察类型的 ID 的表格 (counting_observation_id):

ID意义
1没有观察结果
2安装和收集之间的间隔比预期长
3产卵器或缺少调色板
4产卵器或损坏的调色板
5产卵器或调色板已移除
6干式产卵器
7封闭式房屋
8充满水的产卵器
9产卵器加少量水
10另一个观察

要在货物旁边安装新的产卵器, 强制的 字段: 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
}

包含每种类型诱蛋器 ID 的表格 (ovitrap_type_id): 将 1 只送到城市产卵器,2 只送到农村产卵器。 该字段是可选的,如果未发送,则产卵器将安装为城市:

ID意义
1城市诱产卵器 (标准)
2农村诱产卵器
具体答复:
  • 400 — 当未发送任何必填字段时: 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 — 当 ovitrap_type_id 发送的既不是 1 也不是 2。
  • 400 — 当发送的任何日期不符合格式时 YYYY-MM-DD. 响应中包含无效字段列表 invalid_fields.
  • 404 — 已经对这个诱产蛋器进行了年份和星期的计数。
POST/api/postdeletecounting私人的

删除读数

删除产卵器的读数。

参数

姓名类型描述
keystring您的 API 密钥。定义删除范围。

请求示例

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

请求正文中所需的数据 (form-data, x-www-form-urlencoded ou JSON):

{
  "ovitrap_group_id": 97,
  "date": "2025-01-20"
}
具体答复:
  • 400 — 什么时候 date 未发送。
  • 400 — 当发送的任何日期不符合格式时 YYYY-MM-DD. 响应中包含无效字段列表 invalid_fields.
POST/api/postdeleteovitrap私人的

删除诱产卵器

移除诱产卵器。

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (form-data, x-www-form-urlencoded ou JSON):

{
  "ovitrap_group_id": 97
}
POST/api/postaction私人的

插入访问

Mudança de unidade em 23/09/2026: 田野 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.

参数

姓名类型描述
keystring您的 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.

请求示例

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

数据已发送 form-data, x-www-form-urlencoded, JSON 或查询参数,使用 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."
}

选择 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."
}
具体答复:
  • 400 — 什么时候 date 未发送或当数字字段之一不是有效数字时。
  • 400 — 当发送的任何日期不符合格式时 YYYY-MM-DD. 响应中包含无效字段列表 invalid_fields.
  • 400 — 什么时候 block_group_id 创建新块时不会发送。
  • 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 — 什么时候 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 — 什么时候 block_id não é um número inteiro. O código usado pelo município vai em block_group_id.
  • 403 — 当 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/postdeleteaction私人的

删除访问

从一个块中删除一次访问。

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (form-data, x-www-form-urlencoded ou JSON):

{
  "block_group_id": 97,
  "date": "2025-01-20"
}
具体答复:
  • 400 — 什么时候 date 未发送。
  • 400 — 当发送的任何日期不符合格式时 YYYY-MM-DD. 响应中包含无效字段列表 invalid_fields.
POST/api/postdeleteblock私人的

删除街区

移除一个街区。

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (form-data, x-www-form-urlencoded ou JSON):

{
  "block_group_id": 97
}
POST/api/postedl私人的

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.

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (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/postdeleteedl私人的

Deletar EDL

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

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (form-data, x-www-form-urlencoded ou JSON):

{
  "edl_group_id": "EDL-014"
}
POST/api/postedlmaintenance私人的

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.

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (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/postdeleteedlmaintenance私人的

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.

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (form-data, x-www-form-urlencoded ou JSON):

{
  "edl_group_id": "EDL-014",
  "date": "2026-09-01"
}
POST/api/postplace私人的

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.

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (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_subtype描述
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/postdeleteplace私人的

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.

参数

姓名类型描述
keystring您的 API 密钥。

请求示例

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

请求正文中所需的数据 (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/posteditovitrap私人的

编辑产卵器

Edita o cadastro de uma ovitrampa.

Identificação do registro

姓名类型描述
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.

请求示例

curl -X POST "/zh-hk/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"}'
具体答复:
  • 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/posteditcounting私人的

Editar leitura

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

Identificação do registro

姓名类型描述
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.

请求示例

curl -X POST "/zh-hk/api/posteditcounting" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"ovitrap_group_id": "97", "date": "2026-09-01", "counting_eggs": 42}'
具体答复:
  • 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/posteditblock私人的

编辑街区

Edita o cadastro de um quarteirão.

Identificação do registro

姓名类型描述
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.

请求示例

curl -X POST "/zh-hk/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"}'
具体答复:
  • 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/posteditaction私人的

Editar visita

Edita uma visita a um quarteirão.

Identificação do registro

姓名类型描述
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.

请求示例

curl -X POST "/zh-hk/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}'
具体答复:
  • 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/posteditedl私人的

编辑 EDL

Edita o cadastro de uma EDL.

Identificação do registro

姓名类型描述
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.

请求示例

curl -X POST "/zh-hk/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"}'
具体答复:
  • 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/posteditedlmaintenance私人的

Editar manutenção de EDL

Edita uma manutenção de EDL.

Identificação do registro

姓名类型描述
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.

请求示例

curl -X POST "/zh-hk/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}'
具体答复:
  • 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/posteditplace私人的

编辑房产

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

Identificação do registro

姓名类型描述
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

请求示例

curl -X POST "/zh-hk/api/posteditplace" \
  -H "Authorization: Bearer KEY" \
  -H "Content-Type: application/json" \
  -d '{"place_id": 142, "place_name": "Borracharia Central", "place_area": 350}'
具体答复:
  • 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.