Resgatando Documentos

Quase tudo o que você precisa saber para listar ou buscar documentos específicos de um usuário.

Evite utilizar estes métodos para consultar o status das assinaturas frequentemente. Os webhooks são uma forma mais rápida e eficiente de fazer isso (e o nosso backend agradece 😅 )

Resgatando um documento específico

No Altair, você pode testar com o item Resgatar documento da collection pronta. Não esqueça de completar a query com o ID de um documento existente para buscar:

# Se copiar a query, lembre de remover os comentários

query {
  document(id: "ID_DO_DOCUMENTO") {
    id
    name
    refusable
    sortable
    created_at
    files { original signed pades }
    signatures {
      public_id
      name
      email
      created_at
      action { name }
      link { short_link } # Link de assinatura se signatário for adicionado por "name" ao invés de "email"
      user { id name email }
      email_events {
        sent # Timestamp de confirmação de envio do email
        opened # Timestamp abertura do email (pode não registrar em alguns clientes de email)
        delivered # Timestamp de confirmação do recebimento do email no cliente
        refused # Timestamp de erro no envio do email
        reason # Mensagem de erro retornada ao ocorrer erro no envio
      }
      viewed { ...event } # Quando o signatário visualizar
      signed { ...event } # Quando o signatário assinar
      rejected { ...event } # Quando o signatário rejeitar
      signed_unapproved { ..event } # Quando signatário assinar, mas pendente de aprovação biométrica
      biometric_approved { ..event } # Quando biometria do signatário que estiver pendente de aprovação for aprovada
      biometric_rejected { ..event } # Quando biometria do signatário que estiver pendente de aprovação for rejeitada
    }
  }
}

fragment event on Event {
  ip
  port
  reason
  created_at
  geolocation {
    country
    countryISO
    state
    stateISO
    city
    zipcode
    latitude
    longitude
  }
}

Você pode conferir o resultado direto no Altair:

Da mesma forma, você pode usar fragments como uma forma de evitar repetição nas queries com o GraphQL.

Você também pode consultar vários documentos ao mesmo tempo:

query {
  primeiro: document(id: "ID_DO_DOCUMENTO_1") { name }
  segundo: document(id: "ID_DO_DOCUMENTO_2") { name }
  terceiro: document(id: "ID_DO_DOCUMENTO_3") { name }
}

E, assim como mostra na imagem acima, você também pode nomear as queries. (OBS: O nome não pode conter somente números)

Listando documentos

Também é possível retornar páginas contendo múltiplos documentos:

query {
  documents(limit: 60, page: 1) {
    total
    data {
      id
      name
      refusable
      sortable
      created_at
      signatures {
        public_id
        name
        email
        created_at
        action { name }
        link { short_link }
        user { id name email }
        viewed { created_at }
        signed { created_at }
        rejected { created_at }
      }
      files { original signed }
    }
  }
}

Resgatando documentos de uma pasta

Também é possível resgatar os documentos contidos em uma pasta:

query{
  documentsByFolder(folder_id: "ID_DA_PASTA", limit: 60, page: 1) {
    data {
      id
      name
      qualified
      sandbox
      created_at
      deleted_at
    }
    has_more_pages
  }
}

A query em si é praticamente igual à de listar documentos, a única diferença é que pode-se especificar um id de uma pasta para realizar a busca. As informações retornadas também são do mesmo tipo que a requisição anterior.

Você pode conferir o que é cada um desses parâmetros direto na documentação completa da API GraphQL, no menu Docs do Altair. Se você não sabe como fazer isso, confira o nosso tutorial em Usando o Altair

Se o Altair não te ajuda para integrar com a API, confira alguns exemplos de como fazer essas requisições de outra forma: https://graphql.org/graphql-js/graphql-clients/

Last updated