Com o serviço web SOAP (Simple Object Access Protocol) é possível realizar o cadastro, listagem e edição de emitentes sem a necessidade de estar no sistema. Este recurso é utilizado para fazer integração e/ou automatização de processos de qualquer sistema com o Procedo.

Nome: emitenteservice

Tecnologia: Webservice SOAP

URL WSDL: https://app.procedo.com.br/api/emitenteservice?wsdl

Objetivo: Webservice que realiza operações vinculadas ao Emitente. O Emitente é o conceito adotado no Procedo para clientes e prospects, ou seja, qualquer entidade jurídica ou pessoa física que possa emitir documentos, pedidos, notas fiscais, etc. Por questões operacionais, o EmitenteService lida apenas com clientes, deixando outros possíveis emitentes separados (por exemplo, prospects no método PotencialService)

Observação: solicite seu token de segurança para utilizar os métodos do webservice [email protected].

Métodos

Método: listaCliente

Descrição: método responsável por retornar uma lista de clientes do Procedo.

Parâmetro  Obrigatório Formato Descrição
token sim String Identificado único da empresa para uso do método.
situação sim Int 1=Retorna todos os registros pendentes de integração

2=Retorna registros pendentes de integração e ativos

cod_cliente não Int Use esse campo caso queira encontrar um cliente específico

Retorno

A tabela abaixo indica os possíveis retornos de erros ou confirmação para o método listaCliente. Esse retorno só está visível no nível 5 do XML.

Código Retorno
0 Token inválido, neste caso é necessário entrar em contato novamente para obter o código de acesso
1 Ok
2 Situação inválida, somente 1 ou 2
9 Nenhum registro encontrado
35 Empresa sem acesso a funcionalidade solicitada

Exemplo

Exemplo de requisição para obter um cliente específico com as informações sendo enviadas através do SoapUI:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:SOAPServerWSDL">
    <x:Header/>
    <x:Body>
        <urn:listaCliente>
            <urn:token>1fttwef1de774efa005f8da13f5642943881c655fQe5wqA</urn:token>
            <urn:situacao>1</urn:situacao>
            <urn:cod_cliente>1118</urn:cod_cliente>
        </urn:listaCliente>
    </x:Body>
</x:Envelope>

Agora o exemplo de retorno com sucesso:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://localhost.procedo.com.br/api/emitenteservice?wsdl">
    <SOAP-ENV:Body>
        <ns1:listaClienteResponse xmlns:ns1="urn:SOAPServerWSDL">
            <mensagem xsi:type="xsd:int">1</mensagem>
            <return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:Emitente[1]">
                <item xsi:type="tns:Emitente">
                    <codigo xsi:type="xsd:string">1118</codigo>
                    <tipo_pessoa xsi:type="xsd:string">J</tipo_pessoa>
                    <nome_fantasia xsi:type="xsd:string">Teste</nome_fantasia>
                    <codigo_endereco xsi:type="xsd:string">37263</codigo_endereco>
                    <cidade xsi:type="xsd:string">Limeira</cidade>
                    <estado xsi:type="xsd:string">SP</estado>
                    <logradouro xsi:type="xsd:string"></logradouro>
                    <numero xsi:type="xsd:string">s/n</numero>
                    <complemento xsi:type="xsd:string"></complemento>
                    <cep xsi:type="xsd:string"></cep>
                    <bairro xsi:type="xsd:string"></bairro>
                    <referencia xsi:type="xsd:string"></referencia>
                    <codigo_endereco_cobranca xsi:type="xsd:string">37263</codigo_endereco_cobranca>
                    <cidade_cobranca xsi:type="xsd:string">Limeira</cidade_cobranca>
                    <estado_cobranca xsi:type="xsd:string">SP</estado_cobranca>
                    <logradouro_cobranca xsi:type="xsd:string"></logradouro_cobranca>
                    <numero_cobranca xsi:type="xsd:string">s/n</numero_cobranca>
                    <complemento_cobranca xsi:type="xsd:string"></complemento_cobranca>
                    <cep_cobranca xsi:type="xsd:string"></cep_cobranca>
                    <bairro_cobranca xsi:type="xsd:string"></bairro_cobranca>
                    <referencia_cobranca xsi:type="xsd:string"></referencia_cobranca>
                    <razao_social xsi:type="xsd:string">Teste</razao_social>
                    <email_financeiro xsi:type="xsd:string">.qa</email_financeiro>
                    <website xsi:type="xsd:string"></website>
                    <cnpj xsi:type="xsd:string"></cnpj>
                    <ie xsi:type="xsd:string">isento</ie>
                    <dtcadastro xsi:type="xsd:string">2016-01-27 11:25:33</dtcadastro>
                    <obs xsi:type="xsd:string"></obs>
                    <usuario xsi:type="xsd:string">8</usuario>
                    <email_nfe xsi:type="xsd:string">.qa</email_nfe>
                    <codigo_erp xsi:type="xsd:string">1118</codigo_erp>
                    <atividade_economica xsi:type="xsd:string"></atividade_economica>
                    <bloqueado xsi:type="xsd:string">0</bloqueado>
                    <nome_abreviado xsi:type="xsd:string"></nome_abreviado>
                    <cod_ibge xsi:type="xsd:string">3526902</cod_ibge>
                </item>
            </return>
        </ns1:listaClienteResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Cada nó “item” do tipo “Emitente” é um cliente retornado. Cada linha nesse nó faz parte dos dados do cliente.

