> For the complete documentation index, see [llms.txt](https://dynamite-1.gitbook.io/dynamite/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dynamite-1.gitbook.io/dynamite/site-guides/jd-williams-group.md).

# JD Williams Group

## JD Williams & Jacamo & Simply Be Site Guide

Card Supported. Both JD Williams, Jacamo, and Simply Be share the same setup and task format.

***

### Task File Configuration (tasks.csv)

#### Required Columns

| Column            | Description                                                                                                                |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **mode**          | `NORMAL` or `SEARCH`                                                                                                       |
| **keywords**      | Required for SEARCH mode only (e.g. `+pokemon,+ascended`)                                                                  |
| **product\_url**  | Required for NORMAL mode. Full URL from jdwilliams.co.uk, jacamo.co.uk, or simplybe.co.uk. Site is auto-detected from URL. |
| **quantity**      | Number of items                                                                                                            |
| **profile\_name** | Must match a profile name in profiles.csv                                                                                  |
| **payment\_type** | `card`                                                                                                                     |
| **account**       | Optional. Email from accounts.csv. Leave empty to use a random account.                                                    |
| **site**          | Required for SEARCH mode only. `jdwilliams` or `jacamo`                                                                    |

#### Modes

**NORMAL Mode**\
Direct product URL checkout. Site is auto-detected from the URL.

**SEARCH Mode**\
Searches by keywords and adds the first matching product. Requires `keywords` and `site` columns.

***

### Account Setup (accounts.csv)

| Column               | Description                                                                                            |
| -------------------- | ------------------------------------------------------------------------------------------------------ |
| **email**            | Account email address                                                                                  |
| **password**         | Account password                                                                                       |
| **customAppSession** | Auto-filled by login (leave empty)                                                                     |
| **linked\_profile**  | Profile name from profiles.csv for checkout                                                            |
| **imap**             | Optional. Email from imap.csv for automatic OTP fetch during login. Leave empty to enter OTP manually. |

***

### IMAP Setup (Account Login)

When logging in, JD Williams may send an OTP (one-time code) to the account email. You can either:

1. **Manual**: Enter the OTP code when prompted (leave `imap` column empty in accounts.csv)
2. **Automatic**: Use IMAP to auto-fetch the OTP from the inbox

#### Enabling IMAP Auto-OTP

1. **Add the `imap` column to accounts.csv** (if not already present)
2. **Set the `imap` value** to the email address that can receive and read emails sent to the account
   * For the same email: e.g. account `user@gmail.com` logs in → OTP sent to `user@gmail.com` → set `imap` to `user@gmail.com`
   * For catchall: use the inbox email that receives forwards from the catchall
3. **Create imap.csv** in `sites/jdwilliams/` with IMAP credentials

#### imap.csv Format

| Column       | Description                                                          |
| ------------ | -------------------------------------------------------------------- |
| **email**    | Full email address (must match the `imap` value in accounts.csv)     |
| **password** | **App password** for the provider (not the regular account password) |

#### App Passwords by Provider

| Provider                     | How to Get App Password                                                    |
| ---------------------------- | -------------------------------------------------------------------------- |
| **Gmail**                    | Google Account → Security → 2-Step Verification → App passwords → Generate |
| **Outlook / Hotmail / Live** | Microsoft account → Security → Advanced security → App passwords           |
| **Yahoo**                    | Yahoo Account → Security → Generate app password                           |
| **iCloud**                   | Apple ID → Sign-In and Security → App-Specific Passwords                   |

#### Supported Email Providers (Auto-detected)

* Gmail (`@gmail.com`)
* Outlook / Hotmail / Live (`@outlook.com`, `@hotmail.com`, `@live.com`)
* Yahoo (`@yahoo.com`, `@yahoo.co.uk`)
* iCloud (`@icloud.com`, `@me.com`, `@mac.com`)

#### Example accounts.csv with IMAP

```csv
email,password,customAppSession,linked_profile,imap
user@gmail.com,MyPassword123,,wise,user@gmail.com
```

#### Example imap.csv

```csv
email,password
user@gmail.com,abcd efgh ijkl mnop
```

> **Note:** The IMAP account must be able to read emails sent **to** the JD Williams account email. For Gmail/Outlook, the OTP is sent to the same address you log in with, so use the same email in both `imap` and in the account row.

***

### Profile Setup (profiles.csv)

`profiles.csv` is in the root folder.

**Required columns:** `profile_name`, `first_name`, `last_name`, `address1`, `city`, `state`, `zipcode`, `country`, `phone`, `email`, `card_number`, `exp_month`, `exp_year`, `cvv`

***

### Example Task Entries

#### NORMAL mode - JD Williams (mode can be empty, defaults to NORMAL)

```csv
mode,keywords,product_url,quantity,profile_name,payment_type,account,site
,,https://www.jdwilliams.co.uk/shop/p/tr127,1,wise,card,,
```

#### NORMAL mode - Jacamo

```csv
mode,keywords,product_url,quantity,profile_name,payment_type,account,site
,,https://www.jacamo.co.uk/shop/p/abc123,1,wise,card,,
```

#### SEARCH mode - JD Williams

```csv
mode,keywords,product_url,quantity,profile_name,payment_type,account,site
search,+pokemon,+ascended,,1,wise,card,,jdwilliams
```

#### SEARCH mode - Jacamo

```csv
mode,keywords,product_url,quantity,profile_name,payment_type,account,site
search,+nike,+trainers,,1,wise,card,,jacamo
```

***

### Account Generator (Option 4)

Creates new accounts and appends them to accounts.csv. Uses `accountgen.csv` in `sites/jdwilliams/`. Supports `proxies.txt` for proxy rotation. On failure, retries with a new session and proxy until success.

#### accountgen.csv

| Column      | Description                                                                                                          |
| ----------- | -------------------------------------------------------------------------------------------------------------------- |
| **email**   | Catchall: use `@domain.com` to generate random local parts (e.g. `abc123@domain.com`). Each row gets a unique email. |
| **profile** | Profile name for the new account                                                                                     |

#### Example accountgen.csv

```csv
email,profile
@catchall.com,rev
user@example.com,wise
```

#### Flow

1. Add rows to `accountgen.csv` (email + profile)
2. Run **Account Generator (Option 4)** from the JD Williams menu
3. Accounts are created and saved to accounts.csv
4. Run **Account Login Mode (Option 3)** to log in and save cookies for checkout

***

### Notes

* Run **Account Login Mode (Option 3)** first to save cookies for each account
* All site files go in `sites/jdwilliams/` for both JD Williams and Jacamo
* **NORMAL mode**: site is taken from the product URL
* **SEARCH mode**: you must set the `site` column
* With IMAP configured, OTP codes are fetched automatically during login; otherwise, you enter them manually when prompted
