# Dpd2

DPD is a digital product delivery platform for selling ebooks, software, music, and other digital goods.

- **Category:** ecommerce
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 8
- **Triggers:** 0
- **Slug:** `DPD2`
- **Version:** 20260312_00

## Tools

### Get Storefront

**Slug:** `DPD2_GET_STOREFRONT`

Retrieves detailed information about a specific DPD storefront by its ID. Returns storefront configuration including name, URL, contact details, currency, type, and subdomain. Use this after obtaining a storefront ID from DPD2_LIST_STOREFRONTS or when you need to fetch current metadata for a known storefront.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The numeric storefront ID to retrieve. Obtain this from DPD2_LIST_STOREFRONTS or use a known storefront ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List DPD Customers (Filtered)

**Slug:** `DPD2_LIST_CUSTOMERS2`

Tool to list customers in your DPD account with advanced filtering. Use when you need to find customers by email, name, product purchases, newsletter subscription status, or creation date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Customer email (startswith match, not case sensitive). Use to find customers by email prefix. |
| `date_max` | string | No | Customer created before this date (PHP strtotime format, e.g., 'YYYY-MM-DD', '1 week ago', 'yesterday'). Use to filter customers created before a specific date. |
| `date_min` | string | No | Customer created after this date (PHP strtotime format, e.g., 'YYYY-MM-DD', '2 weeks ago', 'last Monday'). Use to filter customers created after a specific date. |
| `last_name` | string | No | Customer last name (startswith match). Use to find customers by last name prefix. |
| `first_name` | string | No | Customer first name (startswith match). Use to find customers by first name prefix. |
| `product_id` | integer | No | Product ID that the customer has purchased. Use to find customers who bought a specific product. |
| `receives_newsletters` | boolean | No | Whether customer receives email from product updates. Use true to find subscribed customers, false for unsubscribed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List DPD Purchases

**Slug:** `DPD2_LIST_PURCHASES`

Tool to list all purchases made through your DPD account. Use when you need to retrieve purchase records with optional date filters and pagination for reporting or analysis.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for results pagination (default 1) |
| `limit` | integer | No | Number of purchases to return (max 1000) |
| `since` | string | No | Only include purchases made on or after this date (YYYY-MM-DD) |
| `until` | string | No | Only include purchases made on or before this date (YYYY-MM-DD) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Storefronts

**Slug:** `DPD2_LIST_STOREFRONTS`

Tool to list all storefronts in your DPD account. Use after authenticating to fetch storefront details before managing products or purchases.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscribers

**Slug:** `DPD2_LIST_SUBSCRIBERS`

Tool to list subscribers for a given storefront. Use when you need a paginated and filtered list of subscribers after storefront setup.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve (>=1). |
| `email` | string | No | Filter by subscriber email address. |
| `since` | string | No | Only return subscribers added or updated since this ISO8601 timestamp. |
| `filter` | string | No | Additional filter expression. |
| `per_page` | integer | No | Number of subscribers per page. |
| `storefront_id` | string | Yes | Storefront ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### DPD: Ping API

**Slug:** `DPD2_PING`

Tool to ping the API to check its status. Use when verifying API connectivity before further operations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Verify DPD IPN Notification

**Slug:** `DPD2_VERIFY_NOTIFICATION2`

Tool to verify a POST from the URL integration (IPN/webhook). POST all parameters that were POSTed to your site to confirm authenticity. Use after receiving an IPN notification to validate it came from DPD.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax` | string | No | Total tax amount |
| `txn_id` | string | Yes | Unique identifier for the purchase/transaction |
| `discount` | string | No | The discount (coupon) amount applied to the order |
| `mc_gross` | string | No | Total amount of payment |
| `coupon_code` | string | No | The coupon code used on the order, if any |
| `mc_currency` | string | No | Currency of the total amount |
| `mc_shipping` | string | No | Total shipping cost |
| `verify_sign` | string | No | Verification signature from the original notification |
| `shipping_method` | string | No | Shipping method used |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Verify Subscriber

**Slug:** `DPD2_VERIFY_SUBSCRIBER`

Tool to verify a subscriber's subscription status. Use when you need to check if a subscriber is active and receiving service. Either username (email) or subscriber ID must be provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | No | Subscriber ID. Either username or subscriber_id must be provided. |
| `username` | string | No | Username (the subscriber's email address). Either username or subscriber_id must be provided. |
| `storefront_id` | integer | Yes | The numeric storefront ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
