Pular para o conteúdo

Partes Contrárias

Use este endpoint para cadastrar representantes ou garantidores como partes contrárias em contratos já existentes no Xjur.

A API localiza os contratos pela combinação numeroPne + docContabil, valida cada pessoa enviada e cria o vínculo com os contratos encontrados.

POST /Contrato/AdicionarParteContraria HTTP/1.1
Host: apim-xjur-prd.xjur.com.br/contratoadaptersap
Authorization: Bearer <token>
X-XJUR-SUBSCRIPTION-KEY: <sua-chave>
Content-Type: application/json
  • Token JWT válido
  • Subscription key (X-XJUR-SUBSCRIPTION-KEY)
  • numeroPne e docContabil do contrato
  • Dados das pessoas que serão cadastradas como partes contrárias
CampoTipoObrigatórioDescrição
numeroPnestringSimNúmero PNE usado para localizar o contrato
docContabilstringSimDocumento contábil usado com o numeroPne
tipoRequisicaostringSimTipo funcional da requisição. Valores aceitos: gmcprincgrid01, gmcprincgaran
pessoasListarraySimLista de pessoas a processar. Deve conter ao menos um item
CampoTipoObrigatórioDescrição
nomeResponsavelstringSimNome da pessoa. Máximo de 80 caracteres
cpfCnpjstringSimCPF ou CNPJ da pessoa
ehConjugebooleanSimIndica se a pessoa deve ser cadastrada funcionalmente como cônjuge
telefonestringNãoTelefone de contato
emailstringNãoE-mail de contato
versaostringNãoCampo aceito para compatibilidade com o integrador
datastringNãoCampo aceito para compatibilidade com o integrador
horastringNãoCampo aceito para compatibilidade com o integrador

A API normaliza o campo cpfCnpj antes da validação, removendo pontuação e mantendo letras e números em maiúsculas.

Exemplos:

Valor enviadoValor processado
529.982.247-2552998224725
12.345.678/0001-9512345678000195
12.ABC.345/01DE-3512ABC34501DE35

A API aceita:

  • CPF numérico com 11 dígitos válidos;
  • CNPJ numérico com 14 dígitos válidos;
  • CNPJ alfanumérico com 14 caracteres, sendo as 12 primeiras posições compostas por letras ou números e as 2 últimas posições compostas por dígitos verificadores.
  1. A combinação numeroPne + docContabil deve localizar ao menos um contrato.
  2. Se mais de um contrato for localizado, a pessoa elegível é vinculada aos contratos encontrados.
  3. O payload não pode conter pessoas duplicadas pelo mesmo cpfCnpj normalizado.
  4. Cada pessoa é processada individualmente, exceto quando há duplicidade no próprio payload, caso em que a requisição inteira é rejeitada.
  5. Se a pessoa já estiver vinculada ao contrato, o registro retorna status DUPLICADO.
  6. Se a pessoa ainda não existir no Xjur, a API cria a pessoa antes de vinculá-la ao contrato.
  7. ehConjuge = true classifica funcionalmente a pessoa como cônjuge.
Terminal window
curl -X POST https://apim-xjur-prd.xjur.com.br/contratoadaptersap/Contrato/AdicionarParteContraria \
-H "Authorization: Bearer $TOKEN" \
-H "X-XJUR-SUBSCRIPTION-KEY: $SUBSCRIPTION_KEY" \
-H "Content-Type: application/json" \
-d '{
"numeroPne": "PNE123456",
"docContabil": "4500001234",
"tipoRequisicao": "gmcprincgrid01",
"pessoasList": [
{
"nomeResponsavel": "Maria Silva",
"telefone": "11999999999",
"email": "maria.silva@email.com",
"cpfCnpj": "529.982.247-25",
"ehConjuge": false
}
]
}'

Todos os registros foram processados com sucesso.

{
"httpStatus": 200,
"message": "Todos os registros processados com sucesso.",
"numeroPne": "PNE123456",
"docContabil": "4500001234",
"totalRecebidos": 1,
"totalAceitos": 1,
"totalRejeitados": 0,
"registros": [
{
"cpfCnpj": "52998224725",
"status": "ACEITO",
"idXjur": "9876",
"partesContrato": [
{
"contratoId": 123,
"idXjur": "9876",
"status": "ACEITO"
}
]
}
]
}

A requisição teve resultados mistos. Avalie cada item em registros para identificar inclusões, duplicidades e rejeições.

{
"httpStatus": 207,
"message": "Processamento parcial: 1 aceitos, 1 rejeitados.",
"numeroPne": "PNE123456",
"docContabil": "4500001234",
"totalRecebidos": 2,
"totalAceitos": 1,
"totalRejeitados": 1,
"registros": [
{
"cpfCnpj": "52998224725",
"status": "ACEITO",
"idXjur": "9876",
"partesContrato": [
{
"contratoId": 123,
"idXjur": "9876",
"status": "ACEITO"
}
]
},
{
"cpfCnpj": "11111111111",
"status": "REJEITADO",
"motivo": "CPF inválido.",
"camposInvalidos": ["cpfCnpj"]
}
]
}

O payload está ausente, incompleto, contém uma lista vazia, possui tipoRequisicao não suportado ou contém pessoas duplicadas.

{
"httpStatus": 400,
"error": "PAYLOAD_INVALIDO",
"message": "Payload inválido.",
"numeroPne": "PNE123456",
"docContabil": "4500001234",
"detalhes": "tipoRequisicao inválido ou não suportado."
}

Nenhum contrato foi encontrado para a combinação numeroPne + docContabil.

{
"httpStatus": 404,
"error": "PNE_NAO_ENCONTRADA",
"message": "Nenhum contrato foi encontrado para o numeroPne e docContabil informados.",
"numeroPne": "PNE123456",
"docContabil": "4500001234",
"detalhes": "A combinação numeroPne + docContabil não foi localizada no XJur."
}

Todos os registros enviados já estavam vinculados aos contratos encontrados.

{
"httpStatus": 409,
"error": "REGISTROS_DUPLICADOS",
"message": "Todos os registros informados já existem.",
"numeroPne": "PNE123456",
"docContabil": "4500001234",
"totalRecebidos": 1,
"totalAceitos": 0,
"totalRejeitados": 1,
"detalhes": "Nenhum registro foi incluído porque todos já estavam cadastrados para o contrato informado."
}
StatusSignificado
ACEITORegistro validado e apto para vínculo com o contrato
DUPLICADOPessoa já estava vinculada ao contrato
REJEITADORegistro não foi processado por erro de validação
CampoDescrição
httpStatusStatus HTTP retornado pela API
messageMensagem resumida do resultado
errorCódigo de erro de negócio, quando aplicável
detalhesDetalhe complementar, quando aplicável
totalRecebidosTotal de pessoas recebidas no payload
totalAceitosTotal de registros aceitos
totalRejeitadosTotal de registros rejeitados ou duplicados
registrosResultado individual por pessoa
idXjurIdentificador retornado pelo Xjur para rastreabilidade
partesContratoResultado do vínculo da pessoa em cada contrato localizado
  • Envie no máximo uma ocorrência por cpfCnpj em cada payload.
  • Trate 207 como resposta esperada de processamento parcial.
  • Trate 409 como indicação de que não houve inclusão porque os registros já existiam.
  • Não dependa de regras internas do Xjur para classificar representantes; use apenas os campos funcionais documentados.