ContractPlus APIs | Lançar Aditivo de Serviço.
58 min
Criado por Eduardo Martins Dos Santos em 19/08/2025 09:55
Atualizado por Eduardo Martins Dos Santos em 21/08/2025 14:53

❓ Dúvida

Como registrar um aditivo de serviço via API no sistema ContractPlus.

A API responsável por realizar o lançamento contratual é:

/api/contractAdditives/additivesService

Exemplo de JSON a ser preenchido:

{
    "CompanyId": 1,
    "AdditiveType": "SERVICE",
    "TypeId": 3,
    "ContractId": 4930,
    "CardCode": "F00002",
    "CardName": "FORNECEDOR 123",
    "Lines": [
        {
            "ContractId": 4930,
            "ItemCode": "SER000018",
            "ItemName": "Item Medição",
            "Quantity": "10.00",
            "PriceUnit": 123.12,
            "LineTotal": "1231.20",
            "LineTotalBalance": "1231.20",
            "BillingType": 1,
            "MeasureUnitId": "Und",
            "RecurrenceType": 1,
            "MeasurementById": 1,
            "UsageId": "3",
            "DueDateBase": "2025-08-01T00:00:00",
            "BirthdayDate": "2026-06-20T00:00:00",
            "InstallmentsTotal": 0,
            "Installments": []
        },
        {
            "ContractId": 4930,
            "ItemCode": "SER000018",
            "ItemName": "Item Medição",
            "Quantity": "10.00",
            "PriceUnit": 123.12,
            "LineTotal": "1231.20",
            "LineTotalBalance": "1231.20",
            "BillingType": 1,
            "MeasureUnitId": "Und",
            "RecurrenceType": 1,
            "MeasurementById": 2,
            "UsageId": "3",
            "DueDateBase": "2025-08-01T00:00:00",
            "BirthdayDate": "2026-06-20T00:00:00",
            "InstallmentsTotal": 0,
            "Installments": []
        },
        {
            "ContractId": 4930,
            "ItemCode": "SER000018",
            "ItemName": "Item Medição",
            "Quantity": "10.00",
            "PriceUnit": 123.12,
            "LineTotal": "1231.20",
            "LineTotalBalance": "1231.20",
            "BillingType": 1,
            "MeasureUnitId": "Und",
            "RecurrenceType": 1,
            "MeasurementById": 3,
            "UsageId": "3",
            "DueDateBase": "2025-08-01T00:00:00",
            "BirthdayDate": "2026-06-20T00:00:00",
            "InstallmentsTotal": 0,
            "Installments": []
        },
        {
            "ContractId": 4930,
            "ItemCode": "SER000016",
            "ItemName": "Item Parcelado",
            "Quantity": "10.00",
            "PriceUnit": 123.12,
            "LineTotal": "1231.20",
            "LineTotalBalance": "1231.20",
            "BillingType": 2,
            "MeasureUnitId": "Und",
            "RecurrenceType": 2,
            "MeasurementById": 1,
            "UsageId": "3",
            "DueDateBase": "2025-08-01T00:00:00",
            "BirthdayDate": "2026-06-20T00:00:00",
            "InstallmentsTotal": 10,
            "Installments": [
                {
                    "Sequence": 1,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2025-08-30T00:00:00",
                    "DateBilling": "2025-08-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 2,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2025-09-30T00:00:00",
                    "DateBilling": "2025-09-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 3,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2025-10-30T00:00:00",
                    "DateBilling": "2025-10-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 4,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2025-11-30T00:00:00",
                    "DateBilling": "2025-11-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 5,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2025-12-30T00:00:00",
                    "DateBilling": "2025-12-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 6,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2026-01-30T00:00:00",
                    "DateBilling": "2026-01-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 7,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2026-03-02T00:00:00",
                    "DateBilling": "2026-03-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 8,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2026-03-30T00:00:00",
                    "DateBilling": "2026-03-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 9,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2026-04-30T00:00:00",
                    "DateBilling": "2026-04-25T00:00:00",
                    "DocTotal": 123.12
                },
                {
                    "Sequence": 10,
                    "ItemCode": "SER000016",
                    "ItemName": "Item Parcelado",
                    "DueDate": "2026-05-30T00:00:00",
                    "DateBilling": "2026-05-25T00:00:00",
                    "DocTotal": 123.12
                }
            ]
        },
        {
            "ContractId": 4930,
            "ItemCode": "SER000017",
            "ItemName": "Item Recorrente",
            "Quantity": "10.00",
            "PriceUnit": 123.12,
            "LineTotal": "1231.20",
            "LineTotalBalance": "12312.00",
            "BillingType": 3,
            "MeasureUnitId": "Und",
            "RecurrenceType": 2,
            "MeasurementById": 1,
            "UsageId": "3",
            "DueDateBase": "2025-08-01T00:00:00",
            "BirthdayDate": "2026-06-20T00:00:00",
            "InstallmentsTotal": 10,
            "Installments": [
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2025-08-30T00:00:00",
                    "Sequence": 1,
                    "DateBilling": "2025-08-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2025-09-30T00:00:00",
                    "Sequence": 2,
                    "DateBilling": "2025-09-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2025-10-30T00:00:00",
                    "Sequence": 3,
                    "DateBilling": "2025-10-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2025-11-30T00:00:00",
                    "Sequence": 4,
                    "DateBilling": "2025-11-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2025-12-30T00:00:00",
                    "Sequence": 5,
                    "DateBilling": "2025-12-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2026-01-30T00:00:00",
                    "Sequence": 6,
                    "DateBilling": "2026-01-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2026-03-02T00:00:00",
                    "Sequence": 7,
                    "DateBilling": "2026-02-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2026-03-30T00:00:00",
                    "Sequence": 8,
                    "DateBilling": "2026-03-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2026-04-30T00:00:00",
                    "Sequence": 9,
                    "DateBilling": "2026-04-25T00:00:00"
                },
                {
                    "ItemCode": "SER000017",
                    "ItemName": "Item Recorrente",
                    "DocTotal": 1231.2,
                    "DueDate": "2026-05-30T00:00:00",
                    "Sequence": 10,
                    "DateBilling": "2026-05-25T00:00:00"
                }
            ]
        },
        {
            "ContractId": 4930,
            "ItemCode": "SER000020",
            "ItemName": "Item Parcelado Medido",
            "Quantity": "10.00",
            "PriceUnit": 123.12,
            "LineTotal": "1231.20",
            "LineTotalBalance": "12312.00",
            "BillingType": 5,
            "MeasureUnitId": "Und",
            "RecurrenceType": 2,
            "MeasurementById": 1,
            "UsageId": "3",
            "DueDateBase": "2025-08-01T00:00:00",
            "BirthdayDate": "2026-06-20T00:00:00",
            "InstallmentsTotal": 10,
            "Installments": [
                {
                    "Sequence": 1,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2025-08-30T00:00:00",
                    "DateBilling": "2025-08-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 2,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2025-09-30T00:00:00",
                    "DateBilling": "2025-09-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 3,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2025-10-30T00:00:00",
                    "DateBilling": "2025-10-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 4,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2025-11-30T00:00:00",
                    "DateBilling": "2025-11-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 5,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2025-12-30T00:00:00",
                    "DateBilling": "2025-12-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 6,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2026-01-30T00:00:00",
                    "DateBilling": "2026-01-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 7,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2026-03-02T00:00:00",
                    "DateBilling": "2026-02-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 8,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2026-03-30T00:00:00",
                    "DateBilling": "2026-03-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 9,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2026-04-30T00:00:00",
                    "DateBilling": "2026-04-25T00:00:00",
                    "DocTotal": 1231.20
                },
                {
                    "Sequence": 10,
                    "ItemCode": "SER000020",
                    "ItemName": "Item Parcelado Medido",
                    "DueDate": "2026-05-30T00:00:00",
                    "DateBilling": "2026-05-25T00:00:00",
                    "DocTotal": 1231.20
                }
            ]
        }
    ]
}

