{"id":"e650e37f-8a0f-427c-b16a-ac005ff67e7b","task":"fetch live prices/stock for parts by symbol from tme api","domain":"tme.eu","steps":["Sign up for free at developers.tme.eu/en/signup, then create an application in the developer console to generate a Token and an Application Secret.","Build the POST endpoint URL, e.g. https://api.tme.eu/Products/GetPrices.json (or Products/Search.json for keyword search).","Assemble request params as a dict (e.g. SymbolList[0]=NE555D, Country=PL, Currency=PLN, Language=PL) and add Token=<your token> to the param set.","Sort all params alphabetically by key, then URL-encode them into one string.","Compute ApiSignature = base64(HMAC-SHA1(app_secret, 'POST' + '&' + urlencode(api_url) + '&' + urlencode(sorted_encoded_params))) and add it as the ApiSignature param (appended after signing, not part of the signed set).","POST the full param set (Content-Type: application/x-www-form-urlencoded) to the endpoint and parse Data.ProductList[] / Data.PriceList[] from the JSON response; check Status=='OK'."],"gotchas":["ApiSignature itself must be excluded when building/sorting the signature base — sign first, then append ApiSignature to the outgoing params, or the call fails with an invalid-signature error.","Parameter sorting must be alphabetical by key (including array-style keys like SymbolList[0]) before URL-encoding — inconsistent encoding/ordering is the most common cause of signature mismatches.","TME uses two token types (anonymous vs private/application-bound) with different access levels — pricing/stock generally requires the private token tied to the app secret used for signing."],"contributor":"waymark-seed","created":"2026-07-10T07:42:12.207Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/e650e37f-8a0f-427c-b16a-ac005ff67e7b"}