This the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Serviços de API

Como obter ou importar dados do OpenDataBio?

Cada instalação do OpenDataBio fornece um serviço de API, permitindo aos usuários OBTER, INSERIR, ATUALIZAR dados programaticamente. O serviço é de acesso aberto a dados públicos, e requer autenticação do usuário para INSERIR e ATUALIZAR dados, ou para OBTER dados de acesso restrito.

O OpenDataBio Application Programming Interface -API permite que os usuários interajam com um banco de dados OpenDataBio para exportar, importar e atualizar dados sem usar a interface web.

O pacote OpenDataBio R é um cliente para esta API, permitindo a interação com o repositório de dados diretamente do R.

A API OpenDataBio permite a consulta ao banco de dados e a importação/edição de dados por meio de uma interface inspirada em REST. Todas as solicitações e respostas da API são formatadas em JSON.

A interação com a API do OpenDataBio

Uma simples chamada para a API OpenDataBio possui quatro partes independentes:

  1. HTTP-verbo - GET para exportações, POST para importações e PUT para atualizações.
  2. URL-base - o URL usado para acessar seu servidor OpenDataBio + mais / api / v0. Por exemplo, http:// opendatabio.inpa.gov.br/api/v0
  3. endpoint - representa o objeto ou coleção de objetos que você deseja acessar, por exemplo, para consultar nomes taxonômicos, o endpoint é “taxons”
  4. parâmetros de solicitação - representam a filtragem e o processamento que devem ser feitos com os objetos e são representados na chamada da API após um ponto de interrogação. Por exemplo, para recuperar apenas nomes taxonômicos válidos finalize a solicitação com ?valid = 1.

A chamada API acima pode ser inserida em um navegador para OBTER dados de acesso público. Por exemplo, para obter a lista de táxons válidos de uma instalação do OpenDataBio, a solicitação da API poderia ser:


https://opendb.inpa.gov.br/api/v0/taxons?valid=1&limit=10

Quando usar o OpenDataBio R package essa mesma chamada seria algo como odb_get_taxons(list(valid=1,limit=10)).

A resposta será algo como:

{
  "meta":
  {
    "odb_version":"0.9.1-alpha1",
    "api_version":"v0",
    "server":"http://opendb.inpa.gov.br",
    "full_url":"https://opendb.inpa.gov.br/api/v0/taxons?valid=1&limit1&offset=100"},
    "data":
    [
      {
        "id":62,
        "parent_id":25,
        "author_id":null,
        "scientificName":"Laurales",
        "taxonRank":"Ordem",
        "scientificNameAuthorship":null,
        "namePublishedIn":"Juss. ex Bercht. & J. Presl. In: Prir. Rostlin: 235. (1820).",
        "parentName":"Magnoliidae",
        "family":null,
        "taxonRemarks":null,
        "taxonomicStatus":"accepted",
        "ScientificNameID":"http:\/\/tropicos.org\/Name\/43000015 | https:\/\/www.gbif.org\/species\/407",
        "basisOfRecord":"Taxon"
    }]}

Autenticação da API

  1. Não é obrigatória para obter quaisquer dados de acesso público numa base de dados ODB, que por padrão inclui Localidades, Taxons, Referências Bibliográficas, Pessoas e Variáveis.
  2. Autenticação é necessária para OBTER quaisquer dados que não sejam de acesso público e para INSERIR e ATUALIZAR dados.
  • A autenticação é feita usando um token API, que pode ser encontrado no seu perfil de usuário na interface do aplicativo. O token é atribuído a um único usuário do banco de dados e não deve ser compartilhado, exposto, enviado por e-mail ou armazenado em controles de versão.
  • Para autenticar na API OpenDataBio, use o token no cabeçalho “Authorization” da solicitação da API. Ao usar o cliente R, passe o token para a função odb_config`` cfg = odb_config (token = "seu-token-aqui") .

Os usuários somente terão acesso aos dados para os quais o usuário tem permissão e para quaisquer dados com acesso público na base de dados. O acesso à Medições, Indivíduos, Vouchers e Mídia depende das permissões compreendidas pelo token do usuário.


Versões da API

A API OpenDataBio segue seu próprio número de versão. Isso significa que o cliente pode esperar usar o mesmo código e obter as mesmas respostas, independentemente da versão do OpenDataBio que o servidor está executando. Todas as alterações feitas na mesma versão da API devem ser compatíveis com versões anteriores. Nosso controle de versão da API é controlado pelo URL, portanto, para solicitar uma versão específica da API, use o número da versão entre o URL base e o endpoint:

http://opendatabio.inpa.gov.br/opendatabio/api/v1/taxons

http://opendatabio.inpa.gov.br/opendatabio/api/v2/taxons

1 - Referência rápida

Lista dos EndPoints e dos Parâmetros para GET e POST!

OBTER DADOS - GET

Parâmetros GET compartilhados

Todos os endpoints compartilham estes parâmetros GET:

  • id retorna apenas o recurso especificado. Pode ser um número ou uma lista delimitada por vírgulas, como api/v0/locations? Id = 1,50,124
  • limit: limita o número de itens que devem ser retornados (deve ser maior que 0). Exemplo: api/v0/taxons?limit=10
  • offset: o registro inicial a partir do qual deseja extrair, para ser usado com limite ao tentar baixar uma grande quantidade de dados. Exemplo: api/v0/taxons?offset=1000&limit=10 retorna 10 registros começando da posição 1K da consulta realizada.
  • fields: o campo ou campos que devem ser retornados. Cada EndPoint possui seus próprios campos, mas há duas palavras especiais, simple (padrão) e all, que retornam diferentes coleções de campos. fields = all pode retornar sub-objetos para cada objeto. fields ='raw' irá retornar a tabela bruta, e isso torna a busca muito mais rápida, embora será mais difícil interpretar alguns valores. Exemplo: api/v0/taxons?fields='id,scientificName,valid'
  • save_job: usando save_job=1 na lista de parâmetros, será gerado um job com a sua busca e os dados poderão ser baixados após a finalização do job através da API userjobs api.

Parâmetros GET específicos

Endpoint Descrição Parâmetros possíveis
/ Testa o acesso nenhum
bibreferences Obter referências bibliográficas id, bibkey
biocollections Lista de BioColeções registradas id
datasets Lista Conjuntos de Dados ou Baixa os arquivos de versões de conjuntos de dados id, list_versions, file_name
individuals Obter dados de Indivíduos (organisms) id, location, location_root,taxon, taxon_root, tag,project, dataset
individual-locations Obter localizações (ocorrências) de indivíduos individual_id, location, location_root,taxon, taxon_root, dataset
languages Lista de Idiomas
measurements Obter Medições id, taxon,dataset,trait,individual,voucher,location
locations Obter localidades root, id, parent_id,adm_level, name, limit, querytype, lat, long,project,dataset
persons Lista de Pessoas id, search, name, abbrev, email
projects Lista de projects id
taxons Lista de Taxons root, id, name,level, valid, external, project,dataset
traits Lista Variáveis (traits) id, name
vouchers Lista Vouchers id, number, individual, location, collector, location_root,taxon, taxon_root,project, dataset
userjobs Lista Jobs de Usuário id, status

Importar dados - POST

Endpoint Descrição Parâmetros POST
biocollections Importar BioColeções name, acronym
individuals Importar indivíduos collector, tag, dataset, date, (location or latitude + longitude)**, altitude, location_notes, location_date_time, x, y, distance , angle , notes , taxon , identifier , identification_date , modifier, identification_notes , identification_based_on_biocollection, identification_based_on_biocollection_id , identification_individual
individual-locations Importar Localidades de Indivíduos individual, (location or latitude + longitude), altitude, location_notes, location_date_time, x, y, distance, angle
locations Importar Localidades name, adm_level, (geom or lat+long)** , parent, altitude, datum, x, y , startx, starty, notes, ismarine
measurements Importar Medições dataset, date, object_type, object_type, person, trait_id, value**, link_id, bibreference, notes, duplicated,location, parent_measurement
persons Importar Pessoas full_name**, abbreviation, email, institution, biocollection
traits Importar Variáveis export_name, type, objects, name, description**, units, range_min, range_max, categories, wavenumber_min and wavenumber_max, value_length, link_type, bibreference, tags
taxons Importar Taxons name**, level, parent, bibreference, author, author_id or person, valid, mobot, ipni, mycobank, zoobank, gbif
vouchers Importar Vouchers individual, biocollection, biocollection_type, biocollection_number, number, collector, date, dataset, notes

** indica campos obrigatórios.

Atualizar dados - PUT

Endpoint Description PUT Fields
individuals Atualizar Indivíduos (id or individual_id),collector, tag, dataset, date, notes , taxon , identifier , identification_date , modifier, identification_notes , identification_based_on_biocollection, identification_based_on_biocollection_id , identification_individual
individual-locations Atualizar Localidades de Indivíduos (id or individual_location_id), individual, (location or latitude + longitude), altitude, location_notes, location_date_time, x, y, distance, angle
locations Atualizar Localidades (id or location_id), name, adm_level, (geom or lat+long) , parent, altitude, datum, x, y , startx, starty, notes, ismarine
measurements Atualizar Medições (id or measurement_id), dataset, date, object_type, object_type, person, trait_id, value, link_id, bibreference, notes, duplicated,location, parent_measurement
persons Atualizar Pessoas (id or person_id),full_name, abbreviation, email, institution, biocollection
vouchers Atualizar Vouchers (id or voucher_id),individual, biocollection, biocollection_type, biocollection_number, number, collector, date, dataset, notes

