{"id":21890902,"url":"https://github.com/statikbe/craft-flexmail","last_synced_at":"2025-08-12T05:07:27.177Z","repository":{"id":57059248,"uuid":"426630386","full_name":"statikbe/craft-flexmail","owner":"statikbe","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-08T11:31:42.000Z","size":56,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":7,"default_branch":"develop","last_synced_at":"2025-07-08T12:41:10.438Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/statikbe.png","metadata":{"files":{"readme":"README.MD","changelog":"CHANGELOG.MD","contributing":null,"funding":null,"license":"LICENSE.MD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-11-10T13:22:19.000Z","updated_at":"2025-07-08T11:31:26.000Z","dependencies_parsed_at":"2025-04-16T08:37:59.667Z","dependency_job_id":null,"html_url":"https://github.com/statikbe/craft-flexmail","commit_stats":{"total_commits":38,"total_committers":3,"mean_commits":"12.666666666666666","dds":"0.13157894736842102","last_synced_commit":"d44b65ea28115f4d99a4657bd36012a04afa23a5"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/statikbe/craft-flexmail","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-flexmail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-flexmail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-flexmail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-flexmail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/statikbe","download_url":"https://codeload.github.com/statikbe/craft-flexmail/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-flexmail/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270005591,"owners_count":24510939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-28T12:18:08.952Z","updated_at":"2025-08-12T05:07:27.158Z","avatar_url":"https://github.com/statikbe.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flexmail for Craft CMS\n\nThis plugin integrates the [Flexmail REST API](https://api.flexmail.eu/documentation/#overview) into Craft CMS. The first version will focus on adding contacts, and assigning preferences \u0026 interests.\n\n## Installation\n\nTo install the plugin, follow these instructions:\n\n```console\ncd /path/to/project\ncomposer require statikbe/craft-flexmail\n./craft  plugin/install flexmail\n```\n\n## Settings\nThe plugin has the following settings:\n- API username (`apiUsername`)\n- API token (`apiToken`)\n- Default contact source (`defaultSource`) (read more about Flexmail sources [here](https://en.support.flexmail.eu/article/291-about-sources))\n\nThe default contact source can be set in settings, or you can set in template using a hidden ``source`` field.\n\n## Usage\n\nBy default, a contact in Flexmail has the following fields ([API docs](flexmail)):\n- Email (required)\n- First name\n- Last name\n- Language (required)\n\n\n### Basic subscribe form\n`````html\n \u003cform method=\"post\"\u003e\n    {{ actionInput('flexmail/contacts/add') }}\n    {{ csrfInput() }}\n    \u003cdiv\u003e\n        \u003clabel for=\"email\"\u003eE-mail\u003c/label\u003e\n        \u003cinput type=\"email\" name=\"email\" id=\"email\"\u003e\n    \u003c/div\u003e\n    \u003cdiv\u003e\n        \u003clabel for=\"firstName\"\u003eFirst name\u003c/label\u003e\n        \u003cinput type=\"text\" name=\"firstName\" id=\"firstName\"\u003e\n    \u003c/div\u003e\n    \u003cdiv\u003e\n        \u003clabel for=\"lastName\"\u003eLast name\u003c/label\u003e\n        \u003cinput type=\"text\" name=\"lastName\" id=\"lastName\"\u003e\n    \u003c/div\u003e\n    \u003cinput type=\"submit\" value=\"Subscribe\"\u003e\n\u003c/form\u003e\n\n`````\n\n### Subscribe form with custom fields\nFlexmail custom fields can be added in the ``fields`` namespace. \nFor example ``fields[city]``, where \"city\" is the handle of the custom field in Flexmail.\n\n`````html\n \u003cform method=\"post\"\u003e\n    {{ actionInput('flexmail/contacts/add') }}\n    {{ csrfInput() }}\n    \u003cdiv\u003e\n        \u003clabel for=\"email\"\u003eE-mail\u003c/label\u003e\n        \u003cinput type=\"email\" name=\"email\" id=\"email\"\u003e\n    \u003c/div\u003e\n\n    \u003cdiv\u003e\n        \u003clabel for=\"custom\"\u003eYour organisation\u003c/label\u003e\n        \u003cinput type=\"text\" name=\"fields[organisation]\" id=\"custom\"\u003e\n    \u003c/div\u003e\n    \u003cinput type=\"submit\" value=\"Subscribe\"\u003e\n\u003c/form\u003e\n`````\n\n### Subscribe form with  interests\nFlexmail is 2 ways to segment or add metadata to contacts: interests.\nThese can be added by using ``labels[]`` and ``preferencs[]`` respectivly. \n\nIt's important to note that the values for these need to be **the ID of that item in Flexmail**.\n\n`````html\n \u003cform method=\"post\"\u003e\n        {{ actionInput('flexmail/contacts/add') }}\n        {{ csrfInput() }}\n        \u003cdiv\u003e\n            \u003clabel for=\"email\"\u003eE-mail\u003c/label\u003e\n            \u003cinput type=\"email\" name=\"email\" id=\"email\"\u003e\n        \u003c/div\u003e\n\n        // Interests\n        \u003cinput type=\"checkbox\" name=\"interests[]\" value=\"interestId\"\u003e\n\n        \u003cinput type=\"submit\" value=\"Subscribe\"\u003e\n    \u003c/form\u003e\n`````\n\nInterests can be imported and refresh from the API through a Utility.\n\n## Fields\n\nThe plugin includes fields for interests that are defined in your Flexmail account.\n\nThe idea here is that you can create an interest for contacts that subscribe from a specific page/product/etc.\n\nThis field will use the imported interests.\n\n## Helpers\n\nFlexmail uses ID's for most things (sources, labels, preferences) but those ID's are not exposed in the webpages.\n\nYou can use these console command to list each of these, they will return all items with their ID and label\n\n    flexmail/debug/get-interest\n    flexmail/debug/get-sources","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatikbe%2Fcraft-flexmail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatikbe%2Fcraft-flexmail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatikbe%2Fcraft-flexmail/lists"}