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>')