Partes Contrárias
Partes Contrárias
Seção intitulada “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.
Endpoint
Seção intitulada “Endpoint”POST /Contrato/AdicionarParteContraria HTTP/1.1Host: apim-xjur-prd.xjur.com.br/contratoadaptersapAuthorization: Bearer <token>X-XJUR-SUBSCRIPTION-KEY: <sua-chave>Content-Type: application/jsonPré-requisitos
Seção intitulada “Pré-requisitos”- Token JWT válido
- Subscription key (
X-XJUR-SUBSCRIPTION-KEY) numeroPneedocContabildo contrato- Dados das pessoas que serão cadastradas como partes contrárias
Payload
Seção intitulada “Payload”| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
numeroPne | string | Sim | Número PNE usado para localizar o contrato |
docContabil | string | Sim | Documento contábil usado com o numeroPne |
tipoRequisicao | string | Sim | Tipo funcional da requisição. Valores aceitos: gmcprincgrid01, gmcprincgaran |
pessoasList | array | Sim | Lista de pessoas a processar. Deve conter ao menos um item |
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nomeResponsavel | string | Sim | Nome da pessoa. Máximo de 80 caracteres |
cpfCnpj | string | Sim | CPF ou CNPJ da pessoa |
ehConjuge | boolean | Sim | Indica se a pessoa deve ser cadastrada funcionalmente como cônjuge |
telefone | string | Não | Telefone de contato |
email | string | Não | E-mail de contato |
versao | string | Não | Campo aceito para compatibilidade com o integrador |
data | string | Não | Campo aceito para compatibilidade com o integrador |
hora | string | Não | Campo aceito para compatibilidade com o integrador |
Validação de CPF/CNPJ
Seção intitulada “Validação de CPF/CNPJ”A API normaliza o campo cpfCnpj antes da validação, removendo pontuação e mantendo letras e números em maiúsculas.
Exemplos:
| Valor enviado | Valor processado |
|---|---|
529.982.247-25 | 52998224725 |
12.345.678/0001-95 | 12345678000195 |
12.ABC.345/01DE-35 | 12ABC34501DE35 |
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.
Regras de processamento
Seção intitulada “Regras de processamento”- A combinação
numeroPne+docContabildeve localizar ao menos um contrato. - Se mais de um contrato for localizado, a pessoa elegível é vinculada aos contratos encontrados.
- O payload não pode conter pessoas duplicadas pelo mesmo
cpfCnpjnormalizado. - Cada pessoa é processada individualmente, exceto quando há duplicidade no próprio payload, caso em que a requisição inteira é rejeitada.
- Se a pessoa já estiver vinculada ao contrato, o registro retorna status
DUPLICADO. - Se a pessoa ainda não existir no Xjur, a API cria a pessoa antes de vinculá-la ao contrato.
ehConjuge = trueclassifica funcionalmente a pessoa como cônjuge.
Exemplo de requisição
Seção intitulada “Exemplo de requisição”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 } ] }'Respostas
Seção intitulada “Respostas”Sucesso total — 200
Seção intitulada “Sucesso total — 200”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" } ] } ]}Processamento parcial — 207
Seção intitulada “Processamento parcial — 207”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"] } ]}Payload inválido — 400
Seção intitulada “Payload inválido — 400”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."}PNE não encontrada — 404
Seção intitulada “PNE não encontrada — 404”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 duplicados — 409
Seção intitulada “Todos duplicados — 409”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."}Status por registro
Seção intitulada “Status por registro”| Status | Significado |
|---|---|
ACEITO | Registro validado e apto para vínculo com o contrato |
DUPLICADO | Pessoa já estava vinculada ao contrato |
REJEITADO | Registro não foi processado por erro de validação |
Campos de resposta
Seção intitulada “Campos de resposta”| Campo | Descrição |
|---|---|
httpStatus | Status HTTP retornado pela API |
message | Mensagem resumida do resultado |
error | Código de erro de negócio, quando aplicável |
detalhes | Detalhe complementar, quando aplicável |
totalRecebidos | Total de pessoas recebidas no payload |
totalAceitos | Total de registros aceitos |
totalRejeitados | Total de registros rejeitados ou duplicados |
registros | Resultado individual por pessoa |
idXjur | Identificador retornado pelo Xjur para rastreabilidade |
partesContrato | Resultado do vínculo da pessoa em cada contrato localizado |
Boas práticas
Seção intitulada “Boas práticas”- Envie no máximo uma ocorrência por
cpfCnpjem cada payload. - Trate
207como resposta esperada de processamento parcial. - Trate
409como 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.