Nomenclature Types

Tipo Nomenclatural : código numérico
NotType : 0 Isosyntype : 8
Type : 1 Neotype : 9
Holotype : 2 Epitype : 10
Isotype : 3 Isoepitype : 11
Paratype : 4 Cultivartype : 12
Lectotype : 5 Clonotype : 13
Isolectotype : 6 Topotype : 14
Syntype : 7 Phototype : 15

Níveis taxonômicos (Ranks)

Nível Nível Nível Nível
-100 clade 60 cl., class 120 fam., family 210 section, sp., spec., species
0 kingdom 70 subcl., subclass 130 subfam., subfamily 220 subsp., subspecies
10 subkingd. 80 superord., superorder 150 tr., tribe 240 var., variety
30 div., phyl., phylum, division 90 ord., order 180 gen., genus 270 f., fo., form
40 subdiv. 100 subord. 190 subg., subgenus, sect.

2 - Obter dados - GET

Como obter dados usando a GET API!

Parâmetros GET compartilhados

Os endpoints compartilham estes parâmetros GET:

  • id retorna apenas o recurso especificado. Pode ser um número ou uma lista delimitada por vírgulas, como api/v0/locations? Id = 1,50,124
  • limit: limita o número de itens que devem ser retornados (deve ser maior que 0). Exemplo: api/v0/taxons?limit=10
  • offset: o registro inicial a partir do qual deseja extrair, para ser usado com limite ao tentar baixar uma grande quantidade de dados. Exemplo: api/v0/taxons?offset=1000&limit=10 retorna 10 registros começando da posição 1K da consulta realizada.
  • fields: o campo ou campos que devem ser retornados. Cada EndPoint possui seus próprios campos, mas há duas palavras especiais, simple (padrão) e all, que retornam diferentes coleções de campos. fields = all pode retornar sub-objetos para cada objeto. fields ='raw' irá retornar a tabela bruta, e isso torna a busca muito mais rápida, embora será mais difícil interpretar alguns valores. Exemplo: api/v0/taxons?fields='id,scientificName,valid'
  • save_job: usando save_job=1 na lista de parâmetros, será gerado um job com a sua busca e os dados poderão ser baixados após a finalização do job através da API userjobs api.

BibReferences Endpoint

