We've improved our Send a Document request by adding the possibility to set a sender. You can set a sender with an email address or membership_id.

{
  "sender":{
    "membership_id":"QMDSzwabfFzTgjW6KijHyu"
  },
  "message": "Hello! This document was sent from the PandaDoc API.",
  "subject": "Please check this test API document from PandaDoc",
  "silent": false
}
{
  "sender":{
    "email":"[email protected]"
  },
  "message": "Hello! This document was sent from the PandaDoc API.",
  "subject": "Please check this test API document from PandaDoc",
  "silent": false
}

We've improved our Link to CRM and from now on it's called Link Service. The main difference is the possibility to link your documents to any provider/entity type.

Please be informed that we've added shared links for each recipient to Send Document, Document Details, and On Document Status Change responses.

Now you don't need to send documents via email ("silent": true) to provide all functionality of the recipient's view.

"recipients": [
        {
            "id": 118590764,
            "first_name": "Josh",
            "last_name": "Ron",
            "email": "[email protected]",
            "recipient_type": "signer",
            "signing_order": null,
            "shared_link": "https://app.pandadoc.com/document/f7ea21ae675b1712db7b942da65de3b828a4a43c"
        }
    ]

We're pleased to announce that we've delivered data merge feature for pricing tables via API. Now you can work with pricing tables via API in a more flexible way and prefill all types of columns.

Frequently, our customers need to name columns in the pricing table according to names in their system and that's where data merge may help. The data merge feature is available by default and the only thing you need to do is enable it in API as well.

Here is how you can check what names your columns have with the data merge feature by default and change them.

2868

Template -> Pricing Table Settings -> Set up data merge

1900

Column names for API are presented on the left

To use these column names instead of default ones you need to add the data_merge boolean parameter as true (false by default) into the pricing table object of the Create Document from PandaDoc Template request body and use them in the data section.

"pricing_tables": [
        {
            "name": "Pricing Table 1",
            "data_merge":true,
            "options": {
                "discount": {
                    "type": "absolute",
                    "name": "Discount",
                    "value": 2.26
                }
            },
            "sections": [
                {
                    "title": "Sample Section",
                    "default": true,
                    "rows": [
                        {
                            "options": {
                                "optional": true,
                                "optional_selected": true,
                                "qty_editable": true
                            },
                            "data": {
                                "Name": "Toy Panda",
                                "Description": "Fluffy!",
                                "Price": 10,
                                "QTY": 3,
                                "SKU":"TEST1",
                                "Tax": {
                                    "value": 7.5,
                                    "type": "percent"
                                },
                                "CustomText":"testcolumn"
                            },
                            "custom_fields": {
                                "Fluffiness": "5 / 5"
                            }
                        }
                    ]
                }
            ]
        }
    ]

As a result, all values from the document creation request will be properly matched with columns in the pricing table of the newly created document.

2854

Document -> Pricing Table

For more information on how to add and set your pricing table, visit our help center. You will also discover ways your recipients can interact with the pricing table. This is a fun feature you’ll want to explore more!

We're happy to announce that Field ID and Type are now available in the Document Details, Template Details, Content Library Item Details, and Webhooks.

Field ID parameter is unique across a document, so now it's possible to reference exactly the field you need.
Type parameter helps to process field values in different ways according to their types.

"fields": [
    {
      "field_id": "VAT_field",
      "type": "text",
      "uuid": "9330094d-cea5-46cf-869e-058b18a5ae15",
      "name": "vat_number",
      "title": "",
      "placeholder": "VAT number",
      "value": "CY99999999L",
      "merge_field": "vat_number"
    }
  ]

Currently available field types are:

  • text
  • dropdown
  • date
  • checkbox
  • signature
  • initials
  • collect_file

We're pleased to announce filtering options by document owner and recipients/approver in the List Documents.
Now you can easily filter documents by:

  • membership_id (several parameters are allowed) for document owner. You can find it in the List Members.
  • contact_id for a recipient or approver. You can find it in the List Contacts.

See the full list of query parameters for filtering in the List Documents section.

Filter by contact_id:

  • https://api.pandadoc.com/public/v1/documents?contact_id=TyVJD8phcyXrGGXBSfgcwd

Filter by membership_id:

  • https://api.pandadoc.com/public/v1/documents?membership_id=XGgtcUP85DuUjqu7j5LoPL

Filter by several membershi_ids

  • https://api.pandadoc.com/public/v1/documents?membership_id=XGgtcUP85DuUjqu7j5LoPL&membership_id=TyVJD8phcyXrGGXBSfgcwd

As you may know, we've delivered document bundling and document transaction.

  • Document bundling allows you to group multiple documents, send and track them all at once, within a single transaction. Please be informed that we don't support document bundling via API at the moment.
  • Document transaction is the dispatch of either one or multiple documents that have been bundled together, as part of the same agreement process.

Please find more details here.

📘

What is a Document Transaction?

Basically, document transaction=document with a single or a few documents inside.

In this topic, you may find new possibilities and restrictions for the API. Your current API integrations will work in the same manner without any changes on your end.

Method

Multiple documents in a document transaction supported?

  • *GET** List Documents

Yes

  • *POST** Create Document from PandaDoc Template

Partially (see details below)

  • *POST** Create Document from PDF

No (only a single document is allowed)

  • *GET** Document Status

Yes

  • *GET** Document Details

Yes

  • *POST** Send Document

Yes

Share Document

Yes

  • *GET** Download Document

Yes

  • *DELETE** Delete Document

Yes

Link to CRM

Yes

Document Attachments

No (attachments allowed for a single document only)

  • *PATCH** Change Document Status (manually)

Yes

  • *PATCH** Update Document Ownership

Yes

  • *PATCH** Transfer All Documents Ownership

Yes

  • List Documents - includes all documents transactions no matter how many documents are inside each of them.
  • Create Document from PandaDoc Template - you can create a document transaction from a template. The only thing that is not supported yet is a set of documents' names in the document transaction.
2866