Buerklin provider
This pull request implements the Buerklin API and as Information Provider that also implements the BatchInfoProviderInterface. Bürklin also offers an API. (Apply here: https://www.buerklin.com/de/services/eprocurement/) Authorization works via Bearer Token that is requested via a POST-action to https://www.buerklin.com/authorizationserver/oauth/token/ and the following parameters: client_id:cws-client client_secret:{{PROVIDER_BUERKLIN_SECRET}} grant_type:password username:{{PROVIDER_BUERKLIN_USERNAME}} password:{{PROVIDER_BUERKLIN_PASSWORD}}
There are only two GET-actions available:
Product search (example with the part number 66S447): https://www.buerklin.com/buerklinws/v2/buerklin/products/66S447/?curr=EUR&language=de Free text search (example with the query string 'Resistor'): https://www.buerklin.com/buerklinws/v2/buerklin/products/search/?curr=EUR&language=en&pageSize=50¤tPage=0&query=Resistor&sort=relevance I would set the parameters curr and language via PROVIDER_BUERKLIN_CURRENCY and PROVIDER_BUERKLIN_LANGUAGE.
Bürklin supplies a postman collection which I used to test the API and reverse engineer. For reference: https://github.com/Part-DB/Part-DB-server/discussions/868
Codecov Report
:x: Patch coverage is 66.99346% with 101 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 58.41%. Comparing base (98b8c5b) to head (c28c9b1).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| .../InfoProviderSystem/Providers/BuerklinProvider.php | 66.99% | 101 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## master #1151 +/- ##
============================================
+ Coverage 58.31% 58.41% +0.10%
- Complexity 7294 7384 +90
============================================
Files 580 581 +1
Lines 23207 23513 +306
============================================
+ Hits 13534 13736 +202
- Misses 9673 9777 +104
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.