Introdução à API

A API de Arquivos da Anoreg/TO disponibiliza uma interface de programação web, no paradigma arquitetônico REST.

Endereço para comunicação com a API

Este documento trata da versão da API 1.0.

O endereço para se comunicar através desta versão é:

Resposta em JSON

A fim de facilitar a interoperabilidade entre sistemas, todas as nossas chamadas de API respondem no formato JSON, sempre acompanhado do código de status HTTP apropriado.

Erros

Nossas APIs utilizam os próprios Códigos de Status HTTP para indicar sucesso ou falha da chamada. Em geral os códigos iniciados com 2 indicam sucesso, os iniciados com 4 indicam erro (Ex.: falta de parâmetro obrigatório) e iniciados com 5 indicam erro interno em nossos servidores.

Login

Autentica no serviço e recebe token para consumo das APIs.

POST https://passaporte.cartoriostocantins.com.br/v1/autenticar

curl --location --request POST 'https://passaporte.cartoriostocantins.com.br/v1/autenticar' \

--header 'Content-Type: application/json' \

--data-raw '{
  "client_id": "93d8487c-7e82-46a5-97d7-34ef74a6b630",
  "client_secret": "hadouken",
  "api": "NUVEM"
}'

{
  "api_host": "https://pagamentos.cartoriostocantins.com.br",
  "token_type": "Bearer",
  "expires_in": "60",
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1Nia9.eyJpc3MiOiJodHRwOlwvXC9jYXJ0b3Jhcmlvcy5zaXRlaC9hcGlcL3YxXC9hdXRoIiwiaWF0IjoxNTkzNDQ2ODk4LCJleHAiOjE1OTM1MzMyOTgsIm5iZiI6MTU5MzQ0Njg5OCwianRpIjoiYUF6OXU3bmNoVThNOUREVCIsInN1YiI6MSwicHJ2IjoiNTg3MDg2M2Q0YTYyZDc5MTQ0M2ZhZjkzNmZjMzY4MDMxZDExsGM0ZiJ9.Xwijot13RBD-ZnxIyhxfo5sBuyFfnTUfiva63ShxU8s",
}

{
  "error": "Sem autorização"
}

{
  "message": "Os dados fornecidos não são válidos",
  "errors": {
    "api": [
      "O campo api é obrigatório"
    ]
  }
}

Body Params

Param Type Description Required
client_id string ID do sistema (fornecido pelo administrador do sistema) true
client_secret string Secret do sistema (fornecido pelo administrador do sistema) true
api string API que deseja obter acesso, exemplo: NUVEM true

Enviar Certificado

Cadastra certificado digital.

POST https://assinatura.cartoriostocantins.com.br/v1/certificado

curl --location --request POST 'https://assinatura.cartoriostocantins.com.br/v1/certificado' \

--header 'Content-Type: multipart/form-data' \
--header 'Authorization: Bearer {token}' \

--form 'arquivo = exemplo.pfx' \
--form 'senha = 1234' \

{
  "id": "ac9d16d3-6161-4c46-858f-3bb3052a6d57"
}

{
  "erro": "Sem autorização"
}

Body Params

Param Type Description Required
arquivo file Certificado digital a ser cadastrado. Formato .pfx true
senha string Senha do certificado digital. true

Enviar Ato

Assina e envia o arquivo do ato para ser armazenado na nuvem.

Tipos de Especialidades
especialidade string IMOVEIS - Registro de Imóveis
NOTAS - Tabelionato de Notas
RTD - Registro de Títulos e Documentos
RCPJ - Registro Civil de Pessoas Jurídicas
PROTESTO - Tabelionato de Protesto de Títulos
RCPN - Registro Civil de Pessoas Naturais
POST https://nuvem.cartoriostocantins.com.br/v1/ato

curl --location --request POST 'https://nuvem.cartoriostocantins.com.br/v1/ato' \

--header 'Content-Type: multipart/form-data' \
--header 'Authorization: Bearer {token}' \

--form 'arquivo_ato = exemplo.pdf' \
--form 'especialidade = IMOVEIS' \
--form 'selo[codigo_selo] = 222222AAA123456' \
--form 'selo[codigo_validacao] = ABC' \
--form 'selo[iss] = 1.19' \
--form 'selo[funcivil] = 12.77' \
--form 'selo[tfj] = 9.84' \
--form 'selo[emolumentos] = 23.68' \
--form 'selo[fundo_eletronizacao] = 2.33' \
--form 'selo[total] = 49.81' \

{
  "id": "p0wr04b878-b596-4ca5-ba80-b2e18c81e7a4",
  "link_arquivo_assinado": "https://assinatura.cartoriostocantins.com.br/documento-assinado/p0wr04b878-b596-4ca5-ba80-b2e18c81e7a4",
  "link_versao_impressao": "https://assinatura.cartoriostocantins.com.br/versao-impressao/p0wr04b878-b596-4ca5-ba80-b2e18c81e7a4",
  "hash_nuvem": "imoveis/8YPrx1JbUwgwyPqjeIRbN97NLMqoj3VHlVe9Nyj3.pdf",
}

{
  "erro": "Sem autorização"
}

{
  "erro": "O arquivo deve estar em formato PDF!"
}

Body Params

Param Type Description Required
arquivo file Arquivo a ser assinado e enviado para a nuvem. Formato pdf true
especialidade string Especialidade do ato, conforme tabela 'Tipos de Especialidades' true
matricula int Número da matrícula, se especialidade = 'IMOVEIS' false
selo[codigo_selo] string Código do selo. Formato: 222222AAA123456 true
selo[codigo_validacao] string Código de validação do selo. Formato: ABC true
selo[iss] decimal Valor do ISS do selo true
selo[funcivil] decimal Valor do Funcivil do selo true
selo[tfj] decimal Valor da TFJ do selo true
selo[emolumentos] decimal Valor dos emolumentos do selo true
selo[fundo_eletronizacao] decimal Valor do FSE do selo true
selo[total] decimal Valor total do selo true

Enviar Anexo

Envia arquivo anexo de determinado ato. Não é realizada a assinatura do documento.

POST https://nuvem.cartoriostocantins.com.br/v1/anexo

curl --location --request POST 'https://nuvem.cartoriostocantins.com.br/v1/anexo' \

--header 'Content-Type: multipart/form-data' \
--header 'Authorization: Bearer {token}' \

--form 'arquivo = exemplo.pdf' \
--form 'id_ato = p0wr04b878-b596-4ca5-ba80-b2e18c81e7a4' \

{
  "id": "ak00cc2f-0ab0-4613-bc9f-85a6303b8cd4",
  "hash_nuvem": "imoveis/anexos/p0wr04b878-b596-4ca5-ba80-b2e18c81e7a4/1kSYnFvhs0SrcXPFRonUzmpO04E3Dhj7Xdc6bLjv.pdf",
}

{
  "erro": "Sem autorização"
}

{
  "erro": "Campo id_ato é obrigatório"
}

Body Params

Param Type Description Required
arquivo file Arquivo a ser enviado para a nuvem. Formato jpg, jpeg, png ou pdf true
id_ato string Id do ato enviado previamente true

Enviar Matrícula

Envia a matrícula de imóveis para ser armazenada na nuvem. Não é realizada a assinatura do documento.

POST https://nuvem.cartoriostocantins.com.br/v1/matricula

curl --location --request POST 'https://nuvem.cartoriostocantins.com.br/v1/matricula' \

--header 'Content-Type: multipart/form-data' \
--header 'Authorization: Bearer {token}' \

--form 'arquivo = exemplo.pdf' \
--form 'matricula = 50' \

{
  "imoveis/00000000/00000050.tiff"
}

{
  "erro": "Sem autorização"
}

{
  "erro": "O arquivo deve estar em formato PDF!"
}

Body Params

Param Type Description Required
arquivo file Arquivo a ser enviado para a nuvem. Formato pdf true
matricula int Número da matrícula true

Usar Selo


Solicita um ou mais selos de acordo com os atos enviados na requisição. Será retornado um selo para cada ato enviado.

Caso ocorra algum erro na solicitação de determinado selo, será retornado o erro para tal caso e para os demais serão retornados os selos. No exemplo abaixo são listados retornos de sucesso e erro.

Todos os campos presentes na documentação do GISE, deverão ser enviados na requisição.

OBSERVAÇÃO: As solicitações de lotes de selo são realizadas automaticamente.

POST https://selo.cartoriostocantins.com.br/v1/selo

curl --location --request POST 'https://selo.cartoriostocantins.com.br/v1/selo' \

--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \

--form '[0][codigo_ato] = 5101' \
--form '[0][data_ato] = 2022-10-11' \
--form '[0] = [demais dados referentes ao ato, conforme documentação do GISE]' \

--form '[1][codigo_ato] = 5101' \
--form '[1][data_ato] = 2022-10-11' \
--form '[1] = [demais dados referentes ao ato, conforme documentação do GISE]' \

--form '[2][codigo_ato] = 9999' \
--form '[2][data_ato] = 2022-10-11' \
--form '[2] = [demais dados referentes ao ato, conforme documentação do GISE]' \

{
  "selos": [
    {
      "codigo_selo": "222222AAA000017",
      "codigo_validacao": "VHR",
      "codigo_ato": "5101",
      "lote": {
          "id": "1",
          "tipo": "NOTAS"
      },
      "status": "CRIADO",
      "iss": "0.34",
      "funcivil": "0.87",
      "tfj": "2.33",
      "emolumentos": "8.49",
      "fundo_eletronizacao": "0",
      "total": "11.69",
      "especialidade": "NOTAS",
      "competencia": "2022-10-01"
    },
    {
      "codigo_selo": "222222AAA000018",
      "codigo_validacao": "CHJ",
      "codigo_ato": "5101",
      "lote": {
          "id": "1",
          "tipo": "NOTAS"
      },
      "status": "CRIADO",
      "iss": "0.34",
      "funcivil": "0.87",
      "tfj": "2.33",
      "emolumentos": "8.49",
      "fundo_eletronizacao": "0",
      "total": "11.69",
      "especialidade": "NOTAS",
      "competencia": "2022-10-01"
    }
  ],
  "erros": [
    {
      "codigo_ato": "",
      "erro": "Obrigatório codigo_ato e data_ato do ato"
    },
    {
      "codigo_ato": "5101",
      "erro": "O campo diferido possui dados inválidos"
    },
    {
      "codigo_ato": "5101",
      "erro": "O campo gratuito é obrigatório"
    }
  ]
}

{
  "erro": "Sem autorização"
}

{
  "erro": "Campo obrigatório"
  ...
}

Body Params

Param Type Description Required
array Atos a serem enviados na solicitação dos selos (pode ser enviado um ou mais atos) true

Visualizar Selo


Visualiza os dados do selo informado


get https://selo.cartoriostocantins.com.br/v1/selo/{codigo_selo}

curl --location --request GET 'https://selo.cartoriostocantins.com.br/v1/selo/{codigo_selo}' \

--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \


{
  "codigo_selo": "222222AAA000513",
  "codigo_validacao": "XYR",
  "especialidade": "TITULO_DOCUMENTOS",
  "data": "2022-11-28 11:19:19",
  "competencia": "2022-11-01",
  "status": "ENVIADO",
  "relatorio": null,
  "lote": {
      "tipo": "TITULO_DOCUMENTOS"
  },
  "atos": [
      {
          "codigo_ato": "5056",
          "funcivil": "0.00",
          "tfj": "0.00",
          "iss": "0.00",
          "emolumentos": "0.00",
          "fundo_eletronizacao": "0.00",
          "total": "0.00",
          "dados_ato": {
              "diferido": "true",
              "gratuito": "true",
              "data_ato": "2022-11-20",
              "data_protocolo": "2022-11-20",
              "numero_protocolo": "3125",
              "numero_registro": "1244",
              "livro": "1234",
              "folha": "12",
              "inteiro_teor": "descrição completa do ato.",
              "numero_averbacao": "65484847",
              "natureza_titulo": "1",
              "valor_economico": "100.36",
              "envolvido": "----",
              "nome": "João Maria",
              "cpf_cnpj": "12312312387"
          }
      }
  ]
}

{
  "erro": "Sem autorização"
}

{
  "erro": "Campo codigo_selo é obrigatório"
  ...
}

Path Params

Param Type Description Required
codigo_selo string Código do selo. Formato 222222AAA000513 true

Listar Selos


Lista os selos do cartório


Status do selo
status string CRIADO - Primeiro status, antes de ser enviado ao GISE
ENVIADO - Após ser enviado ao GISE, aguardando retorno
SUCESSO - Retorno de sucesso do GISE
ERRO - Houve algum erro no retorno do GISE
CORRECAO_GISE - Quando aguarda correção manual junto ao GISE
PARALISADO - Situação temporária para alterar dados antes do envio ao GISE
get https://selo.cartoriostocantins.com.br/v1/selos

curl --location --request GET 'https://selo.cartoriostocantins.com.br/v1/selos' \

--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \

--form 'competencia = 2022-10' \
--form 'status = SUCESSO' \
--form 'codigo_ato = 5094' \
--form 'especialidade = imoveis' \

