{"id":16770188,"url":"https://github.com/alexandre-t/evcbundle","last_synced_at":"2025-08-08T12:14:29.092Z","repository":{"id":56944384,"uuid":"230489684","full_name":"Alexandre-T/EvcBundle","owner":"Alexandre-T","description":"Bundle to integrate EVC api","archived":false,"fork":false,"pushed_at":"2020-05-14T13:27:26.000Z","size":152,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T15:19:23.445Z","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/Alexandre-T.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}},"created_at":"2019-12-27T17:51:43.000Z","updated_at":"2023-03-10T12:04:55.000Z","dependencies_parsed_at":"2022-08-21T07:50:56.678Z","dependency_job_id":null,"html_url":"https://github.com/Alexandre-T/EvcBundle","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Alexandre-T/EvcBundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandre-T%2FEvcBundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandre-T%2FEvcBundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandre-T%2FEvcBundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandre-T%2FEvcBundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alexandre-T","download_url":"https://codeload.github.com/Alexandre-T/EvcBundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandre-T%2FEvcBundle/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269417867,"owners_count":24413474,"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-08T02:00:09.200Z","response_time":72,"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-10-13T06:23:08.056Z","updated_at":"2025-08-08T12:14:29.055Z","avatar_url":"https://github.com/Alexandre-T.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EvcBundle\n\nThis symfony bundle implements service to use the [evc.de](https://www.evc.de) API.\n\n\n# Installation\n\nMake sure Composer is installed globally, as explained in the\n[installation chapter](https://getcomposer.org/doc/00-intro.md)\nof the Composer documentation.\n\nApplications that use Symfony Flex\n----------------------------------\n\nOpen a command console, go to your symfony project directory and execute:\n\n```console\n$ composer require alexandret/evc-bundle\n```\n\nOpen env (or env.dist) file and search the new created lines to configure variable\n```\n###\u003e alexandret/evc-bundle ###\nEVC_API = ''\nEVC_USERNAME = ''\nEVC_PASSWORD = ''\n###\u003c alexandret/evc-bundle ###\n```\n\nLook at the configuration section for more explanation.\n\nApplications that don't use Symfony Flex\n----------------------------------------\n\n### Step 1: Download the Bundle\n\nOpen a command console, enter your project directory and execute the\nfollowing command to download the latest stable version of this bundle:\n\n```console\n$ composer require alexandret/evc-bundle\n```\n\n### Step 2: Enable the Bundle\n\nThen, enable the bundle by adding it to the list of registered bundles\nin the `config/bundles.php` file of your project:\n\n```php\n// config/bundles.php\n\nreturn [\n    // ...\n    Alexandre\\EvcBundle\\AlexandreEvcBundle::class =\u003e ['all' =\u003e true],\n];\n```\n\nOpen your `env` file and add the value of necessary configuration variables\n\n### Step 3: Create a alexandre_evc.yaml file\n\nCreate a `alexandre_evc.yaml` file under the config/packages subdirectory.\nThen copy and paste these lines:\n\n```yaml\n#config/packages/alexandre_evc.yaml\nalexandre_evc:\n  api_id: '%env(EVC_API)%'\n  username: '%env(EVC_USERNAME)%'\n  password: '%env(EVC_PASSWORD)%'\n```\n\nDo NOT replace env by your password. You have to configure your `.env` file as described in the below paragraph.\n\nConfiguration\n-------------\n\nEvcBundle needs data information. You shall complete them in your env file.\n\n* EVC_API: The api key provided by evc support\n* EVC_USERNAME: Your evc.de account number\n* EVC_PASSWORD: Your API password. This is **NOT** your evc.de account password. \nIt's a separate password that you get from the EVC office.\n\nHere is a sample:\n```dotenv\n###\u003e alexandret/evc-bundle ###\nEVC_API = sample_key\nEVC_USERNAME = my_name\nEVC_PASSWORD = my_password\n###\u003c alexandret/evc-bundle ###\n```\n\nHow to mock your requests to the API?\n-------------------------------------\nYou want to test your application with mocked customer and avoid to send data to the real evc.de API?\nBy default, our bundle is created to use a requester service that embed Unirest/Request. In your\n`config/package/dev` repository, add new lines at the end of the `service.yaml` file. (Do not hesitate to create\na new `service.yaml` file if there is no file yet. If you use flex to install this bundle, this is already done! :)\n\n```yaml\n# config/packages/dev/service.yaml\n# config/packages/test/service.yaml\nservices:\n    alexandre_evc_request:    \n        class: Alexandre\\EvcBundle\\Service\\EmulationService\n        arguments:\n            $api: '%env(EVC_API)%'\n            $username: '%env(EVC_USERNAME)%'\n            $password: '%env(EVC_PASSWORD)%'\n```\nInstead of calling the `RequesterService`, dev environment will use an `EmulationService`.\n\nThere is four declared customer.\n * `11111` is the identifier of a customer that does not exists. Use it when you want to test your application with a non-existent customer\n * `22222` customer exists, but he is not a personal user of your reseller. Use it when you want to test your application with a non-personal customer\n * `33333` customer exists and he is a personal user with 42 credits.\n * `44444` is a personal customer too. He has 42 credits too.\n * `55555` Each time you call the 55555 customer, Emulation service will throw a `NetworkException`to test your application as if evc API wasn't reachable.\n * `66666` Each time you call the 66666 customer, Emulation service will throw a `CredentialException` to test your application when your configuration is wrong.\n * `77777` Each time you call the 77777 customer, Emulation service will throw a `LogicException`. We do not think it is useful, but if you want to test. A logic exception could be throw if API changes or if the answer is truncated.\n \nExceptions\n----------\n * `NetworkException`: Network exceptions are thrown if evc.de is not reachable.\n * `CredentialException`: Credential exceptions are thrown when you do a misconfiguration on your evc.de credentials.\n * `LogicException`: Logical exceptions are thrown when evc.de is returning a not expected response. It could happen if there is a bug on this bundle, or if the api changes.\n * `EvcException`: The three previous exceptions inherits the `EvcException`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandre-t%2Fevcbundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandre-t%2Fevcbundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandre-t%2Fevcbundle/lists"}