Criando e/ou atualizando informações da demanda
Para criar/atualizar um campo dentro de informações da demanda, utilizamos da mutation Requisition_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 |
requisitionId | ID da demanda | 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 ) |
originRefId | ID do campo original. Esse Id só é visível em campos que fom criados a partir do preenchimento de algum formulário interno. | string |
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.
Criando informações na demanda
Para criar um novo campo dentro de informações da demanda,
function creatingRequisitionInfo() {
fetch('https://api.linte.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
key: '<token>'
},
body: JSON.stringify({
query: `
mutation {
Requisition_upsertCustomField(input: {
id: <UUID>
label: <LABEL>
requisitionId: <ID_DA_DEMANDA>
type: <TIPO_DO_VALOR>
value: <VALOR>
originRefId: <ID_DO_CAMPO_ORIGINAL>
}) {
id
customFields {
id
label
type
value
}
}
}
`
})
})
.then(res => res.json())
.then(result => console.log(result));
}
creatingRequisitionInfo();
Atualizando informações da demanda
Para atualizar um campo dentro de informações da demanda, basta utilizar o mesmo código da criação, porém, o campo id
deve ser o mesmo do campo que deseja atualizar.
function updatingRequisitionInfo() {
fetch('https://api.linte.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
key: '<token>'
},
body: JSON.stringify({
query: `
mutation {
Requisition_upsertCustomField(input: {
id: <UUID>
label: <LABEL>
requisitionId: <ID_DA_DEMANDA>
type: <TIPO_DO_VALOR>
value: <VALOR>
}) {
id
customFields {
id
label
type
value
originRefId
}
}
}
`
})
})
.then(res => res.json())
.then(result => console.log(result));
}
updatingRequisitionInfo();
Atualizando campos customizados
Para atualizar o valor de um campo customizado, basta utilizar o mesmo código da criação, porém, o campo id
deve ser o mesmo do campo que deseja atualizar.
Propriedades de campos customizados
Propriedade | Tipo | Descrição |
---|---|---|
id | String | ID do campo (UUID V4). |
label | String | Label do campo. |
requisitionId | String | ID da demanda. |
type | String | Tipo do valor do campo (TEXT , NUMBER , BOOLEAN , DATE ). |
value | String | Valor do campo. Para BOOLEAN , use "true" ou "false" . Para DATE , use o formato YYYY-MM-DDTHH:mm:ss.000Z (ex: "2024-12-31T00:00:00.000Z" ). |
originRefId | String | ID do campo original. Esse Id só é visível em campos que fom criados a partir do preenchimento de algum formulário interno. |
mutation UpsertRequisitionCustomField(
$input: Requisition_UpsertCustomField_Input!
) {
Requisition_upsertCustomField(input: $input) {
id
label
type
value
updatedAt
originRefId
}
}
async function upsertRequisitionCustomField(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 UpsertRequisitionCustomField {
Requisition_upsertCustomField(input: {
id: <UUID>
label: <LABEL>
requisitionId: <ID_DA_DEMANDA>
type: <TIPO_DO_VALOR>
value: <VALOR>
originRefId: <ID_DO_CAMPO_ORIGINAL>
}) {
id
label
type
value
updatedAt
originRefId
}
}
`,
variables: {
input
}
})
});
const result = await response.json();
console.log(result);
}
// Exemplo de uso
const input = {
id: '<uuid-v4>',
label: 'CPF',
requisitionId: '<id-da-demanda>',
type: 'TEXT',
value: '123.456.789-00',
originRefId: '<id-do-campo-original>'
};
upsertRequisitionCustomField(input);
import requests
def upsert_requisition_custom_field(input_data):
response = requests.post(
'https://api.linte.com/graphql',
headers={
'Content-Type': 'application/json',
'key': '<seu-token>'
},
json={
'query': '''
mutation UpsertRequisitionCustomField($input: Requisition_UpsertCustomField_Input!) {
Requisition_upsertCustomField(input: $input) {
id
label
type
value
updatedAt
}
}
''',
'variables': {
'input': input_data
}
}
)
print(response.json())
if __name__ == '__main__':
# Exemplo de uso
input_data = {
'id': '<uuid-v4>',
'label': 'CPF',
'requisitionId': '<id-da-demanda>',
'type': 'TEXT',
'value': '123.456.789-00'
}
upsert_requisition_custom_field(input_data)