O objeto, seus apelidos e o MAPA do que dá para perguntar em seguida
`keys` traz todos os identificadores que apontam para o mesmo objeto — é o que responde 'PETR3 e PETR4 são a mesma empresa?'. `links` é o mapa: quais relações existem para ESTE objeto, em que direção e quantas. Relação que não existe não aparece, em vez de devolver página vazia numa travessia — página vazia, para quem consulta, é a afirmação de que não há relação. **ID QUE SAIU DE CIRCULAÇÃO NÃO É 404.** Objeto se funde e se cinde — raramente, mas acontece. Com sucessor ÚNICO (fusão) esta rota resolve sozinha e devolve o objeto atual com `redirected_from` preenchido: atualize o id que você guardou. Com mais de um sucessor (cisão) responde **409** listando todos, porque escolher um por você acertaria parte das vezes e erraria o resto em silêncio. Vale igual em `listObjectLinks`, `getObjectFacts`, `getObjectHistory`, `getObjectEvents`, `getObjectEvidence` e `findObjectPaths`. **A lista do 409 pode conter o próprio id que você pediu**: numa cisão, um dos ramos herda o identificador por continuidade técnica. Para ler ESSE ramo use `resolve=exact`, que lê o id literalmente — sem ele, consultar esse sucessor voltaria ao mesmo 409 e o ramo seria inalcançável por qualquer rota. Os demais respondem pelo id deles.
In: header
Path Parameters
Query Parameters
Como interpretar o id recebido.
auto(default) — como REFERÊNCIA publicada: id fundido resolve sozinho para o sucessor (comredirected_frompreenchido) e id cindido responde 409 com a lista.exact— como o id do objeto que existe HOJE: nenhum histórico é consultado, e o id ou responde ou é 404.
Quando você precisa de exact: numa cisão, um dos sucessores é o PRÓPRIO id pedido — o ramo que ficou com a chave de nascimento herda o identificador. O 409 manda consultar cada sucessor, e consultar esse cairia no mesmo 409. exact é o endereço dele. Serve também para desligar o redirect automático de fusão quando você quer saber se o id que guardou ainda é o id de alguma coisa.
"auto""auto" | "exact"Response Body
curl -X GET "https://api.databolsa.com/v1/objects/string?resolve=auto"{
"id": "string",
"redirected_from": "string",
"kind": "string",
"subkind": "string",
"name": "string",
"anchor_type": "string",
"anchor_value": "string",
"cnpj": "string",
"cd_cvm": "string",
"isin": "string",
"tickers": [
"string"
],
"share_classes": [
{
"ticker": "string",
"share_class": "ON"
}
],
"has_ambiguous_key": true,
"keys": [
{
"key_type": "string",
"key_value": "string",
"confidence": "high",
"is_anchor": true
}
],
"links": [
{
"rel": "string",
"direction": "out",
"shape": "event",
"relationship_count": 0,
"assertion_count": 0,
"relationship_count_ever": 0,
"count": 0,
"count_ever": 0,
"as_of": "string"
}
],
"aspects": [
{
"name": "string",
"description": "string",
"grain": "object",
"operation": "string",
"parameter": "string",
"value": "string"
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}COMO dois objetos se ligam — descobre a cadeia, não a percorre
Para a pergunta de quem viu dois objetos no mesmo lugar e não sabe por quê: 'como esta empresa se liga a este fundo'. Diferente de `traverseObjectPath`, que percorre uma cadeia que VOCÊ especifica — aqui a cadeia é o que se descobre. Agrupado por cadeia, com `paths` dizendo quantos caminhos a sustentam e `examples` trazendo intermediários concretos: a Petrobras chega ao IPCA por 10 debêntures, e dez linhas iguais seriam despejo em vez de resposta. Cadeias mais curtas vêm primeiro. `max_hops` é 2 por default. O terceiro salto é CARO (segundos) e o quarto não existe de propósito: com grau médio alto ele liga quase tudo a quase tudo, e caminho que sempre existe não é evidência de nada. A direção da aresta é ignorada na busca e anotada em cada salto (`:out` = o objeto anterior pratica o verbo). `path_count` conta CAMINHOS DISTINTOS — sequências de objetos —, não linhas de aresta: a mesma ligação afirmada por duas fontes é um caminho, e contá-la duas vezes transformava redundância de fonte em argumento de robustez. Nenhum intermediário repete, nem volta para a origem ou o destino.
Quantos objetos existem no grafo, por tipo e por identificador
O censo: objetos que EXISTEM, por `kind`, e as chaves que apontam para eles. **Não confundir com `getObjectLinkStats`**, que conta objetos com determinada RELAÇÃO — são perguntas diferentes e responder uma com a outra erra por ordem de grandeza. Traz também quantos objetos têm chave ambígua e quantas chaves chegaram por cadeia de apelido, que é a medida de quanto o grafo depende de resolução.