API Conta Ovos

Просматривайте и отправляйте данные о ловушках, кварталах и посещениях мест непосредственно из вашей системы. На этой странице описаны все доступные общедоступные и частные конечные точки.

/ru-ru/api Запросить ключ API

Об API

У этого API есть конечные точки общественные и частные. Публичный API возвращает данные о широте, долготе и количестве яиц для каждого участвующего муниципалитета с течением времени без необходимости аутентификации. Частный API рекомендуется использовать только для приложений, работающих в партнерстве с Conta Ovos, поскольку он предоставляет конфиденциальные данные и позволяет вставлять, изменять и удалять записи.

Аутентификация и ключи

Для использования частного 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=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" \
  /ru-ru/api/lastcountingpublic

curl -G -d "state=MG" \
  /ru-ru/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" \
  /ru-ru/api/getmunicipalityblocksvisitpublic

curl -G -d "state=MS" \
  /ru-ru/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" \
  /ru-ru/api/getmunicipalityblockspublic-2

curl -G -d "state=MT" \
  /ru-ru/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" \
  /ru-ru/api/getmunicipalityedlspublic

curl -G -d "state=MS" \
  /ru-ru/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" \
  /ru-ru/api/getmunicipalityedlmaintenancepublic

curl -G -d "state=MS" \
  /ru-ru/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" \
  /ru-ru/api/getmunicipalityovitrapspublic

curl -G -d "state=MS" \
  /ru-ru/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" \
  /ru-ru/api/getmunicipalityplacespublic

curl -G -d "state=MS" \
  /ru-ru/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" \
  /ru-ru/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" \
  /ru-ru/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" \
  /ru-ru/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" \
  /ru-ru/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" \
  /ru-ru/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" \
  /ru-ru/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 \
  "/ru-ru/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
}

Таблица с идентификаторами каждого типа наблюдения (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
}

Таблица с идентификаторами каждого типа яйцеловок (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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 \
  "/ru-ru/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 "/ru-ru/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 "/ru-ru/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 "/ru-ru/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 "/ru-ru/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 "/ru-ru/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 "/ru-ru/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 "/ru-ru/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.