É necessário atentar que o campo “tipo_pessoa” retornará J para Jurídica e F para Física. Caso o cliente seja uma pessoa física, então o campo CNPJ retornará o CPF e o campo inscricao_estadual conterá o RG.

Outra observação importante é que há um limite de retorno de 50 clientes.

Método: gravaCodCliente

Descrição: método responsável por atualizar um cliente no Procedo após integrá-lo com um sistema ERP. Esse método fará com que o registro do cliente no Procedo não seja integrado novamente pelo método listacliente.

Parâmetro  Obrigatório Formato Descrição
token sim String Identificado único da empresa para uso do método
codigo_cliente sim Int Código do cliente no Procedo
codigo_erp sim Int Código do cliente no sistema onde o mesmo foi integrado
nome_abreviado não String Nome abreviado do cliente gerado no sistema erp (legado)
mensagem não String Informa ao sistema Procedo que não foi possível gravar no sistema externo o cliente correspondente
cnpj não String Para pessoa Física, informe o CPF e, para Jurídica, o CNPJ. Esse campo é utilizado como uma segunda chave para validar o cliente

O campo “mensagem” só deverá ser preenchido caso ocorra algum erro.

Ao inserir o “codigo_erp” diferente do “codigo_cliente” e mais o “cnpj”, o Procedo irá atualizar o “codigo_cliente” para o código que estiver vindo pelo parâmetro “codigo_erp”. 

Retorno

Código Retorno
0 Token inválido, neste caso é necessário entrar em contato novamente para obter o código de acesso
1 Ok, o registro foi inserido ou atualizado
9 Cliente não encontrado no Procedo
35 Empresa sem acesso a funcionalidade solicitada
99 Erro ao atualizar o cliente

Exemplo

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:SOAPServerWSDL">
    <x:Header/>
    <x:Body>
        <urn:gravaCodCliente>
            <urn:token>1fttwef1de774efa005f8da13f5642943881c655fQe5wqA</urn:token>
            <urn:codigo_procedo>900</urn:codigo_procedo>
            <urn:codigo_erp>100</urn:codigo_erp>
            <urn:nome_abreviado>Exemplo API</urn:nome_abreviado>
            <urn:mensagem></urn:mensagem>
            <urn:cnpj>66.333.716/4531-28</urn:cnpj>
        </urn:gravaCodCliente>
    </x:Body>
</x:Envelope>

Retorno com sucesso:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
        <ns1:gravaCodClienteResponse xmlns:ns1="urn:SOAPServerWSDL">
            <return xsi:type="xsd:string">1</return>
            <mensagem xsi:type="xsd:string">1</mensagem>
        </ns1:gravaCodClienteResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Método: gravaCliente

Descrição: Método responsável por inserir um cliente.

