Conversation
markappmedia
commented
Jan 30, 2026
|
Hi @markappmedia, I am moving this to draft mode for now as this PR is incomplete. Please follow the Prebid Server - New Bid Adapter (Go) docs to build your adapter. If this is a white-label solution or meant to be an alias of another adapter, please add the |
|
Hi, @bsardo! Please check my changes based on your review |
| @@ -0,0 +1,17 @@ | |||
| aliasOf: "teqblaze" | |||
There was a problem hiding this comment.
Is there any relation of harion with teqblaze?
There was a problem hiding this comment.
@karwaankit32 TeqBlaze is a technology provider and white-labeling solution. You'll see that static/bidder-info/teqblaze.yaml has the whiteLabelOnly annotation which indicates that TeqBlaze does not bid but can be aliased.
| @@ -0,0 +1,17 @@ | |||
| aliasOf: "teqblaze" | |||
| endpoint: "https://east-api.harion-ma.com/pserver" | |||
There was a problem hiding this comment.
curl -s -X POST "https://east-api.harion-ma.com/pserver" -H "Content-Type: application/json" -d '{"id":"1234","imp":[{"id":"imp1234"}]}' -w "\n\nHTTP_STATUS=%{http_code}\n"
HTTP_STATUS=204
Was able to successfully hit the endpoint
There was a problem hiding this comment.
Was also able to start-up the server and hit a dummy auction request
Request -
{ "id": "some-request-id", "test": 1, "site": { "publisher": { }, "page": "prebid.org" }, "imp": [ { "id": "some-impression-id", "banner": { "format": [ { "w": 600, "h": 500 }, { "w": 300, "h": 600 } ] }, "ext": { "harion": { "placementId": "123" } } } ], "device": { "ip": "1.1.1.1" }, "regs": { "ext": { "gdpr": 0 } }, "user": { "id": "my-user-id", "buyeruid": "my-buyer-uid" }, "tmax": 500 }
Response :
{ "id": "some-request-id", "ext": { "debug": { "httpcalls": { "harion": [ { "uri": "https://east-api.harion-ma.com/pserver", "requestbody": "{\"id\":\"some-request-id\",\"imp\":[{\"id\":\"some-impression-id\",\"banner\":{\"format\":[{\"w\":600,\"h\":500},{\"w\":300,\"h\":600}]},\"secure\":1,\"ext\":{\"bidder\":{\"type\":\"publisher\",\"placementId\":\"123\"}}}],\"site\":{\"page\":\"prebid.org\",\"publisher\":{},\"ext\":{\"amp\":0}},\"device\":{\"ua\":\"bruno-runtime/2.15.1\",\"ip\":\"1.1.1.1\"},\"user\":{\"id\":\"my-user-id\",\"buyeruid\":\"my-buyer-uid\"},\"test\":1,\"at\":1,\"tmax\":500,\"source\":{\"tid\":\"cb6fc951-772b-4444-94ff-2293773c7efe\"},\"regs\":{\"ext\":{\"gdpr\":0}},\"ext\":{\"prebid\":{\"server\":{\"externalurl\":\"http://localhost:8000\",\"gvlid\":0,\"datacenter\":\"\"}}}}", "requestheaders": { "Accept": [ "application/json" ], "Content-Type": [ "application/json;charset=utf-8" ], "X-Prebid": [ "pbs-go/unknown" ] }, "responsebody": "", "status": 204 } ] }, "resolvedrequest": { "id": "some-request-id", "imp": [ { "id": "some-impression-id", "banner": { "format": [ { "w": 600, "h": 500 }, { "w": 300, "h": 600 } ] }, "secure": 1, "ext": { "prebid": { "bidder": { "harion": { "placementId": "123" } } }, "tid": "5eec224e-727c-40dd-bf4b-e567e57a1edb" } } ], "site": { "page": "prebid.org", "publisher": {}, "ext": { "amp": 0 } }, "device": { "ua": "bruno-runtime/2.15.1", "ip": "1.1.1.1" }, "user": { "id": "my-user-id", "buyeruid": "my-buyer-uid" }, "test": 1, "at": 1, "tmax": 500, "source": { "tid": "cb6fc951-772b-4444-94ff-2293773c7efe" }, "regs": { "gdpr": 0 }, "ext": { "prebid": { "server": { "externalurl": "http://localhost:8000", "gvlid": 0, "datacenter": "" } } } } }, "responsetimemillis": { "harion": 261 }, "tmaxrequest": 500, "prebid": { "auctiontimestamp": 1771219165429 } } }
AGENT TESTINGPR #4671 Review: New Adapter: HarionAuthor: markappmedia | Type: Alias-Only | CI: Clean (all checks passed) Triage Manifest
Field-by-Field Verification Results1.
|
| Check | Result | Evidence |
|---|---|---|
| Parent exists | PASS | static/bidder-info/teqblaze.yaml exists on master |
| No alias chain | PASS | teqblaze has whiteLabelOnly: true but no aliasOf — it's a standalone white-label adapter |
| White-label compliance | PASS | teqblaze is explicitly whiteLabelOnly: true, so aliasing is the correct and intended approach |
| Endpoint domain differs from parent | PASS | Parent has no endpoint field; harion defines its own (harion-ma.com) |
2. endpoint: "https://east-api.harion-ma.com/pserver"
| Check | Result | Evidence |
|---|---|---|
| URL format | PASS | Well-formed HTTPS URL |
| Reachability | PASS | HTTP 204 on POST, 0.29s response time |
| SSL/TLS | PASS | Valid Let's Encrypt cert (CN=east-api.harion-ma.com), expires Apr 15, 2026 |
| No hardcoded credentials | PASS | Clean URL, no secrets |
| No template macros | PASS | No {{...}} present |
| Domain ownership | PASS | harion-ma.com — plausible domain for "Harion" adapter by MarkApp Media |
3. gvlVendorID: 1406
| Check | Result | Evidence |
|---|---|---|
| Value range | PASS | Positive integer (1406 > 0) |
| GVL lookup | PASS | Vendor 1406 = MARKAPP MEDIA LTD |
| Company name match | PASS | "MARKAPP MEDIA LTD" matches PR author markappmedia and email domain markappmedia.site |
| GVL privacy URL | PASS | https://markappmedia.site/privacy-policy/ — consistent branding |
| Alias GVL limitation | INFO | Aliases can now set their own GVL ID; parent teqblaze has no GVL ID, so no conflict |
4. capabilities: site + app (banner, video, native)
| Check | Result | Evidence |
|---|---|---|
| Valid media types | PASS | All three (banner, video, native) are valid |
| At least one per platform | PASS | Both site and app have 3 media types each |
| Subset of parent | PASS | Identical to teqblaze capabilities (site + app, banner/video/native) |
| No DOOH | PASS | DOOH not declared (teqblaze doesn't support it either) |
5. maintainer.email: "adtech@markappmedia.site"
| Check | Result | Evidence |
|---|---|---|
| Email format | PASS | Valid format user@domain.tld |
| Domain consistency | PASS | markappmedia.site matches GVL privacy URL domain |
6. PR-Level Checks
| Check | Result | Evidence |
|---|---|---|
| Documentation PR | PASS | PR description links prebid/prebid.github.io#6413 |
| Duplicate PR check | PASS | No other open PRs for "harion" |
| CI status | PASS | All checks passed |
Minor Style Note
The YAML diff has a trailing whitespace on line 12 (empty line between site: and app: blocks). This is cosmetic and non-functional, but could be cleaned up.
Recommendation: APPROVE
This is a clean alias-only adapter PR. The "harion" adapter correctly aliases the teqblaze white-label-only adapter with its own endpoint, GVL vendor ID, and maintainer contact. All verification checks pass — endpoint is live, SSL is valid, GVL ID 1406 maps to the correct company ("MARKAPP MEDIA LTD"), capabilities are a valid subset, and the docs PR is linked.
Task Completion Summary
| Task # | Subject | Status |
|---|---|---|
| 1 | PR Triage: Classify PR type, route files, check CI | Completed |
| 2 | Verify harion: aliasOf field |
Completed |
| 3 | Verify harion: endpoint field |
Completed |
| 4 | Verify harion: gvlVendorID field |
Completed |
| 5 | Verify harion: capabilities field |
Completed |
| 6 | Verify harion: maintainer.email field |
Completed |
| 7 | PR-level: Documentation PR and duplicate check | Completed |
| 8 | Produce final review summary | Completed |
Skills Called
| Skill | Outcome |
|---|---|
pr-triage |
Executed manually inline following the SKILL.md workflow |
bidder-info-pr-review |
Executed manually inline following the SKILL.md workflow (field-level verification tasks) |
Code / Commands Executed
| Command | Purpose | Result |
|---|---|---|
curl -X POST https://east-api.harion-ma.com/pserver |
Endpoint reachability + SSL check | HTTP 204, SSL valid, 0.29s |
openssl s_client -connect east-api.harion-ma.com:443 |
SSL certificate details | Let's Encrypt R12, valid until Apr 15 2026 |
curl vendor-list.consensu.org | python3 (parse vendor 1406) |
GVL vendor ID lookup | "MARKAPP MEDIA LTD" confirmed |
WebFetch API Calls
| URL | Purpose |
|---|---|
api.github.com/.../pulls/4671 |
PR metadata (title, author, description) |
api.github.com/.../pulls/4671/files |
File list + patches |
api.github.com/.../pulls/4671/commits |
Head SHA for CI check |
api.github.com/.../commits/{sha}/check-runs |
CI status (all passed) |
raw.githubusercontent.com/.../teqblaze.yaml |
Parent adapter YAML for alias validation |
api.github.com/search/issues?q=harion |
Duplicate PR check |
|
Sent a verification mail to the mail box mentioned. Please acknowledge with "received" over the mailbox and we should be good with this PR. Thanks! |
Received acknowledgment. Approving |