O endpoint bibreferences interage com a tabela [bibreferences](/docs/concepts/auxiliary-objects/# bibreferences). Seu uso básico é obter as referências bibliográficas registradas.

Parâmetros GET

  • id = list retorna apenas referências com o id ou ids fornecidos (ex id = 1,2,3,10)
  • bibkey = list retorna apenas referências com bibkey ou bibkeys (ex bibkey = ducke1953, mayr1992)
  • taxon = lista de ids retorna apenas referências vinculadas ao táxon informado.
  • limit e offset. consulte Parâmetros comuns.

Campos de resposta

  • id- o id de BibReference na tabela bibreferences (um id de banco de dados local)
  • bibkey - a bibkey usada para pesquisar e usar a referência no sistema web
  • year - o ano de publicação
  • author - os autores da publicação
  • title - o título da publicação
  • doi - a publicação DOI, se presente
  • url - um url externo para a publicação, se presente
  • bibtex - o registro de citação de referência no formato [BibTex] (http://www.bibtex.org/)

Datasets Endpoint

O endpoint datasets interage com a tabela [Conjuntos de Dados] (/docs/concepts/data-access/#datasets) e com versões estáticas dos Conjuntos de Dados. Seu uso básico é obter uma lista dos Conjuntos de dados registrados. Útil para obter dataset_ids para importar medições, indivíduos, vouchers e midia. Além disso você pode baixar arquivos de versões estáticas dos dados, se alguma foi gerada. Isso permite um acesso aos dados de conjuntos de dados. O acesso aos dados vai depender se a versão tem licensa pública ou se o usuário é colaborador, administrador ou pode ver o conjunto de dados.

Parâmetros GET

  • id = list retorna apenas referências com o id ou ids fornecidos (ex id = 1,2,3,10)
  • list_versions = boolean retorna a lista de arquivos e versões para um ou mais conjuntos de dados id (ex id='1,2,3,4',list_versions=1)
  • file_name = string retorna os dados do arquivo indicado por esse parâmetro, conforme indicado na lista de versões retornada (ex id='1',file_name='2_Organisms.csv')

Campos de resposta

Com list_versions=1

  • dataset_id - o id do conjunto de dados na tabela de conjuntos de dados (um id de banco de dados local)
  • dataset - o nome do conjunto de dados
  • version - o nome da versão estática do conjunto de dados
  • license - a licensa CreativeCommons da versão dos dados
  • access - inicando se é OpenAccess ou se o usuário tem acesso
  • get_params - como informar o argumento params na função odb_get_datasets() do pacote do R para pegar os dados

Com file_name

  • Retorna os dados do arquivo indicado

Sem list_versions ou file_name

  • id - o id do conjunto de dados na tabela de conjuntos de dados (um id de banco de dados local)
  • name - o nome do conjunto de dados
  • privacyLevel - o nível de acesso para o conjunto de dados
  • contactEmail - o e-mail do administrador do conjunto de dados
  • description - uma descrição do conjunto de dados
  • policy - a política de dados, se especificada
  • measurements_count - o número de medições no conjunto de dados
  • taggedWidth - a lista de tags aplicadas ao conjunto de dados

Biocollections Endpoint

O endpoint biocollections interage com a tabela BioColeções. Seu uso básico é obter a lista das Coleções Biológicas cadastradas no banco de dados. Usando para obter biocollection_id ou validar seus códigos para importar dados com os pontos de extremidade Vouchers ou Indivíduos.

Parâmetros GET

  • id = list retorna apenas as Biocoleções tendo o id ou ids fornecidos (ex id = 1,2,3,10)
  • acronym retorna apenas Biocoleções tendo o acrônimo ou acrônimo fornecido (ex acronym = INPA, SP, NY)

Campos de resposta

  • id - o id do repositório ou museu na tabela de Biocoleções (um id de banco de dados local)
  • name - o nome do repositório ou museu
  • acronym - o acrônimo do repositório ou museu
  • irn - apenas para Herbarios, o número do herbário no Index Herbariorum

Individuals Endpoint

O endpoint individuals interage com a modelo Indivíduos. Seu uso básico é obter uma lista de indivíduos e dados associados.

Parâmetros GET

  • id = número ou lista - retorna indivíduos que têm id ou ids ex: id = 2345,345
  • location = mixed - retorna indivíduos por localidade, pode ser id ou nome ex: location = 24,25,26 location = Parcela 25ha (ligações diretas)
  • location_root - igual a location, mas retorna também dos descendentes das localidades informadas (ligações espaciais, tudo o que está dentro da(s) localidade(s))
  • taxon = mixed - o id ou ids, ou nomes de táxons (nomes completos, canonicalName) ex: taxon = Aniba, Ocotea guianensis, Licaria cannela tenuicarpa ou taxon = 456.789,3,4
  • taxon_root - igual a taxon mas retorna também todos os indivíduos identificados como qualquer um dos descendentes dos táxons informados (por exemplo, taxon=Lauraceae retorn todos os indivíduos da família)
  • project = mixed - o id ou ids ou nomes do projeto, ex: project = 3 ou project = OpenDataBio
  • tag = list - um ou mais códigos de identificação do individual, ex: tag = individuala1,2345,2345A
  • dataset = mixed - o id ou ids ou nomes dos conjuntos de dados, retorna os indivíduos que têm medições nos conjuntos de dados informados
  • limit e offset - Consulte Parâmetros comuns.

Campos de resposta

  • id - o id do indivíduo na tabela de individuals (um id de banco de dados local)
  • basisOfRecord DWC - será sempre DWC organism
  • organismID DWC - uma combinação única local de informações de registro, composta de recordNumber,recordedByMain,locationName
  • recordedBy DWC - lista separada de abreviações de pessoas registradas (usando pipe " | “)
  • recordedByMain - a primeira pessoa listada em recordedBy
  • recordNumber DWC - um identificador para o indivíduo, pode ser o código em uma etiqueta de alumínio de árvore, um código num anilha de uma ave, um número de coletor
  • recordedDate DWC - a data de registro
  • scientificName DWC - a identificação taxonômica atual do indivíduo (sem autores) ou “unidentified”
  • scientificNameAuthorship DWC - a autoria do táxon. Para taxonomicStatus = não publicado será um nome de pessoa registrado ODB
  • family DWC
  • genus DWC
  • identificationQualifier DWC - modificador do nome identificado cf. aff. s.l., etc.
  • identifiedBy DWC - pessoa que atribuiu o scientificName
  • dateIdentified DWC - data da identificação
  • identificationRemarks DWC - notas da identificação
  • locationName - nome da localidade
  • locationParentName - nome da localidade pai da localidade do indivíduo
  • higherGeography DWC - a hierarquia completa separada por pipe (’|’) - e.g. Brasil | Amazonas | Rio Preto da Eva | Fazenda Esteio | Reserva km37 | Manaus ForestGeo-PDBFF Plot | Quadrat 100x100 );
  • decimalLatitude DWC - a latitude em graus decimais. O valor vai depender do tipo de localidade e da posição relativa do indivíduo (i.e. se houver atributos X e Y, ou Angle e Distance eles serão usados para calcular este valor). Se o indivíduo tiver multiplas localidades registradas (e.g. uma ave monitorada), esta será a coordenada da última localidade registrada.
  • decimalLongitude DWC - mesmo que decimalLatitude, mas para longitude.
  • x - a posição X do indivíduo dentro de uma localidade do tipo Parcela
  • y - a posição Y do indivíduo dentro de uma localidade do tipo Parcela
  • gx - a posição X do indivíduo dentro da localidade pai, quando a localidade for uma subparcela (e.g. protocolo ForestGeo)
  • gy - a posição Y do indivíduo dentro da localidade pai, quando a localidade for uma subparcela (e.g. protocolo ForestGeo)
  • angle - a direção do azimute da posição do indivíduo em relação uma coordenada geográfica (POINT location)
  • distance - a distância do indivíduo a coordenada geográfica (POINT location), quando angle é informado.
  • organismRemarks DWC - notas associadas ao registro do Indivíduo
  • associatedMedia DWC - urls para arquivos de media ligados ao indivíduo quando for o caso
  • datasetName - nome do Conjunto de Dados ao qual o indivíduo pertence DWC
  • accessRights - a política de acesso do Conjunto de dados - DWC
  • bibliographicCitation - a citação para Conjunto de Dados - DWC
  • license - a licensa para o Conjunto de Dados - DWC

Individual-locations Endpoint

O endpoint individual-locations interage com a tabela individual_location. Seu uso básico é obter dados de ocorrência de indivíduos. Projetado para ocorrências de organismos que se movem e têm vários locais, caso contrário, a mesma informação é recuperada com o Endpoint Individuals.

Parâmetros GET

  • individual_id = número ou lista - retorna indivíduos que têm id ou ids ex: id = 2345,345
  • location = mixed - retorna indivíduos por localidade, pode ser id ou nome ex: location = 24,25,26 location = Parcela 25ha (ligações diretas)
  • location_root - igual a location, mas retorna também dos descendentes das localidades informadas (ligações espaciais, tudo o que está dentro da(s) localidade(s))
  • taxon = mixed - o id ou ids, ou nomes de táxons (nomes completos, canonicalName) ex: taxon = Aniba, Ocotea guianensis, Licaria cannela tenuicarpa ou taxon = 456.789,3,4
  • taxon_root - igual a taxon mas retorna também todos os indivíduos identificados como qualquer um dos descendentes dos táxons informados (por exemplo, taxon=Lauraceae retorn todos os indivíduos da família)
  • dataset = mixed - o id ou ids ou nomes dos conjuntos de dados, retorna os indivíduos que têm medições nos conjuntos de dados informados
  • limit e offset - Consulte Parâmetros comuns.

Campos de resposta

  • individual_id - o id do indivíduo na tabela de individuals (um id de banco de dados local)

  • location_id - o id do local na tabela de locations (um id de banco de dados local)

  • basisOfRecord - será sempre ‘occurrence’ - DWC e DWC occurrence;

  • occurrenceID - o identificador único para este registro, o indivíduo + local + date_time - DWC

  • organismID - o identificador exclusivo para o indivíduo DWC

  • recordedDate - a data e hora do registro da ocorrência [DWC] (https://dwc.tdwg.org/terms/#dwc:recordedDate)

  • locationName - o nome da localidade

  • higherGeography DWC - a hierarquia completa separada por pipe (’|’) - e.g. Brasil | Amazonas | Rio Preto da Eva | Fazenda Esteio | Reserva km37 | Manaus ForestGeo-PDBFF Plot | Quadrat 100x100 );

  • decimalLatitude DWC - a latitude em graus decimais. O valor vai depender do tipo de localidade e da posição relativa do indivíduo (i.e. se houver atributos X e Y, ou Angle e Distance eles serão usados para calcular este valor). Se o indivíduo tiver multiplas localidades registradas (e.g. uma ave monitorada), esta será a coordenada da última localidade registrada.

  • decimalLongitude DWC - mesmo que decimalLatitude, mas para longitude.

  • x - a posição X do indivíduo dentro de uma localidade do tipo Parcela

  • y - a posição Y do indivíduo dentro de uma localidade do tipo Parcela ForestGeo)

  • angle - a direção do azimute da posição do indivíduo em relação uma coordenada geográfica (POINT location)

  • distance - a distância do indivíduo a coordenada geográfica (POINT location), quando angle é informado.

  • organismRemarks DWC - notas associadas ao registro do Indivíduo

  • associatedMedia DWC - urls para arquivos de media ligados ao indivíduo quando for o caso

  • datasetName - nome do Conjunto de Dados ao qual o indivíduo pertence DWC

  • accessRights - a política de acesso do Conjunto de dados - DWC

  • bibliographicCitation - a citação para Conjunto de Dados - DWC

  • license - a licensa para o Conjunto de Dados - DWC

  • scientificName DWC - a identificação taxonômica atual do indivíduo (sem autores) ou “unidentified”

  • family DWC

  • datasetName - nome do Conjunto de Dados ao qual o indivíduo pertence DWC

  • accessRights - a política de acesso do Conjunto de dados - DWC

  • bibliographicCitation - a citação para Conjunto de Dados - DWC

  • license - a licensa para o Conjunto de Dados - DWC

  • minimumElevation - a altitude da ocorrência, se registrado - DWC

  • occurrenceRemarks - qualquer nota associada ao registro de ocorrência do indivíduo - DWC


Measurements Endpoint

O endpoint measurements interage com o modelo Medições. Seu uso básico é obter dados vinculados a indivíduos, táxons, localidades ou vouchers, independentemente dos conjuntos de dados, por isso é útil quando você deseja obter medições específicas de diferentes conjuntos de dados aos quais você tem acesso. Se você quiser um conjunto de dados completo, mais fácil usar a interface da web, pois ela prepara um conjunto completo de medições do conjunto de dados e todas as tabelas de dados associados.

Parâmetros GET

  • id = lista de ids retorna apenas a medição ou medições tendo o id ou ids fornecidos (ex id = 1,2,3,10)
  • taxon = lista de ids ou nomes retorna apenas as medições relacionadas aos táxons, tanto medidas diretas quanto medidas indiretas de seus indivíduos e vouchers. Não considera os táxons descendentes para esse uso, em vez disso, use taxon_root. Por exemplo, taxon = Aniba, Licaria irá retornar apenas medições diretamente ligadas ao gênero e vouchers identificados em nível de gênero.
  • taxon_root = lista de ids ou nomes semelhantes a taxon, mas obtém também medições para táxons descendentes da consulta informada (ex taxon = Lauraceae obterá medições vinculadas a Lauraceae e qualquer táxon que pertença a ela);
  • dataset = lista de ids retorna apenas as medições pertencentes aos datasets informados (ex dataset = 1,2)
  • trait = lista de ids ou export_names retorna apenas as medições para as variáveis informadas (ex trait=DBH, DBHpom ou dataset=2&trait=DBH)
  • individual = lista de ids indivíduos retorna apenas as medições para os indivíduos com esses id informados (ex individual = 1000,1200)
  • voucher = lista de ids de vouchers retorna apenas as medições para os vouchers com esses id informados (ex voucher = 345,321)
  • location = lista de ids de localidades retorna apenas medições para as localidades informados (ex: location = 4,3,2,1) - não recupera medições para indivíduos e vouchers nessas locais, apenas medições relacionados às próprias localidaes, como, por exemplo, dados de levantamentos de solo de parcelas.
  • limit e offset - Consulte Parâmetros comuns.

Campos de resposta

  • id - o id da medição na tabela de measurements (id do banco de dados local)
  • basisOfRecord DWC - será sempre ‘MeasurementsOrFact’ [dwc measureorfact](DWC measureorfact
  • measured_type - o objeto medido, um de ‘Individual’, ‘Location’, ‘Taxon’ ou ‘Voucher’
  • measured_id - o id do objeto medido na respectiva tabela de objetos (individuals.id, locations.id, taxons.id, vouchers.id)
  • measurementID DWC - um identificador único para a medição
  • measurementType DWC - o export_name para a Variável medida
  • measurementValue DWC - o valor da medição - dependerá do tipo de medição ver Variáveis
  • measurementUnit DWC - a unidade de medida para variáveis quantitativas
  • measurementDeterminedDate DWC - a data da medição
  • measurementDeterminedBy DWC - Pessoa responsável pela medição
  • measurementRemarks DWC - nota de texto associada a este registro de medição
  • resourceRelationship DWC - o objeto medido (recurso) - um de ’location’,’taxon’,‘organism’,‘preservedSpecimen’
  • resourceRelationshipID DWC - o id do resourceRelationship
  • relationshipOfResource DWC - será sempre ‘measurement of’
  • scientificName DWC - a identificação taxonômica relacionada à medição, se for o caso
  • family DWC - a família taxonômica, se for o caso.
  • datasetName - nome do Conjunto de Dados ao qual a medição pertence DWC
  • accessRights - a política de acesso do Conjunto de dados - DWC
  • bibliographicCitation - a citação para Conjunto de Dados - DWC
  • license - a licensa para o Conjunto de Dados - DWC
  • measurementLocationId - o ODB id da localidade associada à medição
  • measurementParentId - o ODB id de outra medição relacionada (a medição pai da qual esta depende)
  • decimalLatitude DWC - a latitude em graus decimais da medição ou do objeto medido.
  • decimalLongitude DWC - a longitude em graus decimais da medição ou do objeto medido.

Media Endpoint

O endpoint media interage com a tabela media. Seu uso básico é obter os metadados associados aos arquivos de mídia, incluindo a URL dos arquivos.

Parâmetros GET

  • individual = número ou lista - retorna mídia associada aos indivíduos com id ou ids, por exemplo: id = 2345,345
  • voucher = number or list - retorna mídia associada aos vouchers com id ou ids, por exemplo: id = 2345,345
  • location = mixed - retorna mídia associada a localidades, pode ser id ou nome ex: location = 24,25,26 location = Parcela 25ha (ligações diretas)
  • location_root - igual a location, mas retorna também dos descendentes das localidades informadas (ligações espaciais, tudo o que está dentro da(s) localidade(s))
  • taxon = mixed - o id ou ids, ou nomes de táxons (nomes completos, canonicalName) ex: taxon = Aniba, Ocotea guianensis, Licaria cannela tenuicarpa ou taxon = 456.789,3,4
  • taxon_root - igual a taxon mas retorna também todos os indivíduos identificados como qualquer um dos descendentes dos táxons informados (por exemplo, taxon=Lauraceae retorn todos os indivíduos da família)
  • dataset = mixed - o id ou ids ou nomes dos conjuntos de dados, retorna mídia pertencentes aos conjuntos de dados informados
  • limit e offset- Consulte Parâmetros comuns.

Response fields

  • id - o id da medição na tabela measurements (local database id)
  • basisOfRecord DWC - será sempre ‘MachineObservation’ DWC
  • model_type - o objeto relacionado ‘Individual’, ‘Location’, ‘Taxon’ or ‘Voucher’
  • model_id - o id do objeto relacionado na respectiva tabela (individuals.id, locations.id, taxons.id, vouchers.id)
  • resourceRelationship DWC - o objeto relacionado - one of ’location’,’taxon’,‘organism’,‘preservedSpecimen’
  • resourceRelationshipID DWC - o id não numérico do resourceRelationship
  • relationshipOfResource DWC - será um ‘dwcType’
  • recordedBy DWC - lista separada por pipe “|” das Pessoas autores
  • recordedDate DWC - a data do arquivo de mídia
  • scientificName DWC - a identificação taxonômica do objeto na mídia, quando for o caso.
  • family DWC
  • dwcType DWC - um de StillImage, MovingImage, Sound
  • family DWC - a família taxonômica, se for o caso.
  • datasetName - nome do Conjunto de Dados ao qual a mídia pertence DWC
  • accessRights - a política de acesso do Conjunto de dados - DWC
  • bibliographicCitation - a citação para Conjunto de Dados - DWC
  • license - a licensa para o Conjunto de Dados - DWC
  • file_name - nome do arquivo
  • file_url - o endereço do arquivo

Languages EndPoint

O endpoint languages interage com a tabela Language. Seu uso básico é obter uma lista de idiomas registrados para importar Traduções do usuário como é o caso dos nomes de Variáveis e categorias, ou descrições de arquivos de mídia.

Campos de resposta

  • id - o id do idioma na tabela de idiomas (um id de banco de dados local)
  • code - o código do idioma;
  • name - o nome do idioma;

Locations Endpoint

O endpoint locations interage com a modelo Localidades. Seu uso básico é obter uma lista de localidades registradas

Parâmetros GET

  • id = list retorna apenas localidades com o id ou ids fornecidos (ex: id = 1,2,3,10)
  • adm_level = number retorna apenas localidades para o nível ou tipo especificado:
    • 2 para o país; 3 para a primeira divisão dentro do país (província, estado); 4 para a segunda divisão (por exemplo, município) … até adm_level 10 como áreas administrativas (Geometria: polígono, multipolygon);
    • 97 é o código para Camadas Ambientais (Geometria: polygon, multipolygon);
    • 98 é o código para Áreas Indígenas (Geometria: polygon, multipolygon);
    • 99 é o código para Unidades de Conservação (Geometria: polygon, multipolygon);
    • 100 é o código para PARCELAS e SUB-PARCELAS (Geometria: polygon ou point);
    • 101 para transectos (geometria: point ou linestring)
    • 999 para qualquer localidades de ‘PONTO’ como waypoints GPS (Geometria: point);
  • name = string retorna apenas as localidades cujo nome corresponde à string de pesquisa. Você pode usar asterisco como curinga. Exemplo: nome=Manaus ounome=*Ducke*para encontrar o nome que possui a palavra Ducke;
  • parent_id = list retorna as localidades cujo pai imediato na lista (ex: parent_id = 2,3)
  • root = number id da localidade para pesquisar, retorna as localidades para a id especificada junto com todas as localidades descendentes; exemplo: encontre o id para o Brasil e use seu id como root para obter todos as localidades pertencentes ao Brasil;
  • querytype um de “exact”,“parent” ou “closest” e deve ser fornecido com lat e long:
    • quando querytype = exact encontrará uma localidade do tipo POINT que tem a correspondência exata de lat e long;
    • quando querytype = parent encontrará a localidade pai mais inclusiva dentro da qual as coordenadas fornecidas por lat e long caem;
    • quando querytype = closest irá encontrar a localidade mais próxima das coordenadas dadas por lat e long; Ele pesquisará apenas os locais mais próximos com adm_level>99, veja acima.
    • lat e long devem ser coordenadas válidas em graus decimais (negativo para Sul e Oeste);
  • fields = list especifica quais campos você deseja obter com sua consulta (veja abaixo os nomes dos campos), ou use as opções ‘all’ ou ‘simple’, para obter o conjunto completo e as colunas mais importantes, respectivamente
  • project = mixed - id ou nome do projeto (pode ser uma lista) retorna as localidades utilizadas em um ou mais projetos
  • dataset = mixed - id ou nome de um conjunto de dados (pode ser uma lista) retorna as localidades utilizadas a um ou mais conjuntos de dados
  • limit e offset- Consulte Parâmetros comuns.

Note que id, search, parent e root não devem ser combinadas na mesma busca;

Response fields

  • id - o id da localidade na tabela locations (um id de banco de dados local)
  • basisOfRecord DWC - sempre conterá ’location’ (DWC location
  • locationName - o nome do local (se o país for o nome do país, se indicar o nome do estado, etc …)
  • adm_level - o valor numérico para o nível administrativo ODB (2 para países, etc)
  • levelName - o nome do nível administrativo ODB
  • parent_id - o id da localidade pai na tabela locations
  • parentName - o nome do pai imediato da localidade
  • higherGeography [DWC] (https://dwc.tdwg.org/terms/#dwc:higherGeography) - o caminho completo das localidades pais,(por exemplo, Brasil | São Paulo | Cananéia);
  • footprintWKT DWC - a representação geométrica da localidade em formato WKT; para localidades com adm_level==100 (parcelas) ou adm_level==101 mas informadas como POINT, as geometrias do polygon ou linestring, respectivamente, serão geradas a partir das dimensões especificadas para essas localidades.
    • x e y - (metros) para localidades do tipo Parcela (100 == adm_level), as dimensões X e Y. Para localidades do tipo Transecto (101 == adm_level), x pode ser o comprimento do transecto e Y um valor de buffer para inclusão de indivíduos
    • startx e starty - (meters) se a localidde for uma subparcela (100 == adm_level com localidade pai também adm_level==100), esses valores representam a posição X e Y da subparcela em relação as coordenadas 0,0 da parcela pai;
    • distance - apnas quando querytype=closest este valor representa a distância em metros da localidade pesquisada a localidade obtida
    • locationRemarks DWC - quaquer nota associada ao registro da localidade
    • decimalLatitude DWC - depende do adm_level: se adm_level<=99, a latitude do centroid; se adm_level == 999 (point), a latitude do ponto; se adm_level==100 (parcela) or 101 (transecto), mas estes informados com uma geometria do tipo POINT, a latitude do POINT, caso contrário, se geometria POLYGON ou LINESTRING, o a coordenada do primeiro ponto da geometria.
    • decimalLongitude DWC - mesmo para decimalLatitude
    • georeferenceRemarks DWC - explicação sobre como decimalLatitude e decimalLongitude form calculados
    • geodeticDatum -DWC - o geodeticDatum informado para a geometria (ODB não faz reprojeções espaciais, assumes que dados espaciais são sempre WSG84)

Persons Endpoint

O endpoint persons interage com a tabela Person. O uso básico é obter uma lista de pessoas cadastradas (coletores de dados, especialistas taxonômicos, etc).

Parâmetros GET

  • id = list retorna apenas pessoas com o id ou ids fornecidos (ex: id = 1,2,3,10)
  • name = string - retorna pessoas cujo nome corresponde à string especificada. Você pode usar asterisco como curinga. Ex: name =*ducke*
  • abbrev = string, retorna pessoas cuja abreviação corresponde à string especificada. Você pode usar asterisco como curinga.
  • email = string, retorna pessoas cujo e-mail corresponde à string especificada. Você pode usar asterisco como curinga.
  • search = string, retorna pessoas cujo nome, abreviatura ou e-mail corresponde à string especificada. Você pode usar asterisco como curinga.
  • limit e offset- Consulte Parâmetros comuns.

Campos de resposta

  • id - o id da pessoa na tabela de pessoas (um id de banco de dados local)
  • full_name - o nome da pessoa;
  • abbreviation - o nome da pessoa (estes são valores ÚNICOS em um banco de dados OpenDataBio)
  • email - o e-mail, se registrado ou a pessoa é o usuário
  • institution - a instituição de pessoas, se registrada
  • notes - quaisquer notas registradas;
  • biocollection - o nome da Coleção Biológica (Biocollections, etc) à qual a pessoa está associada

Projects EndPoint

O endpoint projects interage com a tabela [projects](/docs /concepts /data-access /#projects). O uso básico é obter os projetos registrados.

Parâmetros GET

  • id = list retorna apenas projetos com o id ou ids fornecidos (ex id = 1,2,3,10)

Campos de resposta

  • id - o id do projeto na tabela de projetos (um id de banco de dados local)
  • fullname - nome do projeto
  • contactEmail - o e-mail do administrador do projeto
  • individual_count - o número de indivíduos no projeto
  • vouchers_count - o número de vouchers no projeto

Taxons Endpoint

O endpoint taxons interage com a tabela [taxons](/docs /concepts /core-objects/#taxons). O uso básico é obter uma lista de nomes taxonômicos registrados.

Parâmetros GET

  • id = list retorna apenas táxons com o id ou ids fornecidos (ex: id = 1,2,3,10)
  • name = search retorna apenas táxons com fullname (sem autores) correspondendo à string de pesquisa. Você pode usar asterisco como curinga.
  • root = number retorna o táxon para o id especificado junto com todos os seus descendentes
  • level = number retorna apenas táxons para o taxonRank.
  • valid = 1 retorna apenas nomes válidos
  • external = 1 retorna os números de referência Tropicos, IPNI, MycoBank, ZOOBANK ou GBIF. Você precisa especificar externalrefs na lista de campos para retorná-los!
  • project = mixed - id ou nome do projeto (pode ser uma lista) retorna os táxons pertencentes a um ou mais Projetos
  • dataset = mixed - id ou nome de um conjunto de dados (pode ser uma lista) retorna os táxons pertencentes a um ou mais conjuntos de dados
  • limit e offset- Consulte Parâmetros comuns.

Note que id, name e root não devem ser combinadas na mesma busca;

Campos de resposta

  • id - este id ODB para este registro de táxons na tabela de táxons
  • senior_id - se inválido, o id do nome aceito para este taxon (acceptedNameUsage) - somente quando taxonomicStatus == ‘invalid’
  • parent_id - o id do táxon pai
  • author_id - o id da pessoa que definiu o táxon para nomes não publicados (ter um author_id significa que o táxon não foi publicado)
  • scientificName DWC - o nome taxonômico completo sem autores (ou seja, incluindo o nome do gênero e epíteto do nome da espécie)
  • ScientificNameID DWC - IDs de bancos de dados nomenclaturais, se qualquer referência externa for armazenada para este registro de táxon
  • taxonRank DWC - o nível taxonômico do taxon registrado
  • level - o valor numérico do taxonRank para o OpenDataBio
  • scientificNameAuthorship DWC - a autoria do táxon. Para não publicado será um nome de pessoa registrado ODB
  • namePublishedIn - referência bibliográfica unificada (ou seja, o formato curto ou um trecho da referência do bibtex atribuído). Isso será recuperado principalmente de bancos de dados nomenclaturais; As referências vinculadas a táxons podem ser extraídas com o endpoint BibReferences.
  • taxonomicStatus DWC - um de ‘accepted’, ‘invalid’ ou ‘unpublished’; se invalid, os campos senior_id and acceptedNameUsage serão preenchidos.
  • parentNameUsage [DWC] (https://dwc.tdwg.org/terms/#dwc:parentNameUsage) - o nome do táxon pai, se espécie, gênero, se gênero, família e assim por diante
  • family [DWC] (https://dwc.tdwg.org/terms/#dwc:family) - o nome da família taxonômica quando for o caso.
  • higherClassification [DWC] (https://dwc.tdwg.org/terms/#dwc:higherClassification) - a classificação hierárquica taxonômica completa, separada por “|” (incluirá apenas táxons registrados neste banco de dados)
  • acceptedNameUsage [DWC] (https://dwc.tdwg.org/terms/#dwc:acceptedNameUsage) - se taxonomicStatus for inválido, o nome científico válido para este táxon
  • acceptNameUsageID [DWC] (https://dwc.tdwg.org/terms/#dwc:acceptedNameUsageID) - se taxonomicStatus for inválido os ids ScientificNameID do táxon válido
  • taxonRemarks [DWC] (https://dwc.tdwg.org/terms/#dwc:taxonRemarks) - qualquer nota que o registro do táxon possa ter
  • basisOfRecord [DWC] (https://dwc.tdwg.org/terms/#dwc:basisOfRecord) - será sempre ’taxon’
  • externalrefs - os números de referência Tropicos, IPNI, MycoBank, ZOOBANK ou GBIF

Traits Endpoint

O endpoint traits interage com o modelo Variáveis. O uso básico é obter uma lista de variáveis ​​e categorias de variáveis ​​para importar Medições.

Parâmetros GET

  • id = lista retorna apenas variáveis tendo o id ou ids fornecidos (ex id = 1,2,3,10);
  • name = string retorna apenas variáveis com o export_name indicado (ex: name = DBH) - para mais opções de busca, baixe toda a biblioteca e filtre localmente.
  • categories - se verdadeiro, retorna as categorias para variáveis categóricas
  • language = mixed idioma para retorno dos nomes e descrições da variável e das categorias para variáveis categóricas. Os valores podem ser ’language_id’, ’language_code’ ou ’language_name’;
  • bibreference = boolean - se verdadeiro, inclui a [BibReference](/docs/concepts/auxiliary-objects/# bibreference) associado à definição da variável, se houver.
  • limit e offset- Consulte Parâmetros comuns.

Campos de resposta

  • id - o id do Trait na tabela odbtraits (um id de banco de dados local)
  • type - o código numérico que define o tipo de característica
  • typename - o nome do tipo de Trait
  • export_name - o valor do nome de exportação
  • measurementType DWC - o mesmo que export_name para compatibilidade DWC
  • measurementMethod DWC - combine nome, descrição e categorias se aplicável (incluído na API Measurement GET, para compatibilidade DWC)
  • measurementUnit - a unidade de medida para características quantitativas
  • measurementTypeBibkeys - os bibkeys das referências bibliográficas associadas à definição do trait, separados por barra vertical ‘|’
  • taggedWith - o nome das tags ou palavras-chave associadas à definição da característica, separados por barra vertical ‘|’
  • range_min - o valor mínimo permitido para características quantitativas
  • range_max - o valor máximo permitido para características quantitativas
  • link_type - se o tipo de link trait, a classe do objeto ao qual o traço se vincula (atualmente apenas Taxon)
  • name - o nome do trait no idioma solicitado ou no idioma padrão
  • description - a descrição do traço no idioma solicitado ou no idioma padrão
  • value_length - o comprimento dos valores permitidos para variáveis Espectrais (juntamente com range_min e range_max, define o espaçamento entre os valores que fazem o espectro medido.
  • objects - os tipos de objeto para os quais o traço pode ser usado, separados por barra vertical ‘|’
  • categories - para variáveis categóricas e ordinais, um sub conjunto com os seguintes campos para cada categoria: id , name, description e rank. O rank é informativo apenas para variáveis ORDINAIS, mas é reportado para todas as variáveis categóricas.

Vouchers Endpoint

O endpoint vouchers interage com o modelo Vouchers. Seu uso básico é obter dados de espécimes de Coleções Biológicas

Parâmetros GET

  • id = list retorna apenas vouchers com o id ou ids fornecidos (ex id = 1,2,3,10)
  • numero = string retorna apenas vouchers para o número do coletor informado (mas é uma string e pode conter caracteres não numéricos)
  • collector = mixed um dos id ou ids ou abreviações, retorna apenas vouchers para o coletor principal informado
  • dataset = list - lista de id ou ids, ou nomes do conjuntos de dados, retorna todos os vouchers relacionados aos conjuntos de dados informados, incluindo vouchers associados indiretamente (por exemplo, vouchers de medições ou de arquivos de mídia nos conjuntos de dados informados)
  • project = mixed um de ids ou nomes, retorna apenas os vouchers para o projeto informado.
  • location = mixed um de ids ou nomes; filtra vouchers diretamente vinculados à(s) localidades(s)
  • location_root = mixed - igual a location, mas inclui também os vouchers para as localides descendentes das localidades informadas. por exemplo. “location_root = Manaus” para obter qualquer voucher coletado dentro da área administrativa de Manaus, enquanto “location=Manaus” retorna apenas indivíduos cuja localidade é Manaus, mas indivíduos ligados a outras localidades dentro do município..;
  • individual=mixed id ou lista de ids, ou organismID(s) de indivíduos, retorna apenas vouchers para os indivíduos informados
  • taxon = mixed um de ids ou nomes, retorna apenas vouchers para os táxons informados.
  • taxon_root = mixed - igual a taxon, mas incluirá vouchers para os descendentes dos táxons informados. por exemplo. “taxon_root = Lauraceae” para obter qualquer voucher de Lauraceae e “taxon=Lauraceae” para obter vouchers identificados no nível de família.

Campos de resposta

  • id - o id do voucher na table vouchers (id local da instalação)
  • basisOfRecord DWC - será sempre ‘preservedSpecimen’ [dwc location](DWC
  • occurrenceID DWC - o identificador único do voucher que combina collectionCode+catalogNumber+organismID
  • organismID DWC -o identificador textual do Indivíduo ao qual o Voucher pertence
  • individual_id - o id do Indivíduo na tabela individuals (id local)
  • collectionCode DWC - o acrônimo da Coleção Biológica onde o Voucher está depositado
  • catalogNumber DWC - o número de tombo (id) do Voucher na Coleção Biológica
  • typeStatus DWC - se o Voucher representa um tipo nomenclatural
  • recordedBy DWC - abbreviações de coletores separados por pipe “|”
  • recordedByMain - a primeira pessoa listada em recordedBy, o coletor ao qual pertence o recordNumber
  • recordNumber DWC - o número do coletor ou identificador do Voucher.
  • recordedDate DWC - a data de coleta (pode estar incompleta)
  • scientificName DWC - o nome científico do Indivíduo ao qual o voucher pertence.
  • scientificNameAuthorship DWC - o autor do nome taxonomico. Para taxonomicStatus unpublished será o nome da Pessoa que criou o nome não publicado.
  • family DWC
  • genus DWC
  • identificationQualifier DWC - modificadores do nome para a identificação atribuída: cf. aff. s.l., etc.
  • identifiedBy DWC - Pessoa que identificou
  • dateIdentified DWC - data da identificação
  • identificationRemarks DWC - notas de identificacao
  • locationName - nome da localidade em que o indivíduo estava quando foi coletado (quando o indivíduo tem mais de uma localidade, a localidade da data mais próxima)
  • higherGeography DWC - o caminho completo até LocationName ‘|’ separated (e.g. Brasil | Amazonas | Rio Preto da Eva | Fazenda Esteio | Reserva km37);
  • decimalLatitude DWC - depende do tipo de localidade e dos atributos de posição relativa do Indivíduo ao qual o Voucher pertence. Se o indivíduo tiver vários locais (uma ave monitorado), o local mais próximo da data em que o voucher foi obtido
  • decimalLongitude DWC - mesmo que para decimalLatitude
  • occurrenceRemarks DWC - notas para este registro
  • associatedMedia DWC - urls para arquivos de mídia associados a este registro
  • datasetName - nome do Conjunto de Dados ao qual o indivíduo pertence DWC
  • accessRights - a política de acesso do Conjunto de dados - DWC
  • bibliographicCitation - a citação para Conjunto de Dados - DWC
  • license - a licensa para o Conjunto de Dados - DWC

Jobs Endpoint

O endpoint jobs interage com o modelo [UserJobs] (/docs/concepts/data-access/#user-jobs). O uso básico é obter uma lista de trabalhos de importação, junto com uma mensagem de status e logs. Você também pode obter dados solicitados usando o parâmetro save_job=1 ou através da interface da web.

Parâmetros GET

  • id - id do job (id local)
  • status = string retorna apenas jobs para o status especificado: “Submitted”, “Processing”, “Success”, “Failed” ou “Cancelled”;
  • get_file - se get_file=1, então você pode obter o arquivo de dados salvo por um job. Isso também precisa de um único parâmetro id. Útil, ao obter dados com a opção save_job=1.

Campos de resposta

  • id - id do job (id local)
  • status - o status do trabalho:” Enviado “,” Processando “,” Sucesso “,” Falha “ou” Cancelado “;
  • dispatcher - o tipo de trabalho, por exemplo, ImportTaxons;
  • log - as mensagens de log do job, geralmente indicando se os recursos foram importados com sucesso ou se ocorreram erros; outros.

Possíveis erros

Esta é uma pequena lista de códigos de erro que você pode receber ao usar a API. Se você receber qualquer outro código de erro, envie um issue para o repositório.

  • Error 401 - Unauthenticated. Currently not implemented. You may receive this error if you attempt to access some protected resources but didn’t provide an API token.
  • Error 403 - Unauthorized. You may receive this error if you attempt to import or edit some protected resources, and either didn’t provide an API token or your user does not have enough privileges.
  • Error 404 - The resource you attempted to see is not available. Note that you can receive this code if your user is not allowed to see a given resource.
  • Error 413 - Request Entity Too Large. You may be attempting to send a very large import, in which case you might want to break it down in smaller pieces.
  • Error 429 - Too many attempts. Wait one minute and try again.
  • Error 500 - Internal server error. This indicates a problem with the server code. Please file a bug report with details of your request.

3 - Inserir dados - POST

Como importar dados ao OpenDataBio usando a API

POST Individuals

Campos para importar indivíduos:

  • collector = mixed - obrigatório - pessoas - pode ser ‘id’, ‘abbreviation’, ‘full_name’, ’email’; se houver várias pessoas, separe os valores em sua lista com a barra vertical | ou ; porque vírgulas podem estar presentes nos nomes. O coletor principal é o primeiro da lista;
  • tag = string - obrigatório - o seu código ou número para o indivíduo (número da placa, número de coletor, número de anilha, etc)
  • dataset = mixed - obrigatório - nome ou id do Conjunto de Dados para colocar o Indivíduo
  • date = AAAA-MM-DD ou matriz - data em que o indivíduo foi coletado/etiquetado - para registros históricos pode-se informar uma string incompleta no formato “1888-05-NA” ou “1888-NA-NA"quando dia ou mês são desconhecidos. Pode-se informar também como array no formato “data = {‘year’: 1888, ‘month’: 5}”. OpenDataBio lida com datas incompletas, consulte o Modelo de dados incompletos. Pelo menos year é obrigatório.
  • notes=string - qualquer anotação para o Indivíduo, um texto simples ou dados em JSON;

Campos de localidade (uma ou mais localidades podem ser registradas para 1 indivíduo). Os campos possíveis são:

  • location - o nome ou id do local do Indivíduo obrigatório se a longitude e a latitude não forem informadas
  • latitude e longitude- coordenadas geográficas em graus decimais; obrigatório se location não for informado
  • altitude - a elevação do local onde o Indivíduo foi observado (em metros acima do nível do mar). Precisa ser um número inteiro;
  • location_notes - qualquer nota para a localidade do Indivíduo, um texto simples ou dados em JSON;
  • location_date_time - se diferente da data do indivíduo, uma data completa ou um valor de data + hora para a localidade do indivíduo. Obrigatório quando importando várias localidades.
  • x - se a localidade for do tipo Parcela (adm_level=100) ou Transecto (adm_level=101), a coordenada x do indivíduo na localidade;
  • y - se a localidade for do tipo Parcela (adm_level=100) ou Transecto (adm_level=101), a coordenada y do indivíduo na localidade;
  • distance - se o localidade for do tipo PONTO, uma distância para a posição do indivíduo em relação ao PONTO (em metros). Útil, com angle para, por exemplo, dados de Ponto Quadrante;
  • angle - se a localidade for do tipo PONTO, o azimute da posição do Indivíduo em relação à localidade;

Campos de identificação. A identificação taxonômica não é obrigatória, podendo ser informada de duas formas distintas: (1) identificação-própria - o indivíduo pode ter sua própria identificação; ou (2) identificação-dependente a identificação é a mesma que a de outro indivíduo (por exemplo, quando múltiplos indivíduos tem sua identificação associada a um único indivíduo para o qual existe um voucher num Biocoleção)

  1. Os seguintes campos podem ser usados ​​para a identificação-própria do indivíduo:
    • taxon = mixed - nome ou id do táxon identificado, por ex. ‘Ocotea delicata’ ou seu id
    • identifier = mixed - uma ou mais pessoas responsável(is) pela identificação taxonômica. Pode informar ‘id’, ‘abbreviation’, ‘full_name’ ou ’email’. Se houver várias pessoas, separe os valores em sua lista com a barra vertical | ou ; porque vírgulas podem estar presentes nos nomes.
    • identification_date ou identification_date_year, identification_date_month, e/ou identification_date_day - completo ou incompleto. Se vazio, a data de coleta do indivíduo será usada.
    • modifier - nome ou número do modificador do nome da identificação. Valores possíveis ’s.s.’ = 1, ’s.l.’ = 2, ‘cf.’ = 3, ‘aff.’ = 4, ‘vel aff.’ = 5, o padrão é 0 (nenhum).
    • identification_notes - quaisquer notas de identificação, um texto simples ou dados em JSON;
    • identification_based_on_biocollection - o nome ou id da Biocoleção se a identificação for baseada em um espécime de referência depositado em uma Biocoleção (registrada ou não na base)
    • identification_based_on_biocollection_id - somente preencher se identification_based_on_biocollection estiver preenchido;
  2. Para uma identificação-dependente
    • identification_individual - id ou nome completo (organimsID) do Indivíduo que possui a identificação.

Se o Indivíduo tiver Vouchers com os mesmos Coletores, Data e Número do Coletor (Tag) que os do Indivíduo, os seguintes campos e opções permitem armazenar os vouchers durante a importação do registro do Indivíduo (como alternativa, você pode importar o voucher após a importação indivíduos através do Voucher EndPoint. Os vouchers para o indivíduo podem ser informados de duas maneiras:

  1. Ou como campos separados:
  • biocollection - uma string com um único valor ou uma lista de valores separados por vírgulas. Os valores podem ser os valores id ou acronym do Modelo de Biolcoleções. Ex: “{‘biocollection’: ‘INPA; MO; NY’}” ou “{‘biocollection’: ‘1,10,20’}”;
  • biocollection_number - uma string com um único valor ou uma lista de valores separados por vírgulas com o BiocollectionNumber para o voucher individual. Se for uma lista, então deve ter o mesmo número de valores que biocollection;
  • biocollection_type - Uma string com um único valor de código numérico ou uma lista de valores separados por vírgulas para Tipo Nomenclatural para os Vouchers. O valor padrão é 0 (não é um tipo).
  1. Como um único campo biocollection contendo uma matriz com cada elemento tendo os campos acima para uma única BioColeção: “{ { ‘biocollection_code’ : ‘INPA’, ‘biocollection_number’ : 59786, ‘biocollection_type’ : 0}, { ‘biocollection_code’ : ‘MG’, ‘biocollection_number’ : 34567, ‘biocollection_type’ : 0} }”

POST Individual-locations

O endpoint individual-locations permite a importação de várias localidades para Indivíduos previamente registrados. Projetado para importação de múltiplas ocorrências de organismos que se movem.

Possible fields are:

  • individual - o id do Indivíduo obrigatório
  • location - o nome ou id do local do Indivíduo obrigatório se a longitude e a latitude não forem informadas
  • latitude e longitude- coordenadas geográficas em graus decimais; obrigatório se location não for informado
  • altitude - a elevação do local onde o Indivíduo foi observado (em metros acima do nível do mar);
  • location_notes - qualquer nota para a localidade do Indivíduo, um texto simples ou dados em JSON;
  • location_date_time - se diferente da data do indivíduo, uma data completa ou um valor de data + hora para a localidade do indivíduo. Obrigatório quando importando várias localidades.
  • x - se a localidade for do tipo Parcela (adm_level=100) ou Transecto (adm_level=101), a coordenada x do indivíduo na localidade;
  • y - se a localidade for do tipo Parcela (adm_level=100) ou Transecto (adm_level=101), a coordenada y do indivíduo na localidade;

POST Locations

O endpoint locations interage com o modelo Localidades. Use para importar novas localidades.

Certifique-se de que sua projeção geométrica seja EPSG: 4326 WGS84. Use este padrão!

Campos POST disponíveis:

  • nome - o nome da localidade - obrigatório (pai + nome deve ser único no banco de dados)
  • adm_level - deve ser numérico, veja aqui - obrigatório
  • geometria obrigatório, pode usar:
    • geom para uma representação WKT da geometria, POLYGON, MULTIPOLYGON, POINT OU LINESTRING permitido;
    • lat e long para latitude e longitude em graus decimais (use números negativos para sul/oeste).
  • altitude - em metros, se for o caso.
  • datum - o padrão é ‘EPSG: 4326-WGS 84’ e você é fortemente encorajado a importar apenas dados nesta projeção. Você pode informar uma projeção diferente aqui;
  • parent - o id ou o nome do local pai. A API detectará o pai com base na geometria informada e o pai detectado tem prioridade se for diferente do parent informado. No entanto, apenas quando os pais são informados, a validação também testará se sua localização cai dentro de uma versão em buffer do pai informado, permitindo importar locais que têm um relacionamento pai-filho, mas suas fronteiras se sobrepõem de alguma forma (fronteiras compartilhadas ou diferenças no georreferenciamento) ;
  • quando a localização é PARCELA (adm_level = 100), os campos opcionais são:
    • x e y para as dimensões da parcela em metros (define as coordenadas cartesianas)
    • startx e starty para a posição inicial de uma sub-parcela em relação à localização da parcela pai;
  • notes - qualquer nota que você deseja adicionar à sua localidade, um texto simples ou dados em JSON;
  • azimuth - aplica-se apenas para Parcelas e Transectos e quando registrados com uma geometria de tipo PONTO - o azimute será usado para construir a geometria. Para Parcelas, as coordenadas do ponto referem-se ao vértice 0,0 do polígono que será construído no sentido horário a partir do ponto informado, do azimute e a dimensão y. Para transectos, as coordenadas do ponto informado são o ponto inicial e uma linha será construída usando este azimute e a dimensão x.
  • ismarine - para permitir a importação de registros de localidade que não se enquadram em nenhum registro de localidade pai, você pode adicionar ismarine=1. Observe, no entanto, que isso permite importar locais sem validação espacial. Use somente se sua localização for realmente um local marítimo que esteja fora da fronteira de qualquer país registrado.

alternatively: you may just submit a single column named geojson containing a Feature record, with its geometry and having as ‘properties’ at least tags name and adm_level (or admin_level). See geojson.org. This is usefull, for example, to import country political boundaries (https://osm-boundaries.com/).

alternativamente: você pode apenas enviar uma única coluna chamada geojson contendo um registro Feature, com sua geometria e tendo como ‘propriedades’ pelo menos as tags name e adm_level (ou admin_level). Consulte geojson.org. Isso é útil, por exemplo, para importar as fronteiras políticas e administrativas de um país usando (https://osm-boundaries.com/).


POST Measurements

O endpoint measurements permite importar medições.

Os seguintes campos são permitidos para importar medições

  • dataset = number - o id do Conjunto de Dados onde a medição deve ser colocada obrigatório
  • data = AAAA-MM-DD - a data de observação para a medição, deve ser passada como AAAA-MM-DD obrigatório
  • object_type = string - ‘Individual’,‘Location’,‘Taxon’ or ‘Voucher’, ou seja, o objeto ao qual a medição pertence obrigatório
  • object_type = number - o id do objeto medido, seja (individuals.id, locations.id, taxons.id, vouchers.id) obrigatório
  • person = números ou strings - uma ou mais pessoas que mediram o objeto. Pode ser ‘id’, ‘abbreviation’, ‘full_name’, ’email’; se houver várias pessoas, separe os valores em sua lista com a barra vertical | ou ; porque vírgulas podem estar presentes nos nomes. obrigatório
  • trait_id = número ou string - o id ou export_name para a variável medida. obrigatório
  • value = número, lista de strings - isso dependerá do tipo de variável obrigatório, opcional para variável de tipo LINK**
  • link_id = number - o id do objeto vinculado para uma variável do tipo Link obrigatório para variáveis do tipo Link DEPRECADO SUBSTITUIDO POR location
  • location ou location_id - o id ou nome da Localidade de uma medição relacionada a um Taxon. Apenas Taxons podem ter um location também associado. Isso substitui a lógica do Trait de tipo Link.
  • bibreference = number - o id ou bibkey de uma referência para a medição. Deve ser usado quando a medição foi tirada de uma publicação
  • notes - qualquer nota que você desejar. Este é um local útil para armazenar informações relacionadas à medição. Por exemplo, ao medir 3 folhas de um voucher, você pode indicar aqui a qual folha a medição pertence, folha1, folha2, etc. permitindo vincular medidas de diferentes variáveis por este campo. Pode ser um texto simples ou dados em JSON;
  • duplicated - por padrão, a API de importação evitará medições duplicadas para a mesma variável, mesmo objeto medido e mesma data. Pode importar especificando duplicado=#, onde # é o número armazenado de registros+1. Por exemplo, se já existe um registro, deve-se informar duplicado=2 se houver dois, um terceiro pode ser armazenado utilizando duplicado=3 e assim por diante.
  • parent_measurement = números apenas - o ‘id’ de outra medição com a qual a medição sendo importada tem dependência. Isso cria uma relação entre as medições. O id será validado e deve ser de uma medição pertencente ao mesmo objeto, mesma data e variável diferente. Por exemplo. a ’largura da folha’ pode estar ligada a uma medida do ‘comprimento da folha’.

POST Persons

O endpoint persons interage com a tabela Person.

Os seguintes campos são permitidos ao importar pessoas usando a API:

  • full_name - nome completo da pessoa, obrigatório
  • abreviação - nome abreviado, conforme usado pela pessoa nas publicações, como coletor, etc. (se deixado em branco, uma abreviação padrão será gerada usando o atributo full_name - a abreviação deve ser única dentro de uma instalação OpenDataBio);
  • email - um endereço de e-mail,
  • instituição - a que instituição esta pessoa está associada;
  • biocollection - nome ou acrônimo da BioColeção à qual esta pessoa está associada (se for um taxonomista, por exemplo)

POST Taxons

Use para importar novos nomes taxonômicos.

Campos possíveis:

  • name - nome completo do táxon obrigatório, por exemplo “Ocotea floribunda” ou “Pagamea plicata glabrescens”
  • level - pode ser o id numérico ou uma string que descreve o taxonRank recomendado para nomes não publicados
  • parent - o nome completo ou id do pai do táxon - nota - se você informar um pai válido e o sistema detectar um pai diferente através da API aos repositórios nomenclaturais, será dada preferência ao pai informado; obrigatório para nomes não publicados
  • bibreference - a referência bibliográfica em que o táxon foi publicado;
  • author - o nome do autor do táxon;
  • author_id ou person - o nome da pessoa registrada, abreviatura, e-mail ou id, representando o autor de nomes não publicados - obrigatório para nomes não publicados
  • valid - booleano, verdadeiro se o nome do táxon for válido; 0 ou 1
  • mobot - id do Tropicos.org para este táxon
  • ipni - id do IPNI para este táxon
  • mycobank - id do MycoBank para este táxon
  • zoobank - id do ZOOBANK para este táxon
  • gbif - nubKey de GBIF para este táxon

POST Traits

Ao inserir algumas variáveis, recomendamos fortemente que você insira variáveis uma a uma usando o formulário da Interface Web, o que reduz a chance de duplicar definições de variáveis, que são objetos compartilhados com todos os usuários da base e devem ter uma definição clara.

Campos permitidos para POST traits:

  • export_name = string - um nome curto para a variável, que será usado durante as exportações de dados e nos formulários na interface. export_name deve ser único na base de dados e não devem ter tradução. Nomes de exportação curtos no estilo [CamelCase]​​(https://en.wikipedia.org/wiki/Camel_case) são recomendados. Evite sinais diacríticos (acentos), caracteres especiais, pontos e até mesmo espaços em branco obrigatório
  • type = number - um código numérico que especifica o tipo de Variável. Veja o modelo Variáveis para uma lista completa. obrigatório
  • objects = list - uma lista dos Core objects para os quais a variável pode ser medida. Os valores possíveis são ‘Individual’, ‘Voucher’, ‘Location’ e/ou ‘Taxon’, singular e sensível a maiúsculas e minúsculas. Ex: “{‘object’: ‘Individual,Voucher’}”; obrigatório
  • name = json - veja abaixo sobre traduções; obrigatório
  • description = json - veja abaixo sobre traduções; obrigatório Campos específicos para tipos de variáveis:
    • unit=string - necessário apenas para características quantitativas (a unidade de medida). Deve ser um código ou um nome (em qualquer idioma) de uma unidade já armazenada no banco de dados. As unidades só podem ser definidas através da interface web.
    • range_min = number - opcional para variáveis quantitativas. especifique o valor mínimo permitido para uma medição.
    • range_max = number - opcional para quantitativo. valor máximo permitido para a variável.
    • categories = json - obrigatório para variáveis categóricas e ordinais; veja abaixo sobre traduções
    • wavenumber_min e wavenumber_max - obrigatório para variáveis espectrais = número de onda mínimo e máximo dentro do qual os valores de absorbância ou refletância de ‘value_length’ estão igualmente distribuídos. Pode ser informado em range_min e range_max, prioridade para o prefixo wavenumber sobre range se ambos informados.
    • value_length - obrigatório para características espectrais = número de valores no espectro
    • link_type- obrigatório para características de link - a classe do tipo de link, nome completo ou nome de base: por exemplo. ‘Taxon’ ou ‘App\Models\Taxon’.
  • bibreference=mix - o(s) id(s) ou bibkey(s) de uma BibReference já armazenada(s) no banco de dados. Se mais de uma, separados por ‘|’ ou ‘;’
  • parent - id ou export_name de outra variável da qual a variável depende. Se você indicar uma variável aqui, isso significa que você adiciona uma RESTRIÇÃO na validação das medições. Adicionar uma Medida para a variável sendo importada DEPENDERÁ de o banco de dados possuir uma medida para a variável aqui indicada, para o mesmo objeto e mesma data. Exemplo, você cria uma característica chamada POM (ponto de medição) para registrar a altura em uma árvore onde você mede um DAP (diâmetro à altura do peito). Adicionar DAP como uma característica da qual o POM depende significa que você só pode adicionar POM se houver um valor de DAP para a mesma árvore na mesma data.

Categorias e Traduções

  • Os campos name, description devem ter a seguinte estrutura para incorporar Traduções do usuário. Eles devem ser uma lista com o idioma como ‘chaves’.

  • Idiomas válidos podem ser obtidos pelo Language API.

  • Por exemplo, um campo name pode receber a seguinte informação:

    • usando o código de idioma como chaves:
      [
        {"en": "Diâmetro na altura do peito"," pt-br": "Diâmetro a Altura do Peito"}
      ]
    
    • ou usando os ids de idioma como chaves:
      [
        {"1":"Diâmetro à altura do peito","2":"Diâmetro a Altura do Peito"}
      ]
    
    • ou usando os nomes dos idiomas como chaves:
      [
        {"English":"Diameter at Breast Height","Portuguese": "Diâmetro a Altura do Peito"}
      ]
    
  • Alternativamente, você pode adicionar as informaçõe como parâmetros separados. Ao invés de name pode usar name.IDIOMA_CODIGO_ou_ID, por exemplo name.en ou name.1 para o nome em inglês e name.pt-br ou name.2 para o nome em português. Da mesma forma para description: description.en ou description.1, etc.

  • O campo categories deve incluir para cada categoria + ordem + idioma os seguintes campos:

    • lang = mixed - o id, código ou nome do idioma da tradução, obrigatório
    • name = string - o nome da categoria no idioma obrigatório (name + rank + lang deve ser único)
    • rank = number - a ordem para variáveis ordinais, semi-quantitativas; para não ordinal, o rank também é importante, mas apenas para indicar a mesma categoria em todos os idiomas obrigatório
    • description = string - opcional para categorias, uma definição da categoria.
    • Exemplo para categoria:
      [
        {"lang":"en","rank":1,"name":"small","description":"smaller than 1 cm"},
        {"lang":"pt-br","rank":1,"name":"pequeno","description":"menor que 1 cm"}
        {"lang":"en","rank":1,"name":"big","description":"bigger than 10 cm"},
        {"lang":"pt-br","rank":1,"name":"grande","description":"maior que 10 cm"},
      ]
    

POST Vouchers

O endpoint vouchers interage com a tabela Vouchers. Note que vouchers podem também ser importados diretamente através da importação de registros de indivíduos. O POST vouchers requer que informações de indivíduos já esteja cadastradas.

Os seguintes campos são permitidos na importação de dados:

  • individual = mixed - o id numérico ou organismID do indivíduo ao qual o voucher pertence obrigatório;
  • biocollection = mixed - o id, nome ou acrônimo de uma BioColeção registrada a que o Voucher pertence obrigatório;
  • biocollection_type = mixed - o nome ou código numérico de [tipo de nomenclatural](/docs/api/quick-reference /#nomenclature-types), se for o caso. O padrão é 0, ou seja, não é um tipo nomenclatural.
  • biocollection_number = mixed - o código alfanumérico do voucher na BioColeção (número de tombo ou outro código de uso local);
  • number = string - o número do coletor principal - somente se diferente do valor tag do indivíduo ao qual o voucher pertence;
  • collector = mixed - ids ou abreviações de pessoas. Quando vários valores são informados, o primeiro é o coletor principal. Informe apenas se for diferente da lista de coletores do Indivíduo associado.
  • date = AAAA-MM-DD ou array - necessário apenas se, com coletor e número, for diferente dos valores do Indivíduo associado. A data pode ser um Modelo Incompleto.
  • dataset = number - herda o Conjunto de Dados ao qual o indivíduo pertence, mas você pode fornecer um Conjunto de Dados diferente se preferir
  • notes = string - qualquer anotação, um texto simples ou dados em JSON;

Campo Notes

O campo notes de qualquer modelo é para texto simples ou um texto formatado como objeto JSON contendo dados estruturados. A opção Json permite que você armazene dados estruturados personalizados em qualquer modelo que tenha o campo notes. Você pode, por exemplo, armazenar como notas alguns campos secundários de fontes originais ao importar dados, mas pode armazenar quaisquer dados adicionais que não sejam fornecidos pela estrutura do banco de dados do OpenDataBio. Esses dados não serão validados pelo OpenDataBio e a padronização de tags e valores depende de você. As notas Json serão importadas e exportadas como um texto JSON e serão apresentadas na interface como uma tabela formatada; URLs em seu Json serão apresentados como links nessa tabela.

4 - Atualizar dados - PUT

Como atualizar dados no OpenDataBio usando a API
Endpoint Description PUT Fields
individuals Atualizar Indivíduos (id or individual_id),collector, tag, dataset, date, notes , taxon , identifier , identification_date , modifier, identification_notes , identification_based_on_biocollection, identification_based_on_biocollection_id , identification_individual
individual-locations Atualizar Localidades de Indivíduos (id or individual_location_id), individual, (location or latitude + longitude), altitude, location_notes, location_date_time, x, y, distance, angle
locations Atualizar Localidades (id or location_id), name, adm_level, (geom or lat+long) , parent, altitude, datum, x, y , startx, starty, notes, ismarine
measurements Atualizar Medições (id or measurement_id), dataset, date, object_type, object_type, person, trait_id, value, link_id, bibreference, notes, duplicated,parent_measurement
persons Atualizar Pessoas (id or person_id),full_name, abbreviation, email, institution, biocollection
vouchers Atualizar Vouchers (id or voucher_id),individual, biocollection, biocollection_type, biocollection_number, number, collector, date, dataset, notes