Parâmetro  Obrigatório Formato Descrição
token sim String Identificado único da empresa para uso do método
codigo não Int Informe o código que será atribuído a este cliente. Caso o código informado já esteja cadastrado no Procedo, será feito uma atualização dos dados e não um novo registro, por isso é recomendado que deixe esse campo em branco
tipo_pessoa não String Para pessoa Física informe “F”, ou “J” para Jurídica. Se esse campo ficar em branco será registrado o cliente como pessoa física
nome_fantasia parcialmente String Se for pessoa Jurídica então esse campo é obrigatório
codigo_endereco não Int Deixar esse campo em branco
cidade não String Cidade do endereço principal
estado não String Estado do endereço principal. Deve ser escrito no formato de sigla, exemplo: SP, RJ, BA
logradouro não String Logradouro do endereço principal
numero não String Número do endereço principal
complemento não String Complemento do endereço principal
cep não String CEP do endereço principal
bairro não String Bairro do endereço principal
referencia não String Referência do endereço principal
codigo_endereco_cobranca não Int Deixar esse campo em branco
cidade_cobranca não String Cidade do endereço de cobrança
estado_cobranca não String Estado do endereço de cobrança. Deve ser escrito no formato de sigla, exemplo: SP, RJ, BA
logradouro_cobranca não String Logradouro do endereço de cobrança
numero_cobranca não String Número do endereço de cobrança
complemento_cobranca não String Complemento do endereço de cobrança
cep_cobranca não String CEP do endereço de cobrança
bairro_cobranca não String Bairro do endereço de cobrança
referencia_cobranca não String Referência do endereço de cobrança
ramoatividade não String Nome do Ramo de Atividade cadastrado no sistema
razao_social parcialmente String Se for pessoa Física então esse campo é obrigatório
email não String E-mail referente ao cliente
email_financeiro não String E-mail de contato financeiro
website não String Site do cliente
cnpj não String Para pessoa Física informe o CPF, e para Jurídica o CNPJ
ie não String Inscrição estadual. Para pessoa Física, informe o RG e, para Jurídica, o I.E. Caso este campo fique em branco, será cadastrado como isento (testar somente números)
dtcadastro não String Deixar esse campo em branco
insc_municipal não String Inscrição Municipal
telefone1 não String Telefone 1
ramal1 não String Ramal referente ao telefone 1
telefone2 não String Telefone 2 adicional
ramal2 não String Ramal referente ao telefone 2
obs não String Observação referente ao cliente
origem não String Nome da origem cadastrada no Procedo
usuario sim  Int E-mail do usuário responsável pelo Cliente
email_nfe não String E-mail da nota fiscal eletrônica
codigo_erp não String Deixar esse campo em branco
dt_abertura não String Data de abertura da empresa
atividade_economica não String Descrição da Atividade econômica
regiao não String Nome da Região cadastrado no sistema
nome_contato não String Nome do contato na empresa. Para cadastrar o contato, o nome é obrigatório, ou seja, os dados sobre o contato serão ignorados caso esse campo não esteja preenchido
email_contato não String E-mail do contato
telefone1_contato não String Telefone 1 do contato
telefone2_contato não String Telefone 2 do contato
celular_contato não String Celular do contato
skype_contato não String Skype do contato
bloqueado não String O cliente pode ser cadastrado como bloqueado informando a letra “B” neste campo
obs_bloqueio não String Informe uma observação em relação ao bloqueio do cliente
nome_abreviado não String Nome abreviado do cliente gerado no sistema erp (legado)
grupo_cliente não String Nome do Grupo de Cliente cadastrado no sistema
cod_ibge não String Deixar esse campo em branco

Para informar um endereço de cobrança, deve ser, no mínimo, preenchido “cidade_cobranca” e “estado_cobranca”, caso não estes campos não estejam preenchido, o sistema considerará o endereço principal como endereço de cobrança.

Nos campos “ramoatividade”, “origem”, “regiao” e “grupo_cliente”, deverá ser preenchido com o nome e, caso não seja localizado, o cadastro será realizado. Vale ressaltar que o sistema não faz diferença entre acentos e caracteres maiúsculo e minúsculo, ou seja, “MÍDIA” é igual a “midia”.

O cliente poderá ser cadastrado com a situação “Ativo” se: o Grupo informado conter a opção “Aprova cliente automaticamente” ou se as informações de: CNPJ/CPF, Região, Grupo de Cliente, Logradouro, Número, Bairro, e CEP estiverem preenchidas (considerando que não há fluxo de aprovação).

Retorno

