ColmeiaSolucoes / nectarcrm-api

http://www.nectarcrm.com.br
10 stars 9 forks source link

Erro 500 ao tentar criar oportunidades #10

Closed agaabrieel closed 1 year ago

agaabrieel commented 1 year ago

Método post retorna

<!doctype html>HTTP Status 500 \xe2\x80\x93 Internal Server Error

HTTP Status 500 \xe2\x80\x93 Internal Server Error


Type Status Report

Message Internal Server Error

Description The server encountered an unexpected condition that prevented it from fulfilling the request.


Apache Tomcat/9.0.33

rmarques90 commented 1 year ago

Olá!

Qual o corpo da requisição e o endpoint que foi realizada a chamada? Pode ser que tenha algum parâmetro inválido.

agaabrieel commented 1 year ago

Endpoint é 'https://app.nectarcrm.com.br/crm/api/1/oportunidades'. Testei com header contendo somente o token de autenticação, com body vazio, com um único campo e até mesmo com header vazio. Todos com o mesmo retorno.

agaabrieel commented 1 year ago

Algum update a respeito?

rmarques90 commented 1 year ago

Olá!

Você precisa passar um corpo válido com, ao menos, um nome, cliente e um funil de venda.

{ 
    "nome": "Oportunidade teste",
    "cliente": {
        "id:" 123
    },
    "funilVenda": {
         "id": 456
    }
}
agaabrieel commented 1 year ago

@rmarques90, encontrei o problema. Vou detalhar aqui pra caso alguém passe por isso novamente:

A conta para a qual estou fazendo as requisições possui alguns campos personalizados obrigatórios. Quando fazia as requisições contendo somente os campos exigidos pela API, o servidor me retornava - como esperado - que alguns dos campos obrigatórios não foram preenchidos. Quando os incluia, a resposta era o código 500 mencionado.

O problema estava no fato de que um desses campos personalizados (e obrigatório) possuía um nome similar a um dos campos nativos do endpoint de oportunidades (produto vs produtos, respectivamente), o que fez com que eu informasse no corpo da requisição o campo produtos (uma array de objetos) e não o campo personalizado, uma string.