OppiziDeveloper
API ReferencePricing

Quote an EDDM campaign

POST
/client/calculators/eddm

Prices an Every Door Direct Mail campaign from a mail-piece format and a volume. No campaign needed, and nothing is saved.

Pass format explicitly. Leaving it out quotes the smallest size, while campaign creation defaults EDDM to BEST_SELLER — so an unconfirmed size gives you a quote that will not match the campaign you go on to build. The response flags this.

A volume below the smallest pricing tier is priced at that tier: the price is real, but it is not the rate for the volume you asked for, and the response says which tier produced it.

Authorization

ClientBearer
AuthorizationBearer <token>

Client-scoped key as a Bearer JWT; always pinned to your own client.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/client/calculators/eddm" \  -H "Content-Type: application/json" \  -d '{    "volume": null  }'
{  "success": true,  "data": {    "currency": "USD",    "format": "SMALL",    "volume": 300,    "perUnitPrice": 0.42,    "total": 126,    "tierApplied": {      "key": 1000,      "perUnitPrice": 0.42    },    "tierBasis": "floor",    "minimumVolume": 1000,    "complete": false,    "adjustments": [      {        "code": "BOUND_APPLIED",        "field": "volume",        "requested": 300,        "applied": 1000,        "affects": [          "perUnitPrice",          "total"        ],        "detail": "300 pieces is below the 1,000-piece minimum, so this is priced at the 1,000-piece rate."      }    ],    "note": "300 pieces is below the 1,000-piece minimum…"  }}
Empty
Empty
Empty
Empty
Empty