Domonda API Specification
Switch branches/tags
Nothing to show
Clone or download
Latest commit fd99b8e May 23, 2018

README.md

DOMONDA API

The Domonda API is implemented using the GraphQL protocol: http://graphql.org/

Static documentation is available at: https://domonda.github.io/api/

For interactive access and documentation use the webbased GraphiQL: https://app.domonda.com/api/public/graphiql

You can provide a authentication token for authenticated access to your Domonda data. Without a valid token, demo data is provived by the API.

Alternatively you can use the desktop client Altair (https://altair.sirmuel.design/).

Authentication

Authentication is implemented via Bearer token. Replace API_KEY with your companies's API key. If you don't have one, request it from api@domonda.com

POST https://app.domonda.com/api/public/graphql

Authorization: Bearer API_KEY

For a full API specification see:

Basic usage

You can find all GraphQL query types in the generated documentation: https://domonda.github.io/api/doc/schema/query.doc.html.

Referenced fields always have an extra field for querying the actual data behind it.

If you want to query all documents with the additional information of the import user you can achieve this by using the field userByImportedBy which gets you the associated user.

{
  query{
    allDocuments{
      nodes{
        id
        userByImportedBy{
          firstName
          lastName
        }
      }
    }
  }
}

Example queries

Query all documents:

{
  allDocuments {
    nodes {
        id,
        type,
        categoryId,
        workflowStepId,
        importDate,
        periodDate,
        name,
        title,
        language,
        version,
        numPages,
        numAttachPages
    }
  }
}

Query all invoices:

{
  allInvoices {
    nodes {
      documentId,
      type,
      title,
      version,
      invoiceNumber,
      invoiceDate,
      net,
      total,
      vatPercent,
      vatId,
      currency,
      iban,
      bic,
      dueDate,
      paymentStatus,
      paidDate,
    }
  }
}

Query all delivery notes:

{
  allDeliveryNotes {
    nodes {
      documentId,
      type,
      version,
      partnerCompanyId,
      invoiceId,
      invoiceNumber,
      deliveryNoteNr,
      deliveryDate,
    }
  }
}

Quary all delivery note items:

{
  allDeliveryNoteItems {
    nodes {
      documentId,
      deliveryNoteNr,
      deliveryDate,
      posNr,
      quantity,
      productNr,
      eanNr,
      gtinNr,
      description,
    }
  }
}