Skip to content

Commit 7e3ee69

Browse files
authored
Merge pull request #800 from ExpressionEngine/feature/7.dev/license-validation-docs
Added initial docs for License validation
2 parents 27bec92 + 846bc4c commit 7e3ee69

File tree

3 files changed

+113
-0
lines changed

3 files changed

+113
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!--
2+
This source file is part of the open source project
3+
ExpressionEngine User Guide (https://github.com/ExpressionEngine/ExpressionEngine-User-Guide)
4+
5+
@link https://expressionengine.com/
6+
@copyright Copyright (c) 2003-2024, Packet Tide, LLC (https://packettide.com)
7+
@license https://expressionengine.com/license Licensed under Apache License, Version 2.0
8+
-->
9+
10+
# Importing a License via the API
11+
12+
[TOC]
13+
14+
Importing a license into our system allows add-on developers to ensure that users who purchased their add-ons outside of our platform can validate their licenses. This documentation outlines the process for add-on developers to import licenses into our system.
15+
16+
## Requesting API Key
17+
18+
Before importing licenses, add-on developers must contact us to request an API key. The API key is necessary to authenticate requests made to our system. Once the API key is obtained, developers can proceed with the import process.
19+
20+
## API Endpoint
21+
22+
Add-on developers can import licenses by making a JSON POST request to the following API endpoint:
23+
24+
```
25+
POST https://expressionengine.com/vendor-api/import-license
26+
```
27+
28+
## Required Data
29+
30+
The following data fields are required when making a POST request to import a license:
31+
32+
- `auth_key`: This is the API key obtained from us. It is required for authentication purposes.
33+
- `addon_shortname`: The short name or identifier of the add-on for which the license is being imported.
34+
- `customer_name`: The name of the customer who purchased the license.
35+
- `email`: The email address of the customer.
36+
- `license_key`: The license key associated with the purchase.
37+
- `purchase_date`: The date when the license was purchased (format: 'YYYY-MM-DD').
38+
- `expiration_date`: The expiration date of the license (format: 'YYYY-MM-DD').
39+
40+
## Optional Fields
41+
42+
In addition to the required fields, developers may include optional fields in the POST request:
43+
44+
- `notes`: Any additional notes or information related to the license.
45+
- `price`: The price at which the license was purchased.
46+
47+
## Example Request
48+
49+
```json
50+
{
51+
"auth_key": "your_api_key",
52+
"addon_shortname": "your_addon_shortname",
53+
"customer_name": "John Doe",
54+
"email": "john.doe@example.com",
55+
"license_key": "ABC123XYZ",
56+
"purchase_date": "2024-01-15",
57+
"expiration_date": "2025-01-15",
58+
"notes": "This is a test license import.",
59+
"price": 49.99
60+
}
61+
```
62+
63+
## Response
64+
65+
Upon successful import, the API will return a response indicating the success status. If there are any errors or issues with the import request, appropriate error messages will be returned along with the response.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<!--
2+
This source file is part of the open source project
3+
ExpressionEngine User Guide (https://github.com/ExpressionEngine/ExpressionEngine-User-Guide)
4+
5+
@link https://expressionengine.com/
6+
@copyright Copyright (c) 2003-2024, Packet Tide, LLC (https://packettide.com)
7+
@license https://expressionengine.com/license Licensed under Apache License, Version 2.0
8+
-->
9+
10+
# License Validation
11+
12+
[TOC]
13+
14+
License validation is a feature designed to ensure that users of add-ons purchased through our platform comply with licensing agreements. It serves to remind users to purchase a license if they have forgotten to do so, facilitates add-on license renewal, and provides recommendations for license purchases to users who do not have one.
15+
16+
## Benefits
17+
- Reminder for License Purchase: Users who mistakenly forget to buy a license are notified through the control panel, prompting them to purchase a valid license. We also recommend licenses to users in their accounts on expressionengine.com if applicable.
18+
- Renewal Add-On Sales: Developers can create renewal add-on sales to keep add-on licenses up-to-date, ensuring continued support and updates.
19+
20+
## Application Process
21+
Third-party developers selling add-ons on our platform can enable license validation through their accounts on expressionengine.com. The following outlines the steps for enabling license validation:
22+
23+
- Log in to your account on expressionengine.com.
24+
25+
- Navigate to the "Manage Add-Ons" section.
26+
27+
- Under the "Your Add-Ons" section, click on "Apply to enable license validation" for the desired add-on.
28+
29+
## Terms and Conditions
30+
Before enabling license validation for an add-on, developers are required to agree to the following terms:
31+
32+
- Import Existing Sales: Developers must import all existing sales that occurred outside of expressionengine.com. This ensures that users who purchased the add-on elsewhere can validate their licenses. Failure to import all licenses may result in users seeing the add-on as "unlicensed" in their control panel. Existing sales can be imported by emailing a CSV to us, or through our [license import API.](development/license-validation/importing-licenses.md)
33+
34+
- Customer Notification: Developers must send an email to their customers informing them of the requirement to tie their licenses to an ExpressionEngine site on expressionengine.com. Users must log in to their accounts and attach their add-on purchases to a site license in the "Licenses" section. Failure to attach the license may result in the add-on appearing as "unlicensed" in their control panel.
35+
36+
- Frontend Disruption: License validation must not be used in a manner that disrupts the frontend of a website. Any visible impact on the frontend resulting from license validation is deemed inappropriate and against the agreed-upon use.
37+
38+
## Approval Process
39+
40+
Once the application for license validation is submitted, it will be reviewed by our team. The request may be approved or denied based on adherence to the outlined terms and conditions.
41+
42+
By adhering to the application process and terms outlined above, developers can enable license validation for their add-ons, ensuring compliance with licensing agreements and providing a seamless experience for users.

docs/toc_sections/_advanced_usage_toc.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,12 @@
633633
href: development/guidelines/view-php-syntax.md
634634
- name: Debugging
635635
href: development/debugging.md
636+
- name: License Validation
637+
items:
638+
- name: Overview
639+
href: development/license-validation/index.md
640+
- name: Importing Licenses Through the API
641+
href: development/license-validation/importing-licenses.md
636642
- name: v3 Add-on Migration
637643
href: development/v3-add-on-migration.md
638644
- name: v4 Add-on Migration

0 commit comments

Comments
 (0)