Código Retorno
0 Token inválido, neste caso é necessário entrar em contato novamente para obter o código de acesso
1 Ok, o registro foi inserido
2 E-mail do usuário não encontrado no Procedo
3 Campo obrigatório em branco. Campos obrigatórios: nome_fantasia, razao_social
9 CNPJ duplicado ou ocorreu um problema durante a gravação. Verifique se as informações, ou se os campos obrigatórios estão preenchidos
35 Empresa sem acesso a funcionalidade solicitada

Exemplo

Exemplo de requisição para obter as cotações com as informações sendo enviadas através do SoapU:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:SOAPServerWSDL" xmlns:emi="http://localhost.procedo.com.br/api/emitenteservice?wsdl">
    <x:Header/>
    <x:Body>
        <urn:gravaCliente>
            <urn:token>453e774005fmm8daa4r13f42yh545943881c655fiQAp</urn:token>
            <urn:emitente>
                <emi:codigo></emi:codigo>
                <emi:tipo_pessoa>f</emi:tipo_pessoa>
                <emi:nome_fantasia>Testando Api Emitente</emi:nome_fantasia>
                <emi:codigo_endereco></emi:codigo_endereco>
                <emi:cidade>Bauru</emi:cidade>
                <emi:estado>SP</emi:estado>
                <emi:logradouro></emi:logradouro>
                <emi:numero></emi:numero>
                <emi:complemento></emi:complemento>
                <emi:cep></emi:cep>
                <emi:bairro></emi:bairro>
                <emi:referencia></emi:referencia>
                <emi:codigo_endereco_cobranca></emi:codigo_endereco_cobranca>
                <emi:cidade_cobranca>Bauru</emi:cidade_cobranca>
                <emi:estado_cobranca>SP</emi:estado_cobranca>
                <emi:logradouro_cobranca></emi:logradouro_cobranca>
                <emi:numero_cobranca></emi:numero_cobranca>
                <emi:complemento_cobranca></emi:complemento_cobranca>
                <emi:cep_cobranca></emi:cep_cobranca>
                <emi:bairro_cobranca></emi:bairro_cobranca>
                <emi:referencia_cobranca></emi:referencia_cobranca>
                <emi:ramoatividade></emi:ramoatividade>
                <emi:razao_social>Testando API</emi:razao_social>
                <emi:email></emi:email>
                <emi:email_financeiro></emi:email_financeiro>
                <emi:website></emi:website>
                <emi:cnpj></emi:cnpj>
                <emi:ie></emi:ie>
                <emi:dtcadastro></emi:dtcadastro>
                <emi:insc_municipal></emi:insc_municipal>
                <emi:telefone1></emi:telefone1>
                <emi:ramal1></emi:ramal1>
                <emi:telefone2></emi:telefone2>
                <emi:ramal2></emi:ramal2>
                <emi:obs></emi:obs>
                <emi:origem>Site</emi:origem>
                <emi:usuario>[email protected]</emi:usuario>
                <emi:email_nfe></emi:email_nfe>
                <emi:codigo_erp></emi:codigo_erp>
                <emi:dt_abertura></emi:dt_abertura>
                <emi:atividade_economica></emi:atividade_economica>
                <emi:regiao></emi:regiao>
                <emi:nome_contato></emi:nome_contato>
                <emi:email_contato></emi:email_contato>
                <emi:telefone1_contato></emi:telefone1_contato>
                <emi:telefone2_contato></emi:telefone2_contato>
                <emi:celular_contato></emi:celular_contato>
                <emi:skype_contato></emi:skype_contato>
                <emi:bloqueado></emi:bloqueado>
                <emi:obs_bloqueio></emi:obs_bloqueio>
                <emi:nome_abreviado></emi:nome_abreviado>
                <emi:grupo_cliente></emi:grupo_cliente>
                <emi:cod_ibge></emi:cod_ibge>
            </urn:emitente>
        </urn:gravaCliente>
    </x:Body>
</x:Envelope>

Retorno com sucesso:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope SOAP-npj ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
        <ns1:gravaClienteResponse xmlns:ns1="urn:SOAPServerWSDL">
            <mensagem xsi:type="xsd:int">1</mensagem>
            <return xsi:type="xsd:string">ok</return>
        </ns1:gravaClienteResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *