Skip to content

Buscando um contrato

Existem duas formas de buscar um contrato: pelo ID ou pelo slug. O ID é um UUID gerado pelo sistema, enquanto o slug é um identificador único sequencial de fácil leitura.

Buscando um contrato pelo ID

Para buscar um contrato, utilizamos a query Contract_getContractById. Essa query recebe o ID do contrato, que pode ser obtido através da listagem de contratos, da criação de um contrato ou do webhook de criação de contrato.

graphql
query GetContractById($id: ID!) {
  Contract_getContractById(id: $id) {
    id
    slug
    counterpart
    counterparties
    createdAt
    updatedAt
    createdFromRequisitionId
    currency
    effectiveDate
    expirationDate
    isFormAnswered
    kind
    requestingArea
    termStatus
    totalAttachments
    type
    customFields {
      id
      label
      type
      value
      children {
        id
        label
        type
        value
      }
    }
    file {
      id
      fileName
      fileExtension
      contractId
    }
    parent {
      id
      file {
        id
        fileName
        fileExtension
        contractId
      }
    }
    amendments {
      id
      file {
        id
        fileName
        fileExtension
        contractId
      }
    }
    status {
      id
      category
      label
      updatedAt
      createdAt
      contractsCount
      isDefault
      isDisabled
      isInitial
    }
  }
}
js
async function getContractById(id) {
  const response = await fetch('https://api.linte.com/graphql', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'key': '<seu-token>'
    },
    body: JSON.stringify({
      query: `
        query GetContractById($id: ID!) {
          Contract_getContractById(id: $id) {
            id
            slug
            counterpart
            counterparties
            createdAt
            updatedAt
            createdFromRequisitionId
            currency
            effectiveDate
            expirationDate
            isFormAnswered
            kind
            requestingArea
            termStatus
            totalAttachments
            type
            customFields {
              id
              label
              type
              value
              children {
                id
                label
                type
                value
              }
            }
            file {
              id
              fileName
              fileExtension
              contractId
            }
            parent {
              id
              file {
                id
                fileName
                fileExtension
                contractId
              }
            }
            amendments {
              id
              file {
                id
                fileName
                fileExtension
                contractId
              }
            }
            status {
              id
              category
              label
              updatedAt
              createdAt
              contractsCount
              isDefault
              isDisabled
              isInitial
            }
          }
        }
      `,
      variables: {
        id
      }
    })
  });

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

def get_contract_by_id(contract_id):
    response = requests.post(
        'https://api.linte.com/graphql',
        headers={
            'Content-Type': 'application/json',
            'key': '<seu-token>'
        },
        json={
            'query': '''
                query GetContractById($id: ID!) {
                  Contract_getContractById(id: $id) {
                    id
                    slug
                    counterpart
                    counterparties
                    createdAt
                    updatedAt
                    createdFromRequisitionId
                    currency
                    effectiveDate
                    expirationDate
                    isFormAnswered
                    kind
                    requestingArea
                    termStatus
                    totalAttachments
                    type
                    customFields {
                      id
                      label
                      type
                      value
                      children {
                        id
                        label
                        type
                        value
                      }
                    }
                    file {
                      id
                      fileName
                      fileExtension
                      contractId
                    }
                    parent {
                      id
                      file {
                        id
                        fileName
                        fileExtension
                        contractId
                      }
                    }
                    amendments {
                      id
                      file {
                        id
                        fileName
                        fileExtension
                        contractId
                      }
                    }
                    status {
                      id
                      category
                      label
                      updatedAt
                      createdAt
                      contractsCount
                      isDefault
                      isDisabled
                      isInitial
                    }
                  }
                }
            ''',
            'variables': {
                'id': contract_id
            }
        }
    )
    
    print(response.json())

if __name__ == '__main__':
    get_contract_by_id('<id-do-contrato>')

Buscando um contrato pelo slug

A busca de contrato por slug é feita através da query Contract_getContractBySlug. Essa query recebe o slug do contrato, que pode ser obtido através da listagem de contratos, da criação de um contrato ou do webhook de criação de contrato.

graphql
query GetContractBySlug($slug: String!) {
  Contract_getContractBySlug(slug: $slug) {
    id
    slug
    counterpart
    counterparties
    createdAt
    updatedAt
    createdFromRequisitionId
    currency
    effectiveDate
    expirationDate
    isFormAnswered
    kind
    requestingArea
    termStatus
    totalAttachments
    type
    file {
      id
      fileName
      fileExtension
      contractId
    }
    parent {
      id
      file {
        id
        fileName
        fileExtension
        contractId
      }
    }
    amendments {
      id
      file {
        id
        fileName
        fileExtension
        contractId
      }
    }
    status {
      id
      category
      label
      updatedAt
      createdAt
      contractsCount
      isDefault
      isDisabled
      isInitial
    }
  }
}
js
async function getContractBySlug(slug) {
  const response = await fetch('https://api.linte.com/graphql', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'key': '<seu-token>'
    },
    body: JSON.stringify({
      query: `
        query GetContractBySlug($slug: String!) {
          Contract_getContractBySlug(slug: $slug) {
            id
            slug
            counterpart
            counterparties
            createdAt
            updatedAt
            createdFromRequisitionId
            currency
            effectiveDate
            expirationDate
            isFormAnswered
            kind
            requestingArea
            termStatus
            totalAttachments
            type
            file {
              id
              fileName
              fileExtension
              contractId
            }
            parent {
              id
              file {
                id
                fileName
                fileExtension
                contractId
              }
            }
            amendments {
              id
              file {
                id
                fileName
                fileExtension
                contractId
              }
            }
            status {
              id
              category
              label
              updatedAt
              createdAt
              contractsCount
              isDefault
              isDisabled
              isInitial
            }
          }
        }
      `,
      variables: {
        slug
      }
    })
  });

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

def get_contract_by_slug(slug):
    response = requests.post(
        'https://api.linte.com/graphql',
        headers={
            'Content-Type': 'application/json',
            'key': '<seu-token>'
        },
        json={
            'query': '''
                query GetContractBySlug($slug: String!) {
                  Contract_getContractBySlug(slug: $slug) {
                    id
                    slug
                    counterpart
                    counterparties
                    createdAt
                    updatedAt
                    createdFromRequisitionId
                    currency
                    effectiveDate
                    expirationDate
                    isFormAnswered
                    kind
                    requestingArea
                    termStatus
                    totalAttachments
                    type
                    file {
                      id
                      fileName
                      fileExtension
                      contractId
                    }
                    parent {
                      id
                      file {
                        id
                        fileName
                        fileExtension
                        contractId
                      }
                    }
                    amendments {
                      id
                      file {
                        id
                        fileName
                        fileExtension
                        contractId
                      }
                    }
                    status {
                      id
                      category
                      label
                      updatedAt
                      createdAt
                      contractsCount
                      isDefault
                      isDisabled
                      isInitial
                    }
                  }
                }
            ''',
            'variables': {
                'slug': slug
            }
        }
    )
    
    print(response.json())

if __name__ == '__main__':
    get_contract_by_slug('<slug-do-contrato>')