Skip to content

Adicionando aditivos a contratos

Para adicionar um aditivo a um contrato, utilizamos a mutation Contract_linkAmendmentContract. Essa mutation recebe o input Contract_linkAmendmentContract e retorna um objeto do tipo contract_linkamendmentcontract_output.

Exemplo

No exemplo abaixo, a mutation Contract_linkAmendmentContract é utilizada para adicionar um aditivo a um contrato. O contrato principal (parentContractId) é identificado pelo id e o contrato aditivo (contractIdsToBeLinked) é identificado pelo id.

graphql
mutation LinkAmendmentContract($parentContractId: ID!, $contractIdsToBeLinked: [ID!]!) {
  Contract_linkAmendmentContract(input: {
    parentContractId: $parentContractId,
    contractIdsToBeLinked: $contractIdsToBeLinked
  }) {
    ... on Contract_LinkAmendmentContract_Success {
      contract {
        id
        slug
        value
        currency
        amendments {
          id
          slug
          value
          currency
        }
      }
    }
    
    ... on Contract_LinkAmendmentContract_Failures {
      failures {
        ... on Error {
          message
        }
      }
    }
  }
}
js
async function linkAmendment(parentContractId, contractIdsToBeLinked) {
  const response = await fetch('https://core-api.linte.com/graphql', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'key': '<seu-token>'
    },
    body: JSON.stringify({
      query: `
        mutation LinkAmendmentContract($parentContractId: ID!, $contractIdsToBeLinked: [ID!]!) {
          Contract_linkAmendmentContract(input: {
            parentContractId: $parentContractId,
            contractIdsToBeLinked: $contractIdsToBeLinked
          }) {
            ... on Contract_LinkAmendmentContract_Success {
              contract {
                id
                slug
                value
                currency
                amendments {
                  id
                  slug
                  value
                  currency
                }
              }
            }
            
            ... on Contract_LinkAmendmentContract_Failures {
              failures {
                ... on Error {
                  message
                }
              }
            }
          }
        }
      `,
      variables: {
        parentContractId,
        contractIdsToBeLinked
      }
    })
  });

  const result = await response.json();
  console.log(result);
}
python
import requests

def link_amendment(parent_contract_id, contract_ids_to_be_linked):
    response = requests.post(
        'https://core-api.linte.com/graphql',
        headers={
            'Content-Type': 'application/json',
            'key': '<seu-token>'
        },
        json={
            'query': '''
                mutation LinkAmendmentContract($parentContractId: ID!, $contractIdsToBeLinked: [ID!]!) {
                  Contract_linkAmendmentContract(input: {
                    parentContractId: $parentContractId,
                    contractIdsToBeLinked: $contractIdsToBeLinked
                  }) {
                    ... on Contract_LinkAmendmentContract_Success {
                      contract {
                        id
                        slug
                        value
                        currency
                        amendments {
                          id
                          slug
                          value
                          currency
                        }
                      }
                    }
                    
                    ... on Contract_LinkAmendmentContract_Failures {
                      failures {
                        ... on Error {
                          message
                        }
                      }
                    }
                  }
                }
            ''',
            'variables': {
                'parentContractId': parent_contract_id,
                'contractIdsToBeLinked': contract_ids_to_be_linked
            }
        }
    )
    
    print(response.json())

if __name__ == '__main__':
    link_amendment('<id-do-contrato-principal>', ['<id-do-contrato-aditivo>'])