Skip to content

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

PropriedadeTipoDescrição
fieldsRequisitionFieldInput[]Lista de campos que serão criados na demanda.
filesRequisition_createFullRequisition_File_Input[]Lista de arquivos que serão anexados à demanda.
emailStringEmail do usuário que está criando a demanda. Se não informado, será usado o email do usuário autenticado.
assigneeEmailStringEmail do responsável pela demanda. Se não informado, o campo responsável ficará em branco.

Propriedades do campo fields

PropriedadeTipoDescrição
labelStringNome do campo.
typeAnswerTypeTipo do campo (TEXT, NUMBER, BOOLEAN, DATE).
valueStringValor do campo.
originRefIdStringID 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

PropriedadeTipoDescrição
fileNameStringNome do arquivo.
fileExtensionStringExtensão do arquivo.
base64StringConteú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)