OppiziDeveloper
Guides

Run an EDDM Campaign

Launch an Every Door Direct Mail (EDDM) campaign — target USPS carrier routes, pick a design, set details, and submit for review.

EDDM (Every Door Direct Mail) saturates every household on the USPS carrier routes you choose — no address list needed. Use it to blanket neighbourhoods around a store or across a city.

The flow mirrors ADM, but targeting is carrier routes / cities instead of an uploaded list:

  1. Create a draft campaign.
  2. Set targeting — the USPS carrier routes or cities to saturate.
  3. Select a design.
  4. Set details — mail-piece format and launch date.
  5. Submit for review.

Campaign creation always stops at In Review. Nothing is printed, mailed, or charged until the Oppizi team confirms it.

Prerequisites

export OPPIZI_CLIENT_KEY="YOUR_CLIENT_KEY"
export API="https://developer-api.oppizi.com"

The cities available for targeting are the ones on your account — read them with:

curl "$API/client/cities" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY"

Step 1 — Create a draft

curl -X POST "$API/client/campaigns" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Store opening saturation — EDDM",
    "type": "EDDM"
  }'
{
  "success": true,
  "data": { "id": "cmp_be07", "type": "EDDM", "status": "DRAFT" }
}

Step 2 — Set targeting (carrier routes / cities)

Point the campaign at the USPS carrier routes and/or cities you want to saturate:

curl -X POST "$API/client/campaigns/cmp_be07/targeting" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cityId": "cty_310",
    "carrierRoutes": ["C001", "C002", "C014"]
  }'

The number of households on the selected routes drives the quantity mailed and the price quote.

Step 3 — Select a design

curl "$API/client/designs" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY"

curl -X POST "$API/client/campaigns/cmp_be07/design" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "designId": "dsn_7781" }'

Step 4 — Set details

curl -X POST "$API/client/campaigns/cmp_be07/details" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "format": "POSTCARD_6x9",
    "startDate": "2026-08-15"
  }'

Step 5 — Submit for review

curl -X POST "$API/client/campaigns/cmp_be07/submit" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY"
{
  "success": true,
  "data": { "id": "cmp_be07", "status": "IN_REVIEW" }
}

The same flow via MCP

StepMCP tool
Create draftcreate_campaign
Carrier routes / citiesset_campaign_targeting
Designselect_campaign_design
Format & dateset_campaign_details
Submitsubmit_campaign

Just describe it:

"Set up an EDDM campaign around my downtown store, saturating the nearest carrier routes, using my Holiday postcard, launching next month — then submit it for review."

The assistant reads your available cities, fills each step, and stops at In Review. See Connect Claude or ChatGPT.

Next steps

On this page