1. QTrust API - Docs
QTrust
  • QTrust API - Docs
    • Guia de Início — API QTrust
    • Primeiros Passos e Autenticação
    • Modos de Autenticação
    • Credenciais e Suporte
    • Compressão gzip
    • Sua Primeira Requisição
  • QTrust API - REST
    • Retorno Bancário
      • Importa um arquivo de retorno bancário
    • Consulta de Operações
      • Consulta a situação das operações de uma data
      • Consulta os recebíveis de uma operação pelo nome do arquivo
      • Consulta paginada dos recebíveis de uma operação
    • Callback de Certificadora
      • Recebe o retorno de certificação da QCertifica
    • Raiz
    • Esquemas
      • ExceptionResponseError
      • ExceptionResponse
      • FromtisError
      • ImportBankReturnRequest
      • OperacaoSituacao
      • OperacaoDetalheItem
  • QTrust API - SOAP
    • Importação CNAB
      • Importa um arquivo de remessa CNAB
      • WSDL da operação
    • Aprovação de Operação
      • Aprova a operação pela consultoria
      • WSDL da operação
      • Aprova a operação pela consultoria informando a conta corrente
      • WSDL da operação
      • Aprova a operação pela gestora
      • WSDL da operação
    • Relatórios
      • Agenda a geração do relatório de estoque
      • WSDL da operação
      • Agenda a geração do relatório de liquidados e baixados
      • WSDL da operação
      • Consulta o status do relatório de estoque agendado
      • WSDL da operação
      • Baixa o arquivo do relatório de estoque
      • WSDL da operação
    • Cedente
      • Consulta as contas correntes de um cedente no fundo
      • WSDL da operação
      • Cadastra cedentes aprovados no fundo
      • WSDL da operação
  1. QTrust API - Docs

Sua Primeira Requisição

Dois exemplos completos — um REST e um SOAP — para confirmar que a credencial funciona e entender o formato das respostas antes de escrever a integração de verdade.
Antes de começar você precisa do domínio do cliente, do usuário e da senha. Se ainda não tem, veja Credenciais e Suporte.

Parte 1 — Uma chamada REST#

GET /consulta/operacao é a chamada mais simples da API: só lê dados, não altera nada e aceita os dois modos de credencial. É o teste ideal.

Requisição#

O -i faz o cURL mostrar os headers de resposta — útil para ver o status HTTP.
Parâmetros aceitos:
ParâmetroObrigatórioDescrição
dataNãoData das operações, em DD/MM/AAAA ou DD-MM-AAAA. Ausente, assume hoje
codigoSituacaoNãoFiltra por situação, no código Fromtis
formatoNãojson (padrão) ou xml

Resposta esperada#

200 OK, com um array de operações:
[
  {
    "nomeArquivo": "REM0001.REM",
    "nomeArquivoEntrada": "REM0001.REM",
    "cnpjFundo": "12345678000190",
    "nomeCedente": "CEDENTE EXEMPLO LTDA",
    "documentoCedente": "98765432000110",
    "calculoTotalPagamento": 15000.00,
    "codigoSituacaoOperacao": 5
  }
]
Um array vazio ([]) também é sucesso: significa que não há operações na data consultada. Operações cuja situação no QTrust não tem correspondente no domínio Fromtis são omitidas da lista.

Se der errado#

RespostaO que fazer
401 com "error": "MissingCredentials"O header não chegou. Confira se o -u (ou o Authorization) está na chamada
401 com "error": "AuthenticationFailed"Usuário ou senha recusados. Teste a mesma credencial no portal web antes de repetir
401 com "error": "AuthorizationError"Credencial válida, mas o usuário não está vinculado a Consultoria nem a Gestora. É cadastro no portal
400 com "error": "ValidationError"Formato de data ou codigoSituacao inválido. A mensagem diz qual
Lembre que as rotas de consulta usam o envelope de erro { "error": ..., "message": ... }, diferente do resto da API — veja Primeiros Passos.

Parte 2 — Uma chamada SOAP#

