Skip to content

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:

PropriedadeDescriçãoValor esperado
idID do campostring - UUID V4
labelLabel do campostring
contractIdID do contratostring
typeTipo do valor do campostring - TEXT, NUMBER, BOOLEAN, DATE
valueValor do campo, conforme especificado no typestring - 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)