🛠️ Procedimento

Para realizar o lançamento do contrato:

  1. No campo Request body, informe o JSON preenchido.

  2. Execute a API.

Se o processo for realizado com sucesso, será retornado o código: "201 - O aditivo foi lançado com sucesso" e o JSON será retornado no campo Response body.

📝 Índice de Códigos 

  • Codigo 201 → O aditivo foi lançado com sucesso: Este código é acompanhando do JSON do aditivo inserido.

  • Código 401 → Usuário não autorizado: O usuário não possui autorização e/ou licença de utilização.

  • Código 409 → Confito de informações: Este código é acompanhado do campo e valor conflitante.

  • Código 500 → Erro interno no servidor: Indica que ocorreu uma falha inesperada durante o processamento da requisição no servidor.

📝 Campos do Aditivo de Serviço

Principais (Obrigatórios)

  • CompanyId → Empresa vinculada

  • AdditiveType → Tipo do aditivo (ex.: SERVICE)

  • TypeId → Tipo interno de classificação do aditivo

  • ContractId → Identificador do contrato relacionado

  • CardCode → Código do parceiro (Fornecedor)

  • CardName → Nome do parceiro (Fornecedor)


Estrutura de Linhas (Obrigatórias)

Cada aditivo deve conter uma ou mais linhas, representando os itens vinculados.

  • ContractId → Identificador do contrato vinculado

  • ItemCode → Código do item de serviço/produto

  • ItemName → Nome do item

  • Quantity → Quantidade contratada

  • PriceUnit → Valor unitário

  • LineTotal → Valor total da linha

  • LineTotalBalance → Saldo total da linha

  • BillingType → Tipo de faturamento (1 = Medição, 2 = Parcelado, 3 = Recorrente, 5 = Parcelado Medido)

  • MeasureUnitId → Unidade de medida (ex.: UND)

  • RecurrenceType → Tipo de recorrência (ex.: 1 = Não se aplica, 2 = Mensal, 3 = Anual)

  • MeasurementById → Forma de medição (ex.: 1 = Valor, 2 = Percentual, 3 = Quantidade)

  • UsageId → Utilização (ex.: 3 = Compra Comercial)

  • DueDateBase → Data base de vencimento

  • BirthdayDate → Data de aniversário 

    • Considerada em todos os tipos de faturamento, exceto quando o faturamento é do tipo calculado.

    • Utilizada em faturamentos recorrentes e parcelados medidos, servindo de base para o cálculo da quantidade de parcelas.

    • Obrigatória como informação da data de reajuste.

  • InstallmentsTotal → Total de parcelas (Obrigatório para o faturamento parcelado)

  • Installments → Lista de parcelas, cada uma com:

    • Sequence → Nº da parcela

    • ItemCode → Código do item

    • ItemName → Nome do item

    • DueDate → Data de vencimento da parcela

    • DateBilling → Data de faturamento da parcela

    • DocTotal → Valor da parcela

Este artigo foi útil para você?
Últimos artigos visitados