InteractiveAdvertisingBureau / Global-Privacy-Platform

IAB Tech Lab Global Privacy Platform specification
72 stars 36 forks source link

getField command clarifications in API #73

Closed lamrowena closed 1 year ago

lamrowena commented 1 year ago

Additional necessary change needed: getField "parameter" value description and example.

Proposal: ... parameter - string - API Prefix string + "." (dot) + [Section index* + "." (dot)] + fieldname return - ..... (stays as it is) ...

The section index is the index of a section within a segment, starting with 0 (zero) for the first section. The section index is optional, if not used, the first section is assumed.

For example, a client can ask the CMP to get the last updated field from the IAB TCF Canada v1.0 TCData.

var s = gpp('getField',null, "tcfca.LastUpdated"); or var s = gpp('getField',null, "tcfca.0.LastUpdated");

In order to get the Publisher Purposes Express Consent information from IAB TCF Canada the command would be used as: var s = __gpp('getField',null, "tcfca.1.PubPurposesExpressConsent");

Originally posted by @janwinkler in https://github.com/InteractiveAdvertisingBureau/Global-Privacy-Platform/issues/71#issuecomment-1516173744

HeinzBaumann commented 1 year ago

The notation used for TCF Canada is wrong. The string is "tcfcav1" not "tcfca".

lamrowena commented 1 year ago

@HeinzBaumann "tcfca" is correct based on what we have in Sections

HeinzBaumann commented 1 year ago

Sorry but this is not correct. The spec calls out in the section API Prefixes: Canada tcfcav1. The API is using that all over the place.

lamrowena commented 1 year ago

Ah I see what you are saying. Will need to update the Sections list so that it's consistent.

janwinkler commented 1 year ago

So which one is it now? "tcfca" or "tcfcav1"?

HeinzBaumann commented 1 year ago

tcfcav1

dgirardi commented 1 year ago

There are already CMP implementations that use the names that this thread decided are incorrect (e.g. consentmanager.net), and they are already deployed out in the world (gppdecoder.com).

What is the plan for them and their clients? just announce breaking changes in a thread like this, hoping they'll notice? deprecate 1.0 soon?

janwinkler commented 1 year ago

@dgirardi There is a long process behind these changes. The process usually ends in a public comment period (e.g. https://iabtechlab.com/blog/public-comment-period-open-for-gpp-api-v1-1/) before a new version gets released. In this case it is not a normal "breaking change", but the correction of a "bug" in the 1.0 specification (the bug been the use of two different names for the same thing).

patmmccann commented 1 year ago

We're using three different names; and implementors have already pointed to tcfca. It is certainly a breaking change to deprecate it. I'd like us to hold 1.1 for the fix.

patmmccann commented 1 year ago

Also, what is tcfva https://github.com/InteractiveAdvertisingBureau/Global-Privacy-Platform/blob/87935c4b574e974ff20ff5c1b9641374878031e2/Core/CMP%20API%20Specification.md?plain=1#L900