Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Erro na validação. #20

Open
rodriguesabner opened this issue Feb 16, 2019 · 5 comments
Open

Erro na validação. #20

rodriguesabner opened this issue Feb 16, 2019 · 5 comments

Comments

@rodriguesabner
Copy link

rodriguesabner commented Feb 16, 2019

Opa, tudo bem? Eu estava tentando implementar a API, fazendo os testes de criação de Cliente e Pedido, na primeira tentativa eu consegui, mas depois acabou não funcionando. Eu apenas mudei os nomes e dados dos "clientes", mas acabou que deu erro.

[ Erro: Process: intelizze.com.parkedclient, PID: 1884
br.com.moip.exception.ValidationException
at br.com.moip.api.request.RequestMaker.responseBodyTreatment(RequestMaker.java:244)
at br.com.moip.api.request.RequestMaker.doRequest(RequestMaker.java:118)
at br.com.moip.models.Customers.create(Customers.java:37)
at intelizze.com.parkedclient.ParkedActivity.createClient(ParkedActivity.java:154)
at intelizze.com.parkedclient.ParkedActivity$1.onClick(ParkedActivity.java:103)....]

Método:

   public void createClient(){
    String token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; //Aqui está o meu token correto
    String key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; //E a key correta também
    Authentication authBasic = new BasicAuth(token, key);

    String oauth = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_v2"; // oAuth está correto tbm
    Authentication auth = new OAuth(oauth);
    Setup setup = new Setup().setAuthentication(authBasic).setEnvironment(Setup.Environment.SANDBOX); //Usei a autenticação básica mesmo

    Map<String, Object> taxDocument = payloadFactory(
            value("type", "CPF"),
            value("number", "12345678900")
    );

    Map<String, Object> phone = payloadFactory(
            value("countryCode", "55"),
            value("areaCode", "11"),
            value("number", "982743910")
    );

    Map<String, Object> shippingAddress = payloadFactory(
            value("city", "Sao Paulo"),
            value("district", "Caieiras"),
            value("street", "Rua de Algum Lugar"),
            value("streetNumber", "31"),
            value("state", "SP"),
            value("country", "BRA"),
            value("zipCode", "07700-000")
    );

    Map<String, Object> customerRequestBody = payloadFactory(
            value("ownId", "customer_own_id"),
            value("fullname", "João Rodrigues"),
            value("email", "email@gmail.com"),
            value("birthDate", "1999-10-07"),
            value("taxDocument", taxDocument),
            value("phone", phone),
            value("shippingAddress", shippingAddress)
    );

    Map<String, Object> responseCreation = Moip.API.customers().create(customerRequestBody, setup);
    System.out.println(responseCreation);
}

Obrigado desde já :)

@rodriguesabner
Copy link
Author

rodriguesabner commented Sep 16, 2019

Eu tinha desistido de usar essa API, mas me surgiu um novo projeto e eu resolvi dar outra chance. A princípio tive o mesmo erro, após printar o resultado, eu descobri que o problema estava no JSON e que o retorno era inválido. Está cheia de erros (sem aspas, com vírgulas má colocadas), fiz uns métodos utilizando o OkHttp e funcionou. Vou terminar de criar os métodos e se possível posto aqui

Esse é o resultado que retornava:

{fullname=Customer Full Name, email=customerasf@mail.com, taxDocument={number=44455522233, type=CPF}, phone={number=22226842, areaCode=11, countryCode=55}, shippingAddress={country=BRA, zipCode=01451001, city=Sao Paulo, streetNumber=3064, street=Av. Brigadeiro Faria Lima, district=Itaim BiBi, state=SP}, birthDate=1980-5-10, ownId=customer_own_id}

@rodriguesabner rodriguesabner changed the title Erro na validação. [SOLVED] Erro na validação. Sep 16, 2019
@Renascienza
Copy link

Renascienza commented Apr 27, 2021

Eu tinha desistido de usar essa API, mas me surgiu um novo projeto e eu resolvi dar outra chance. A princípio tive o mesmo erro, após printar o resultado, eu descobri que o problema estava no JSON e que o retorno era inválido. Está cheia de erros (sem aspas, com vírgulas má colocadas), fiz uns métodos utilizando o OkHttp e funcionou. Vou terminar de criar os métodos e se possível posto aqui

Esse é o resultado que retornava:

{fullname=Customer Full Name, email=customerasf@mail.com, taxDocument={number=44455522233, type=CPF}, phone={number=22226842, areaCode=11, countryCode=55}, shippingAddress={country=BRA, zipCode=01451001, city=Sao Paulo, streetNumber=3064, street=Av. Brigadeiro Faria Lima, district=Itaim BiBi, state=SP}, birthDate=1980-5-10, ownId=customer_own_id}

Um sério problema nessa API parece ser a falta de suporte, já que em 7 meses ninguém te respondeu, Sendo uma API suportada por uma empresa, isso é um sério risco.

Você não deve marcar como SOLVED, já que não existe solução dada para o issue.

@rodriguesabner rodriguesabner changed the title [SOLVED] Erro na validação. Erro na validação. Apr 27, 2021
@rodriguesabner
Copy link
Author

Pois é @Renascienza, eu acabei marcando, não consegui de fato utilizar a API e esqueci de desmarcar. Essa falta de suporte deles realmente é bem chato... Issue tá aberta desde 2019, nem lembrava mais que tinha feito.

O lado bom é que há outras opções no mercado, assim, não ficamos preso só com eles.

E já alterei aqui, obrigadão 😀

@Renascienza
Copy link

@rodriguesabner eu tive sucesso usando diretamente a API REST com Retrofit. Exige ler com atenção a documentação e dá um pouco mais de trabalho ao implementar, mas o grau de controle que você tem é maior.

@rodriguesabner
Copy link
Author

@Renascienza Opa, pior que eu li bastante a documentação, segui todos os passos certinhos, fiz tudo de acordo, porém... E também faz muito tempo que não mexi mais com a gateway deles, não sei como está hoje.

Como mencionei lá no primeiro post, eu tive que fazer um monte de validação manual pra funcionar. Até a PagSeguro que é chatinha de mexer eu consegui implementar de boa.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

2 participants