{
  {  
    "codigo_selo": "222222AAA123456",
    "codigo_validacao": "ABC",
    "codigo_ato": "5101",
    "especialidade": "NOTAS",
    "data": "2022-10-01 13:37:18",
    "competencia": "2022-10-01",
    "status": "CRIADO",
    "relatorio": null
  },
  {  
    "codigo_selo": "222222AAA123457",
    "codigo_validacao": "DEF",
    "codigo_ato": "5101",
    "especialidade": "NOTAS",
    "data": "2022-10-01 11:23:15",
    "competencia": "2022-10-01",
    "status": "CRIADO",
    "relatorio": null
  }
}

{
  "erro": "Sem autorização"
}

{
  "erro": "Campo competencia obrigatório"
  ...
}

Body Params

Param Type Description Required
competencia string Mês de criação do selo. Formato AAAA-MM true
status string Situação atual do selo. Formato: conforme tabela 'Status do selo' false
codigo_ato string Código do ato, conforme documentação do GISE false
especialidade string Especialidade do selo. Formato: conforme tabela 'Tipos de Especialidades' false

Editar Selo


Permite a alteração dos dados do selo, apenas caso este esteja com os status:

'ERRO' - novo status será 'CRIADO';

'CORRECAO_GISE' - novo status será 'SUCESSO';

'PARALIZADO' - novo status será 'CRIADO';

PUT https://selo.cartoriostocantins.com.br/v1/selo/{codigo_selo}

curl --location --request PUT 'https://selo.cartoriostocantins.com.br/v1/selo/{codigo_selo}' \

--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \

--form 'codigo_ato = 5101' \
--form 'data_ato = 2022-10-11' \
--form 'demais dados referentes ao ato, conforme documentação do GISE' \

{
  "mensagem": "Dados salvos com sucesso."
}

{
  "erro": "Sem autorização"
}

{
  "erro": "Campo obrigatório"
  ...
}

Path Params

Param Type Description Required
codigo_selo string Código do selo. Formato: 222222AAA123456 true

Body Params

Param Type Description Required
string Dados do ato a serem alterados, conforme documentação do GISE true

Atualizar Status


Permite a alteração do status do selo para:

'PARALISADO' - se estiver com status 'CRIADO';

'CORRECAO_GISE' - se estiver com status 'SUCESSO';

PUT https://selo.cartoriostocantins.com.br/v1/selo/{codigo_selo}/status

curl --location --request PUT 'https://selo.cartoriostocantins.com.br/v1/selo/{codigo_selo}/status' \

--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \

--form 'status = PARALISADO' \

{
  "Selo atualizado com sucesso."
}

{
  "erro": "Sem autorização"
}

{
  "erro": "O selo já está com status 'PARALISADO'"
  ...
}

Path Params

Param Type Description Required
codigo_selo string Código do selo. Formato: 222222AAA123456 true

Body Params

Param Type Description Required
status string Nova situação do selo. Formato: conforme tabela 'Status do selo' true
justificativa string Justiticativa para alteração do status, se o status atual for 'SUCESSO' false

Liberar Selo


Permite a liberação do selo, ficando disponível para novo uso, caso esteja com status 'CRIADO'.

PUT https://selo.cartoriostocantins.com.br/v1/selo/{codigo_selo}/liberar

curl --location --request PUT 'https://selo.cartoriostocantins.com.br/v1/selo/{codigo_selo}/liberar' \

--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \

{
  "Selo liberado com sucesso."
}

{
  "erro": "Sem autorização"
}

{
  "erro": "Apenas selos com status 'CRIADO' pode ser liberado"
  ...
}

Path Params

Param Type Description Required
codigo_selo string Código do selo. Formato: 222222AAA123456 true

Atualizar Hash GISE


Atualiza Hash GISE.

PUT https://selo.cartoriostocantins.com.br/v1/hash

curl --location --request PUT 'https://selo.cartoriostocantins.com.br/v1/hash' \

--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \

--form 'hash = fdgtpolnjscdrotvlojdlmkdd98d0oiuegfebfejkfb#bcaçpmkswfjutjbv&mxaiohfebfcsdfdfd' \
--form 'validade = 2023-02-25' \


{
  "mensagem": "Hash do GISE atualizado com sucesso!"
}

{
  "erro": "Sem autorização"
}

{
  "erro": "Data de validade do Hash GISE enviada é menor ou igual a data de validade já cadastrada."
  ...
}

Body Params

Param Type Description Required
hash string Hash de acesso ao GISE. true
validade date Data de validade do acesso GISE. true