Jump to main content

# Deliver

## Overview

The Deliver method is used as a subsequent call to the Generate request. This can be used to initiate the delivery of document packages to the Delivery Groups created through the Generate request (where DeliveryHold = True), or to request additional paper deliveries of the entire document package for specified recipients in the Deliver request.

## Deliver Request Considerations

- Simply submitting Deliver for a specific Generate Transaction ID will result in document packages being delivered in the manner Delivery Groups were created in the Generate call. This includes DirectToPaper for print fulfillment processing, OR Electronic or ElectronicWithESign for delivery through Wolters Kluwer Esign (WKES).
- To review Delivery Groups prior to submitting for Delivery users can review the response from the original Generate request, or make a GetGenerateResults or GetDeliverySetup Request.
- If Delivery Groups were not created in the Generate request, Recipient information will be required for a successful Deliver request.
- Submitting a Deliver request for a specific Generate Transaction ID will result in document packages being delivered respectively for all Delivery Groups created in the Generate request. There is not a way to limit delivery to occur for only some Delivery Groups on a given Transaction ID.

Table 1. Method
Method | URL | Description
--- | --- | ---
POST | /api/v1/Document/account/{accountId}/deliver | This POST method deliver documents to WKES either via paper or electronic delivery.

Table 2. Parameters
Name | Type | Constraints | Description
--- | --- | --- | ---
accountId | integer | required | The account used to associate to the request.
transactionIdentifier | string | required | A string identifying the transaction to be delivered
recipients | array | optional | A sequence of identifiers consisting of the recipient's address and delivery information. This should only be included for paper delivery requests.
returnAddress | returnAddress | optional | A sequence of identifiers consisting of the return address information. This is used as the return address on the envelope created in print fulfillment when submitting for DirectToPaper delivery. This should only be included for paper delivery requests.
passthroughIdentifier | string | optional | The PassthroughIdentifier is an optional user-defined generated parameter. This parameter is case-sensitive. The PassthroughIdentifier MUST be unique for each request within a single Account and API call. If a PassthroughIdentifier has been submitted previously for an account and exists in the database, Expere Document Services will return the original transaction ID. A new transaction ID will not be created. If the PassthroughIdentifier is passed in the request and the parameter is empty (null), Expere Document Services will process the request and return a new transaction ID.

## Sample Request

When submitting the request, `transactionIdentifier` is a required parameter; while `passthroughID`, `recipients`, and `returnAddress` are optional. See the sample below:

    Example:{
        "request": {
            "transactionIdentifier": "435780",
            "returnAddress": {
                "name": "Change Me",
                "addressLine1": "123 Moved",
                "addressLine2": "suite 101",
                "city": "Fargo",
                "state": "ND",
                "zip": "58102",
                "countryCode": "CCC"
            }
        }
    }

## Sample Response

    {
      "deliverySetupSuccess": "Successful",
      "passthroughIdentifier": "string",
      "message": "string",
      "transactionIdentifier": "string",
      "deliveryMode": "ImageOnly",
      "deliveryGroup": [
        {
          "name": "string",
          "addressLine1": "string",
          "addressLine2": "string",
          "city": "string",
          "state": "string",
          "zip": "string",
          "countryCode": "string",
          "mailingMethod": "USPSFirstClass",
          "discretePartyId": "string",
          "wkesId": "string",
          "groupId": "string",
          "documents": [
            {
              "docID": "string",
              "instanceDisplayName": "string"
            }
          ]
        }
      ]
    }