O fluxo do relatório de estoque mostra bem o padrão SOAP da API: agendar, consultar até ficar pronto, baixar.

Passo 1 — Pegue o WSDL#

O contrato autoritativo da operação está sempre no mesmo caminho, via GET com ?wsdl:
É a partir dele que você gera o cliente (svcutil, wsimport, "Add Service Reference", zeep). O host vem já substituído pelo host da requisição.
⚠️ Sem a query string ?wsdl, o GET responde 404. Isso não significa que o endpoint não existe — ele só aceita POST.

Passo 2 — Agende o relatório#

Salve o envelope em agendar.xml:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:tns="http://soap.consulta.servicos.portal.fidc.fromtis.com.br/">
  <soap:Body>
    <tns:agendadorRelatorioEstoque>
      <requisicaoRelatorioEstoque>
        <cnpjFundo>12345678000190</cnpjFundo>
        <dataReferencia>2026-09-10</dataReferencia>
      </requisicaoRelatorioEstoque>
    </tns:agendadorRelatorioEstoque>
  </soap:Body>
</soap:Envelope>
dataReferencia aceita AAAA-MM-DD, AAAA/MM/DD, DD/MM/AAAA ou DD-MM-AAAA. Data futura é recusada. O elemento opcional cpfCnpjCedente restringe o relatório a um cedente.
E envie:
Resposta:
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <ns2:agendadorRelatorioEstoqueResponse xmlns:ns2="http://soap.consulta.servicos.portal.fidc.fromtis.com.br/">
      <retornoRelatorioEstoque>
        <idAgendamento>4455</idAgendamento>
        <messangemRetorno>
          <tipoRetorno>SUCESSO</tipoRetorno>
          <descricaoRetorno>Agendamento do Relatório de Estoque Realizado com Sucesso.</descricaoRetorno>
        </messangemRetorno>
      </retornoRelatorioEstoque>
    </ns2:agendadorRelatorioEstoqueResponse>
  </S:Body>
</S:Envelope>
⚠️ Leia tipoRetorno, não o status HTTP. Fundo não encontrado, data futura, ausência de estoque na data — tudo isso responde 200 com tipoRetorno igual a ERRO e sem idAgendamento. Só SUCESSO confirma o agendamento.

Passo 3 — Consulte até ficar pronto#

Envelope consultar.xml:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:tns="http://soap.consulta.servicos.portal.fidc.fromtis.com.br/">
  <soap:Body>
    <tns:consultarRelatorio>
      <requisicaoConsultaRelatorio>
        <idAgendamento>4455</idAgendamento>
      </requisicaoConsultaRelatorio>
    </tns:consultarRelatorio>
  </soap:Body>
</soap:Envelope>
Faça polling até idMensagem chegar a 5:
idMensagemSignificado
1Em processamento
5Finalizado com sucesso, disponível para download
9Erro ao processar o relatório
90Agendamento não encontrado
91idAgendamento ausente ou não numérico
Essa operação também responde sempre 200, inclusive quando o agendamento não existe.

Passo 4 — Baixe#

Com idMensagem igual a 5, chame POST /soap/agendador/realizarDownload com o mesmo idAgendamento. O contrato está no WSDL da operação.

Se der errado#

Falhas de credencial e de envelope vêm como SOAP Fault, com status 401 ou 400:
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <S:Fault>
      <faultcode>AuthenticationFailed</faultcode>
      <faultstring>Usuário ou senha inválidos.</faultstring>
    </S:Fault>
  </S:Body>
</S:Envelope>
faultcodeStatusCausa
MissingCredentials401Nenhuma credencial informada
AuthenticationFailed401Credencial recusada
AuthorizationError401Usuário sem permissão para a operação ou para o fundo
InvalidRequest400XML malformado, ou elemento obrigatório ausente no envelope
ValidationError400Dados do envelope inválidos
InternalError400Exceção não tratada

Dúvidas: suporte@qtrust.com.br.
Modificado em 2026-09-23 15:34:56
Página anterior
Compressão gzip
Próxima página
Importa um arquivo de retorno bancário
Built with