Criando e/ou atualizando informações customizadas
Para criar/atualizar um campo dentro de informações customizadas, utilizamos a mutation Contract_upsertCustomField
. Essa mutation trabalha com o conceito de upsert, ou seja, caso o campo não exista, ele será criado, caso exista, ele será atualizado.
O input
dessa mutation é composto por:
Propriedade | Descrição | Valor esperado |
---|---|---|
id | ID do campo | string - UUID V4 |
label | Label do campo | string |
contractId | ID do contrato | string |
type | Tipo do valor do campo | string - TEXT , NUMBER , BOOLEAN , DATE |
value | Valor do campo, conforme especificado no type | string - Caso o tipo seja BOOLEAN , o valor deve ser true ou false . Caso o tipo seja DATE , o valor deve ser uma data no formato yyyy-MM-ddTHH:mm:ss.000Z (ex: 2021-01-01T00:00:00.000Z ) |
Observações
Caso não esteja familiarizado com o conceito de upsert, ele é uma operação que cria um novo registro caso ele não exista, ou atualiza um registro caso ele exista.
Exemplo
graphql
mutation UpsertCustomField($input: Contract_UpsertCustomField_Input!) {
Contract_upsertCustomField(input: $input) {
id
label
type
value
}
}
js
async function upsertCustomField(input) {
const response = await fetch('https://api.linte.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'key': '<seu-token>'
},
body: JSON.stringify({
query: `
mutation UpsertCustomField($input: Contract_UpsertCustomField_Input!) {
Contract_upsertCustomField(input: $input) {
id
label
type
value
}
}
`,
variables: {
input
}
})
});
const result = await response.json();
console.log(result);
}
// Exemplo de uso
const input = {
id: '<uuid-v4>',
label: 'Nome do campo',
contractId: '<id-do-contrato>',
type: 'TEXT',
value: 'Valor do campo'
};
upsertCustomField(input);
python
import requests
def upsert_custom_field(input_data):
response = requests.post(
'https://api.linte.com/graphql',
headers={
'Content-Type': 'application/json',
'key': '<seu-token>'
},
json={
'query': '''
mutation UpsertCustomField($input: Contract_UpsertCustomField_Input!) {
Contract_upsertCustomField(input: $input) {
id
label
type
value
}
}
''',
'variables': {
'input': input_data
}
}
)
print(response.json())
if __name__ == '__main__':
# Exemplo de uso
input_data = {
'id': '<uuid-v4>',
'label': 'Nome do campo',
'contractId': '<id-do-contrato>',
'type': 'TEXT',
'value': 'Valor do campo'
}
upsert_custom_field(input_data)