{"id":21740534,"url":"https://github.com/writecrow/rest_feedback_endpoint","last_synced_at":"2026-04-16T14:01:58.850Z","repository":{"id":39669195,"uuid":"301008821","full_name":"writecrow/rest_feedback_endpoint","owner":"writecrow","description":"Drupal module for receiving \u0026 emailing feedback form data from a front end","archived":false,"fork":false,"pushed_at":"2023-07-09T01:33:08.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-25T21:27:47.733Z","etag":null,"topics":["drupal","rest"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/writecrow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-10-04T00:21:50.000Z","updated_at":"2023-07-18T09:03:23.000Z","dependencies_parsed_at":"2024-11-15T00:46:02.072Z","dependency_job_id":"9290f0e0-971c-40ce-86d0-3051f64f2510","html_url":"https://github.com/writecrow/rest_feedback_endpoint","commit_stats":{"total_commits":12,"total_committers":2,"mean_commits":6.0,"dds":0.08333333333333337,"last_synced_commit":"f89d23d0c1db03780ea910c173c827bc1ad2a024"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/writecrow%2Frest_feedback_endpoint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/writecrow%2Frest_feedback_endpoint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/writecrow%2Frest_feedback_endpoint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/writecrow%2Frest_feedback_endpoint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/writecrow","download_url":"https://codeload.github.com/writecrow/rest_feedback_endpoint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244717338,"owners_count":20498284,"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","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":["drupal","rest"],"created_at":"2024-11-26T06:13:54.425Z","updated_at":"2026-04-16T14:01:53.794Z","avatar_url":"https://github.com/writecrow.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Feedback Endpoint\nThis module provides a REST resource endpoint for receiving a POST request and sending an email with the content provided. The example in this module demonstrates feedback form content, but the `SubmitIssue` endpoint can serve as a model for other types of endpoints.\n\n## Recommended setup\n1. Use the `simple_oauth` module\n2. Enable Drupal core's `rest_ui` module.\n3. Go to `/admin/config/services/rest` and enable the \"Submit an issue\" endpoint:\n    - Granularity: Resource\n    - Method: POST\n    - Accepted request formats: json, xml\n    - Authentication providers: oauth2\n4. Set permission for which role(s) may access the endpoint at `/admin/people/permissions#module-rest`\n5. Ensure that your endpoint can be reached by configuring your `services.yml` file:\n\n```\ncors.config:\n  enabled: true\n  # Specify allowed headers, like 'x-allowed-header'.\n  allowedHeaders: ['x-csrf-token','authorization','content-type','accept','origin','x-requested-with', 'access-control-allow-origin','x-allowed-header']\n  # Specify allowed request methods, specify ['*'] to allow all possible ones.\n  allowedMethods: ['GET', 'POST']\n  # Configure requests allowed from specific origins (ideally, limit this to the expected origins)\n  allowedOrigins: ['*']\n  # Sets the Access-Control-Expose-Headers header.\n  exposedHeaders: false\n  # Sets the Access-Control-Max-Age header.\n  maxAge: false\n  # Sets the Access-Control-Allow-Credentials header.\n  supportsCredentials: false\n```\n\nIf replicating the original demonstration `SubmitIssue`, pay close attention to the annotation, which defines the\nroute, and must follow an idiosyncratic format to work with POST requests (see https://www.drupal.org/forum/support/post-installation/2017-02-21/post-return-no-route-found-error-while-get-request-is):\n\n```\n * @RestResource(\n *   id = \"feedback_endpoint_bug_report\",\n *   label = @Translation(\"Submit an issue\"),\n *   uri_paths = {\n *    \"canonical\" = \"/submit-issue\",\n *    \"create\" = \"/submit-issue\"\n *   }\n * )\n ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwritecrow%2Frest_feedback_endpoint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwritecrow%2Frest_feedback_endpoint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwritecrow%2Frest_feedback_endpoint/lists"}