Criando uma demanda
Para criar uma demanda, é necessário utilizar a mutation Requisition_createFullRequisition
. Essa mutation recebe como parâmetro um objeto do tipo Requisition_createFullRequisition_Input
.
Propriedades de criação de demanda
Propriedade | Tipo | Descrição |
---|---|---|
fields | RequisitionFieldInput[] | Lista de campos que serão criados na demanda. |
files | Requisition_createFullRequisition_File_Input[] | Lista de arquivos que serão anexados à demanda. |
email | String | Email do usuário que está criando a demanda. Se não informado, será usado o email do usuário autenticado. |
assigneeEmail | String | Email do responsável pela demanda. Se não informado, o campo responsável ficará em branco. |
Propriedades do campo fields
Propriedade | Tipo | Descrição |
---|---|---|
label | String | Nome do campo. |
type | AnswerType | Tipo do campo (TEXT , NUMBER , BOOLEAN , DATE ). |
value | String | Valor do campo. |
originRefId | String | ID do campo original. Esse Id só é visível em campos que foram criados a partir do preenchimento de algum formulário interno. |
Propriedades do campo files
Propriedade | Tipo | Descrição |
---|---|---|
fileName | String | Nome do arquivo. |
fileExtension | String | Extensão do arquivo. |
base64 | String | Conteúdo do arquivo em base64. |
graphql
mutation CreateRequisition($input: Requisition_CreateFullRequisition_Input!) {
Requisition_createFullRequisition(input: $input) {
id
fields {
id
label
type
value
}
files {
id
fileName
fileExtension
fileDownloadUrl
}
assignee {
id
name
email
}
requester {
id
name
email
}
createdAt
}
}
js
async function createRequisition(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 CreateRequisition($input: Requisition_CreateFullRequisition_Input!) {
Requisition_createFullRequisition(input: $input) {
id
fields {
id
label
type
value
}
files {
id
fileName
fileExtension
fileDownloadUrl
}
assignee {
id
name
email
}
requester {
id
name
email
}
createdAt
}
}
`,
variables: {
input
}
})
});
const result = await response.json();
console.log(result);
}
// Exemplo de uso
const input = {
email: 'requester@example.com',
assigneeEmail: 'assignee@example.com',
fields: [
{ label: 'CPF', type: 'TEXT', value: '123.456.789-00' },
{ label: 'CNPJ', type: 'TEXT', value: '12.345.678/0001-90' },
{ label: 'Nome da parte', type: 'TEXT', value: 'Empresa ABC' }
],
files: [
{
fileName: 'Documento 1',
fileExtension: 'pdf',
base64: 'JVBERi0xLjcKCjEgMCBvYmogICUgZW50...' // conteúdo do arquivo em base64
}
]
};
createRequisition(input);
python
import requests
def create_requisition(input_data):
response = requests.post(
'https://api.linte.com/graphql',
headers={
'Content-Type': 'application/json',
'key': '<seu-token>'
},
json={
'query': '''
mutation CreateRequisition($input: Requisition_CreateFullRequisition_Input!) {
Requisition_createFullRequisition(input: $input) {
id
fields {
id
label
type
value
}
files {
id
fileName
fileExtension
fileDownloadUrl
}
assignee {
id
name
email
}
requester {
id
name
email
}
createdAt
}
}
''',
'variables': {
'input': input_data
}
}
)
print(response.json())
if __name__ == '__main__':
# Exemplo de uso
input_data = {
'email': 'requester@example.com',
'assigneeEmail': 'assignee@example.com',
'fields': [
{'label': 'CPF', 'type': 'TEXT', 'value': '123.456.789-00'},
{'label': 'CNPJ', 'type': 'TEXT', 'value': '12.345.678/0001-90'},
{'label': 'Nome da parte', 'type': 'TEXT', 'value': 'Empresa ABC'}
],
'files': [
{
'fileName': 'Documento 1',
'fileExtension': 'pdf',
'base64': 'JVBERi0xLjcKCjEgMCBvYmogICUgZW50...' # conteúdo do arquivo em base64
}
]
}
create_requisition(input_data)