> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# CEA- (Connecting external accounts)

> The tags for connected external accounts: show the buyer which social logins are linked to their customer account, and allow them to remove a link again.

Anyone who logs in to the shop via an external account links that account to their customer account. The same person can have several such links.

The tags with the prefix `CEA-` make these links visible and removable. They are spread across two templates: the customer account overview with the entry point, and the overview page of connected accounts with the actual list.

Guide: External login

## Two prerequisites

> [!WARNING]
>
> All tags in this group are only available for a logged-in buyer. Without login, they are invalid and return nothing, not even as a negative area tag.

> [!WARNING]
>
> In addition, `CEA-Data` only works over an encrypted connection. On a page without HTTPS, the tag is invalid and the list stays empty. All links generated by this group are complete HTTPS addresses.

## The entry point in the customer account

The customer account overview page (`ws_user_account.htm`) only shows the notice that links exist, together with a link to the list.

### CEA-Overview

Applies if at least one external account is connected.

### CEA-OverviewLink

Returns the address of the overview page. A single tag only.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{CEA-Overview}
   <a href="~CEA-OverviewLink~">Verbundene Konten ansehen</a>
{/CEA-Overview}

{!CEA-Overview}
   Es ist kein externes Konto mit Ihrem Kundenkonto verbunden.
{/!CEA-Overview}
```

> [!NOTE]
>
> The negative area is worthwhile. A buyer who only logs in with email address and password should not be sent to an empty page.

## The overview of connected accounts

The list is on its own template (`ws_connected_externaccounts.htm`).

### CEA-Data

The central tag, in three roles.

| Usage | Result |
| - | - |
| Single tag | the number of connected accounts |
| Area tag | applies if at least one is connected |
| Loop tag | runs over the connected accounts |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{CEA-Data}
   Mit Ihrem Kundenkonto sind ~CEA-Data~ externe Konten verbunden.

   <table>
      {@CEA-Data}
         <tr>
            <td>~CEA-LoginType~</td>
            <td>{CEA-AdditionalInfo}~CEA-AdditionalInfo~{/CEA-AdditionalInfo}</td>
            <td><a href="~CEA-DeleteLink~">Verbindung lösen</a></td>
         </tr>
      {/@CEA-Data}
   </table>
{/CEA-Data}

{!CEA-Data}
   Es ist kein externes Konto mit Ihrem Kundenkonto verbunden.
{/!CEA-Data}
```

### The details per link

| Tag | Returns |
| - | - |
| `CEA-LoginType()` | the type of external account |
| `CEA-AdditionalInfo` | the email address with which the external account was set up |
| `CEA-ID` | the unique identifier of the link |

> [!WARNING]
>
> These three tags only apply within the loop `{@CEA-Data}`. Outside of it, they are invalid because they lack the reference to the individual link.

> [!NOTE]
>
> `CEA-AdditionalInfo` can be empty. If someone set up their external account with a phone number instead of an email address, nothing is returned here. Therefore, bracket the field instead of leaving an empty table cell.

> [!NOTE]
>
> `CEA-ID` has no meaning for the buyer and does not belong in the display. The identifier is useful as a hook for CSS and JavaScript, for example to target a specific row.

### Distinguishing by account type

`CEA-LoginType()` accepts an account type as a parameter and thereby becomes an area tag: the area applies if the link is of this type.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@CEA-Data}
   {CEA-LoginType(facebook)}
      <img src="images/web/facebook.png" alt="Facebook">
   {/CEA-LoginType(facebook)}

   {!CEA-LoginType(facebook)}
      ~CEA-LoginType~
   {/!CEA-LoginType(facebook)}
{/@CEA-Data}
```

> [!NOTE]
>
> Without a parameter, the tag outputs the type as text. With a parameter, it compares and outputs nothing itself. This lets you set a separate logo for each provider without displaying the names from the database directly.

> [!WARNING]
>
> The previous documentation only lists `facebook` as a parameter value. The shop compares the parameter with the stored account type, and there are other providers for external login. Clarify which values occur in your shop with your WEBSALE contact before you check for them.

## Removing a connection

### CEA-DeleteLink

Returns the address via which the buyer removes the link. A single tag only, and only valid within the loop.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@CEA-Data}
   ~CEA-LoginType~
   <a href="~CEA-DeleteLink~">Verbindung lösen</a>
{/@CEA-Data}
```

> [!WARNING]
>
> The link removes the connection without confirmation. Build the confirmation yourself, either as a separate page or via JavaScript; otherwise, a misclick costs the buyer their login method.

> [!NOTE]
>
> The address contains an encrypted parameter that holds the account type and identifier. It cannot be built by hand, and a modified link is rejected. Therefore, always use the tag.

### The feedback

After removing the link, the buyer returns to the overview page. Two areas report the result there.

| Tag | Applies |
| - | - |
| `CEA-Delete_success` | if the link was removed |
| `CEA-Delete_error` | if an error occurred |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{CEA-Delete_success}
   <p class="hinweis">Die Verbindung wurde gelöst.</p>
{/CEA-Delete_success}

{CEA-Delete_error}
   <p class="fehler">Die Verbindung konnte nicht gelöst werden.</p>
{/CEA-Delete_error}
```

> [!NOTE]
>
> Both areas belong above the list, not below it. The buyer should see the feedback before reading the changed list.

## The tags at a glance

| Tag | Single tag | Area tag | Negative area tag | Loop tag |
| - | - | - | - | - |
| `CEA-Overview` | – | yes | yes | – |
| `CEA-OverviewLink` | yes | – | – | – |
| `CEA-Data` | yes | yes | yes | yes |
| `CEA-LoginType()` | yes | yes | yes | – |
| `CEA-AdditionalInfo` | yes | yes | yes | – |
| `CEA-ID` | yes | yes | yes | – |
| `CEA-DeleteLink` | yes | – | – | – |
| `CEA-Delete_success` | – | yes | yes | – |
| `CEA-Delete_error` | – | yes | yes | – |

### Where the tags belong

| Tag | Template |
| - | - |
| `CEA-Overview`, `CEA-OverviewLink` | Customer account overview page (`ws_user_account.htm`) |
| `CEA-Data`, `CEA-Delete_success`, `CEA-Delete_error` | Overview of connected external accounts (`ws_connected_externaccounts.htm`) |
| `CEA-LoginType()`, `CEA-AdditionalInfo`, `CEA-ID`, `CEA-DeleteLink` | Overview of connected external accounts, within the loop `{@CEA-Data}` |

## Related topics

* Guide: External login
* Guide: Login and registration
* Reference: Buttons for customer account and login
* Guide: Customer account


## Related topics

- [Customer, login, and customer account](https://dokumentation.websale.de/en/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/kunde-anmeldung-und-kundenkonto.md)
- [accounts - User accounts](https://dokumentation.websale.de/en/konfiguration/accounts-benutzerkonten.md)
- [Customer, login and account](https://dokumentation.websale.de/en/v8s/referenz/tags/ws/kunde-anmeldung-und-konto.md)
- [Connecting AI agents (MCP)](https://dokumentation.websale.de/en/ki-agenten-anbinden-mcp.md)
- [External services: Overview](https://dokumentation.websale.de/en/v8s/externe-dienste/externe-dienste.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.