Nome: | Web Service do módulo Receitas do SIOP |
Nome na interface: | WSReceita |
Início da operação: | 13/05/2014 |
Endereço do WSDL - Testes | https://testews.siop.gov.br/services/WSReceita?wsdl |
Endereço do WSDL - Produção | https://webservice.siop.gov.br/services/WSReceita?wsdl |
Fornecer uma interface que possibilite a interoperabilidade entre os sistemas governamentais e o SIOP para a transmissão de dados referentes à captação de base externa para os cenários de arrecadação de receitas.
Nesta seção estão relacionadas as operações disponibilizadas pelo serviço. A figura abaixo ilustra como essas operações devem ser utilizadas na obtenção das informações necessárias para a construção da estrutura de dados que deve ser enviada para o SIOP.
Operação para cadastro e de base externa.
Nome da operação na interface do serviço: captarBaseExterna
Parâmetro(s) de entrada:
Parâmetro | Tipo (tamanho) | Observações |
credencial | CredencialDTO | Credencial do usuário |
captacaoBaseExternaDTO | CaptacaoBaseExternaDTO |
Tipo de Retorno: RetornoCaptacaoBaseExternaDTO
Exemplo:
Requisição:
<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:ser=“http://servicoweb.siop.sof.planejamento.gov.br/”>
<soapenv:Header/> <soapenv:Body> <ser:captarBaseExterna> <credencial> <perfil>32</perfil> <senha>***</senha> <usuario>WSINFRASIG</usuario> </credencial> <captacaoBaseExterna> <codigoCaptacaoBaseExterna>466</codigoCaptacaoBaseExterna> <detalhesBaseExterna> <detalheBaseExterna> <codigoNaturezaReceita>21230000</codigoNaturezaReceita> <codigoUnidadeRecolhedora>26101</codigoUnidadeRecolhedora> <subNatureza>149</subNatureza> <justificativa>justificativa</justificativa> <metodologia>metodologia</metodologia> <memoriaDeCalculo>memoriaDeCalculo</memoriaDeCalculo> <valoresBaseExterna> <valorBaseExterna> <exercicio>2014</exercicio> <valor>444</valor> </valorBaseExterna> </valoresBaseExterna> </detalheBaseExterna> </detalhesBaseExterna> </captacaoBaseExterna> </ser:captarBaseExterna> </soapenv:Body> </soapenv:Envelope>
Resposta:
<env:Envelope xmlns:env=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:sof=“http://servicoweb.siop.sof.planejamento.gov.br/”>
<env:Header> <sof:request>A6A6342E22DF78A9F8B50364669F1F5D</sof:request> </env:Header> <env:Body> <ns2:captarBaseExternaResponse xmlns:ns2="http://servicoweb.siop.sof.planejamento.gov.br/"> <return> <sucesso>true</sucesso> <captacoesBaseExterna> <captacaoBaseExterna> <codigoCaptacaoBaseExterna>466</codigoCaptacaoBaseExterna> <detalhesBaseExterna> <detalheBaseExterna> <codigoNaturezaReceita>21230000</codigoNaturezaReceita> <codigoUnidadeRecolhedora>26101</codigoUnidadeRecolhedora> <subNatureza>149</subNatureza> <justificativa>justificativa</justificativa> <metodologia>metodologia</metodologia> <memoriaDeCalculo>memoriaDeCalculo</memoriaDeCalculo> <valoresBaseExterna> <valorBaseExterna> <exercicio>2014</exercicio> <valor>444.0</valor> <usuarioInclusao>João da Silva</usuarioInclusao> </valorBaseExterna> </valoresBaseExterna> <versao>0</versao> <usuarioInclusao>João da Silva</usuarioInclusao> </detalheBaseExterna> </detalhesBaseExterna> </captacaoBaseExterna> </captacoesBaseExterna> </return> </ns2:captarBaseExternaResponse> </env:Body> </env:Envelope>
Operação de exclusão de pedido de alteração orçamentária.
Nome da operação na interface do serviço: consultarDetalhesPorGrupo
Parâmetro(s) de entrada:
Parâmetro | Tipo(tamanho) | Observações |
credencial | CredencialDTO | Credencial do usuário |
codigoCaptacaoBaseExterna | Integer | |
grupoNaturezaReceita | String(5) |
Tipo de Retorno: RetornoCaptacaoDetalheBaseExternaDTO
Exemplo:
Requisição:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://servicoweb.siop.sof.planejamento.gov.br/"> <soapenv:Header/> <soapenv:Body> <ser:consultarDetalhesPorGrupo> <credencial> <perfil>32</perfil> <senha>***</senha> <usuario>WS-SISTEMA</usuario> </credencial> <codigoCaptacaoBaseExterna>466</codigoCaptacaoBaseExterna> <grupoNaturezaReceita>40000</grupoNaturezaReceita> </ser:consultarDetalhesPorGrupo> </soapenv:Body> </soapenv:Envelope>
Resposta:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sof="http://servicoweb.siop.sof.planejamento.gov.br/"> <env:Header> <sof:request>F610A7F31A51EAEE8648CEB1EDB02D70</sof:request> </env:Header> <env:Body> <ns2:consultarDetalhesPorGrupoResponse xmlns:ns2="http://servicoweb.siop.sof.planejamento.gov.br/"> <return> <sucesso>true</sucesso> <detalhesCaptacaoBaseExterna> <detalheCaptacaoBaseExterna> <codigoNaturezaReceita>22120102</codigoNaturezaReceita> <codigoUnidadeRecolhedora>74101</codigoUnidadeRecolhedora> <subNatureza>160</subNatureza> </detalheCaptacaoBaseExterna> <detalheCaptacaoBaseExterna> <codigoNaturezaReceita>16000201</codigoNaturezaReceita> <codigoUnidadeRecolhedora>74101</codigoUnidadeRecolhedora> <subNatureza>159</subNatureza> </detalheCaptacaoBaseExterna> <detalheCaptacaoBaseExterna> <codigoNaturezaReceita>16000201</codigoNaturezaReceita> <codigoUnidadeRecolhedora>74101</codigoUnidadeRecolhedora> <subNatureza>173</subNatureza> </detalheCaptacaoBaseExterna> <detalheCaptacaoBaseExterna> <codigoNaturezaReceita>16000201</codigoNaturezaReceita> <codigoUnidadeRecolhedora>74101</codigoUnidadeRecolhedora> <subNatureza>160</subNatureza> </detalheCaptacaoBaseExterna> <detalheCaptacaoBaseExterna> <codigoNaturezaReceita>19210600</codigoNaturezaReceita> <codigoUnidadeRecolhedora>74101</codigoUnidadeRecolhedora> <subNatureza>160</subNatureza> </detalheCaptacaoBaseExterna> <detalheCaptacaoBaseExterna> <codigoNaturezaReceita>16000201</codigoNaturezaReceita> <codigoUnidadeRecolhedora>25101</codigoUnidadeRecolhedora> <subNatureza>160</subNatureza> </detalheCaptacaoBaseExterna> <detalheCaptacaoBaseExterna> <codigoNaturezaReceita>19159901</codigoNaturezaReceita> <codigoUnidadeRecolhedora>74101</codigoUnidadeRecolhedora> <subNatureza>160</subNatureza> </detalheCaptacaoBaseExterna> </detalhesCaptacaoBaseExterna> </return> </ns2:consultarDetalhesPorGrupoResponse> </env:Body> </env:Envelope>
Nome da operação na interface do serviço: consultarDisponibilidadeCaptacaoBaseExterna
Parâmetro(s) de entrada:
Parâmetro | Tipo(tamanho) | Observações |
credencial | CredencialDTO | Credencial do usuário |
Tipo de Retorno: RetornoCaptacaoBaseExternaDTO
Exemplo:
Requisição:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://servicoweb.siop.sof.planejamento.gov.br/"> <soapenv:Header/> <soapenv:Body> <ser:consultarDisponibilidadeCaptacaoBaseExterna> <credencial> <perfil>32</perfil> <senha>***</senha> <usuario>WS-SISTEMA</usuario> </credencial> </ser:consultarDisponibilidadeCaptacaoBaseExterna> </soapenv:Body> </soapenv:Envelope>
Resposta:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sof="http://servicoweb.siop.sof.planejamento.gov.br/"> <env:Header> <sof:request>948F90F1FA0BDB402709427F0BE5886C</sof:request> </env:Header> <env:Body> <ns2:consultarDisponibilidadeCaptacaoBaseExternaResponse xmlns:ns2="http://servicoweb.siop.sof.planejamento.gov.br/"> <return> <sucesso>true</sucesso> <captacoesBaseExterna> <captacaoBaseExterna> <codigoCaptacaoBaseExterna>466</codigoCaptacaoBaseExterna> <descricao>Descricao da Captacao Disponivel</descricao> <disponibilidades> <disponibilidade> <grupoNaturezaReceita>90000</grupoNaturezaReceita> <exercicio>2014</exercicio> <abertoParaCaptacacao>true</abertoParaCaptacacao> <inicioDisponibilidade>2014-05-01T00:00:00-03:00</inicioDisponibilidade> <fimDisponibilidade>2014-12-31T00:00:00-02:00</fimDisponibilidade> </disponibilidade> <disponibilidade> <grupoNaturezaReceita>90000</grupoNaturezaReceita> <exercicio>2015</exercicio> <abertoParaCaptacacao>false</abertoParaCaptacacao> </disponibilidade> <disponibilidade> <grupoNaturezaReceita>90000</grupoNaturezaReceita> <exercicio>2016</exercicio> <abertoParaCaptacacao>false</abertoParaCaptacacao> </disponibilidade> <disponibilidade> <grupoNaturezaReceita>90000</grupoNaturezaReceita> <exercicio>2017</exercicio> <abertoParaCaptacacao>false</abertoParaCaptacacao> </disponibilidade> <disponibilidade> <grupoNaturezaReceita>20000</grupoNaturezaReceita> <exercicio>2014</exercicio> <abertoParaCaptacacao>true</abertoParaCaptacacao> <inicioDisponibilidade>2014-05-01T00:00:00-03:00</inicioDisponibilidade> <fimDisponibilidade>2014-12-31T00:00:00-02:00</fimDisponibilidade> </disponibilidade> <disponibilidade> <grupoNaturezaReceita>20000</grupoNaturezaReceita> <exercicio>2015</exercicio> <abertoParaCaptacacao>false</abertoParaCaptacacao> </disponibilidade> <disponibilidade> <grupoNaturezaReceita>20000</grupoNaturezaReceita> <exercicio>2016</exercicio> <abertoParaCaptacacao>false</abertoParaCaptacacao> </disponibilidade> <disponibilidade> <grupoNaturezaReceita>20000</grupoNaturezaReceita> <exercicio>2017</exercicio> <abertoParaCaptacacao>false</abertoParaCaptacacao> </disponibilidade> </disponibilidades> </captacaoBaseExterna> </captacoesBaseExterna> </return> </ns2:consultarDisponibilidadeCaptacaoBaseExternaResponse> </env:Body> </env:Envelope>
As informações que trafegam pelo serviço são organizadas em estruturas de dados que atuam como entrada (parâmetros) e retorno das operações. Enquanto os dados são manipulados pelos sistemas, seja nos clientes ou no servidor, essas informações ficam alocadas em entidades que, no contexto de web services, podem ser chamadas de Objetos de Transferência de Dados, ou DTOs (sigla de Data Transfer Objects). Um DTO é uma classe de objetos que descreve os atributos (e as operações de atribuição e consulta de seus valores) de determinado conceito envolvido no domínio de um problema. No momento da comunicação, seja na requisição ou na resposta, os DTOs são transformados em estruturas XML formatadas de acordo com a especificação contida no documento descritor do web service (WSDL).
As linguagens de programação modernas possuem ferramentas que automatizam o processo de construção dos DTOs a partir do WSDL, bem como bibliotecas com funcionalidades que tornam transparente para o desenvolvedor o processo de tradução de DTO para XML e vice-versa.
Entradas
Atributo | Tipo | Observações |
codigoCaptacaoBaseExterna | Integer | Código da captação base externa. Ver operação Consultar Disponibilidade de Captação de Base Externa. |
descricao | String | |
detalhesBaseExterna | List<CaptacaoDetalheBaseExternaDTO> | |
disponibilidades | List<DisponibilidadeCaptacaoBaseExternaDTO> | Não preencher. Usado apenas como retorno de algumas operações. |
Esta estrutura é composta pelas informações necessárias para que a aplicação cliente se identifique junto ao serviço. A credencial a ser utilizada nos web services do SIOP é específica para esse fim e não é válida para acessar a aplicação web.
Atributo | Tipo(tamanho) | Observações |
usuario | Texto | Login do usuário no SIOP |
senha | Texto | Hash MD5 da senha do usuário no SIOP |
perfil | Inteiro | Perfil com o qual o usuário deseja realizar determinada operação. |
Atributo | Tipo(tamanho) | Observações |
codigoNaturezaReceita | String(8) | |
codigoUnidadeRecolhedora | String(5) | |
subNatureza | String(3) | |
justificativa | String(min=1, max=2000) | |
metodologia | String(min=1, max=2000) | |
memoriaDeCalculo | String(min=1, max=2000) | |
valoresBaseExterna | List<CaptacaoValorBaseExternaDTO> | |
versao | Integer | Não preencher. Usado apenas como retorno de algumas operções. |
usuarioInclusao | String(min 3) | Não preencher. Usado apenas como retorno de algumas operções. |
usuarioAlteracao | String(5) | Não preencher. Usado apenas como retorno de algumas operções. |
Atributo | Tipo(tamanho) | Observações |
exercicio | Integer | |
valor | Numeric(16,2) | |
usuarioInclusao | String | Não preencher. Usado apenas como retorno de algumas operções. |
usuarioAlteracao | String | Não preencher. Usado apenas como retorno de algumas operções. |
Atributo | Tipo(tamanho) | Observações |
grupoNaturezaReceita | String(5) | |
exercicio | Integer | |
abertoParaCaptacacao | boolean | |
inicioDisponibilidade | Date | |
fimDisponibilidade | Date |
Retornos
Atributo | Tipo(tamanho) | Observações |
captacoesBaseExterna | List<CaptacaoBaseExternaDTO> | |
sucesso | boolean | Indica se a requisição foi processada com sucesso. |
mensagensErro | List<String> | Contém a lista de mensagens de erro nos casos em que sucesso retornar valor igual false. |
Atributo | Tipo(tamanho) | Observações |
detalhesCaptacaoBaseExterna | List<CaptacaoDetalheBaseExternaDTO> | |
sucesso | boolean | Indica se a requisição foi processada com sucesso. |
mensagensErro | List<String> | Contém a lista de mensagens de erro nos casos em que sucesso retornar valor igual false. |