Document the email service interface used by the Builder's server-side tRPC call. - Specify `POST /trpc/email.send`, bearer authorization, project-ID metadata, direct JSON input, attachment encoding, and the tRPC delivery-result envelope. - Document `TRPC_SERVER_API_TOKEN` and `EMAIL_SERVICE_URL`, including the current restriction to approved Webstudio Worker origins. The docs do not claim that an arbitrary self-hosted origin can be configured today. - Keep the endpoint contract focused on its external HTTP interface. Validation: - A clean-room implementation from the original REST wording returned 404 for the Builder's `/trpc/email.send` request. - I discarded it, revised the docs, then tested from scratch using the actual Builder `createCloudflareManagedFormEmailSenderWithUrl` helper from this PR head against a local fake tRPC endpoint. Success and delivery-failure responses passed; the emitted URL, method, headers, and direct JSON payload matched the contract. - Confirmed the actual Builder helper rejects an arbitrary self-hosted URL. The endpoint used a fake provider; no email was sent. - The focused SDK managed-form email suite passes: 57 tests. Documentation only; no deployment.
description
| description |
|---|
| New to Webstudio? |
👋 Welcome
Our getting started guide will help you navigate through building your first Webstudio website. It covers the essentials of creating web designs and integrating third-party tools. You'll learn how to utilize Webstudio's unique features like Design tokens and Components, and how to contribute to the project.
{% content-ref url="basics/building-your-first-site.md" %} building-your-first-site.md {% endcontent-ref %}
{% content-ref url="university/foundations/" %} foundations {% endcontent-ref %}
{% content-ref url="university/core-components/" %} core-components {% endcontent-ref %}
{% content-ref url="university/cli.md" %} cli.md {% endcontent-ref %}
{% content-ref url="university/inception.md" %} inception.md {% endcontent-ref %}
{% content-ref url="university/radix/" %} radix {% endcontent-ref %}
{% content-ref url="university/marketplace.md" %} marketplace.md {% endcontent-ref %}
{% content-ref url="university/self-hosting/" %} self-hosting {% endcontent-ref %}
{% content-ref url="university/how-tos/" %} how-tos {% endcontent-ref %}
{% content-ref url="university/integrations/" %} integrations {% endcontent-ref %}
{% content-ref url="university/craft.md" %} craft.md {% endcontent-ref %}
{% content-ref url="basics/FAQ.md" %} FAQ.md {% endcontent-ref %}
Looking to contribute to Webstudio?
{% content-ref url="contributing/contributions.md" %} contributions.md {% endcontent-ref %}
{% content-ref url="contributing/marketplace.md" %} marketplace.md {% endcontent-ref %}