Please be aware that there are two cases when you have to provide information about a person:
TABLE OF CONTENTS
- 1) When assigning a FIFA ID to a person:
- 2) When providing person details to another Member Association (in case of a duplicate) or to the FIFA Clearing House:
1) When assigning a FIFA ID to a person:
This section concerns the data stored directly by the central Connect ID Service. You can read more about this here:
- https://support.id.ma.services/support/solutions/articles/7000063863-what-data-is-stored-in-the-fifa-connect-id-service-
- https://support.id.ma.services/support/solutions/articles/7000035128-does-connect-id-store-registrations-history-
All methods of the FIFA Connect ID SDKs either get, set, update, or delete the data directly stored in the FIFA Connect ID Service, however most notingly the following:
- RegisterPerson (and its variants, see 3.2.1, 3.3.1 and 3.3.2 of the SDK docs)
- UpdatePerson (3.2.2 and 3.3.7 of the SDK docs)
- Add/ UpdateRegistrations (3.3.6 of the SDK docs)
- Merge/ UnmergePerson (3.3.4 of the SDK docs)
In this case you only have to provide a limited subset of information, which is stored centrally in the FIFA Connect ID Directory (names are stored in hashed format):
Comment | Data type | Data |
required | String | FirstName |
required | String | LastName |
required | Date | DateOfBirth |
required | Male, Female | Gender |
required | PlayerRegistrationType | PlayerRegistrationType |
required | String | *personLocalId |
* The use of personLocalId field will ensure the consistency of data by preventing the creation of orphaned records during network issues. More on this in chapter 3.2.1.1 Idempotency of the SDK documentation.
The PlayerRegistrationType contains the following information (for other registration types, like for referees and coaches, please check the FIFA Connect Data Standard documentation at https://data.fifaconnect.org/registration/):
Data | Data type | Comment |
---|---|---|
OrganisationFIFAID | String | required; you should provide the FIFA ID of your Member Association |
Status | Active - Inactive - Pending | required |
Level | Pro - Amateur | required |
Discipline | Football - Futsal - BeachSoccer | required |
RegistrationNature | Registration - Loan | optional |
It is important to note that the FIFA Connect ID Service only stores the latest/ current registration per role, e.g.
- only one registration per football player role [globally]
- only one registration per futsal player role [globally]
- only one registration per beachsoccer player role [per MA]
- only one registration per referee sub-role [per MA]
- and so on
So if the addRegistration method is successfully executed, this will overwrite the existing registration in the same role on FIFA Connect ID side.
The full person details (e.g. clear text names) and the full registration history are stored only in the national registration systems of the Member Associations, which is why they are directly exchanged between the Member Associations and the Member Associations and the Clearing House using the FIFA Connect ID Service Bus, as explained the the following section.
2) When providing person details to another Member Association (in case of a duplicate) or to the FIFA Clearing House:
This section concerns the data directly exchanged between Member Associations or between Member Associations and the Clearing House, e.g. in case of a Transfer, a case for training compensation, or in case a potential duplicate was detected by the central Connect ID Service.
This data is requested using one of the following methods:
- registerPersonAndWaitForDetailsInCaseOfDuplicates (only in case a duplicate is detected, see 3.2.1 of the SDK docs)
- getDuplicates (only in case a duplicate is detected, see section 3.2.3 of the SDK docs)
This data is sent (e.g. in response to a request of the Clearing House) by configuration of the Service Bus Listener, see 2.4.1 of the SDK docs. You need to provide an implementation of the PersonDetailsProvider Interface. You will send this response in the format of PersonLocal object as provided by the SDKs.
You can learn more about the configuration of the Service Bus Listener here:
- PHP: https://support.id.ma.services/support/solutions/articles/7000039154--php-how-and-why-to-provide-person-details-to-other-mas-via-service-bus-
- Java: https://support.id.ma.services/support/solutions/articles/7000039349--java-how-and-why-to-provide-person-details-to-other-mas-via-service-bus-
- .Net: https://support.id.ma.services/support/solutions/articles/7000039472--net-how-and-why-to-provide-person-details-to-other-mas-via-service-bus-
In this case you are expected to send full PersonLocal object including clear text names, and the full registration history of the person ("Electronic Player Passport (EPP)") with the affiliated clubs of your Member Association, as specified below:
Comment | Data type | Data |
optional | image | Photo |
optional | String | LocalFirstName |
required | String | LocalLastName |
optional; provide only if different from localName | String | LocalBirthName |
optional | String | LocalSystemID |
required, If unknown, use language of your country | ISO639-2Type | LocalLanguage |
required, Use country code of your country | ISO3166CountryCode | LocalCountry |
optional | String | NationalIdentifier |
optional, should be provided if exist | String | InternationalFirstName |
optional, should be provided if exist | String | InternationalLastName |
optional | String | PopularName |
required (if unknown use XX) | ISO3166CountryCode | Nationality |
optional | ISO3166CountryCode | SecondNationality |
required | Male, Female | Gender |
required | Date | Birthdate |
required (if unknown use XX) | ISO3166-13CountryCode | CountryOfBirth |
required (if unknown, “N/A”) | String | PlaceOfBirth |
required, Should include all historic registrations with clubs in your member association (electronic player passport) | PlayerRegistrationType | PlayerRegistration(s) |
It is important to note that as part of the PlayerRegistration(s), the Member Association need to provide all historic and current registrations that this player had in the Member Association, since the season of his 12th birthhdate (https://resources.fifa.com/image/upload/regulations-on-the-status-and-transfer-of-players-june-2020.pdf?cloudid=ixztobdwje3tn2bztqcp, §7).
This information includes the training categories of the Club(s) he played for. Full information required includes:
Data | Data type | Comment |
PersonFIFAId | String | required |
Status | Active – Inactive - pending | required |
OrganisationFIFAId | String | FIFA ID of the Club; required |
RegistrationValidFrom | Date | required |
RegistrationValidTo | Date | required |
Level | Pro - amateur | required |
Discipline | Football – Futsal - BeachSoccer | required |
RegistrationNature | Registration (Permanent") - Loan | required |
ClubTrainingCategory | Category 1, 2, 3, 4 | Club training category for the given period of registration; required Note that this is (or might be) a different value from the one which is currently assigned to the club (through the club creation or update via Connect ID SDK). |
It is important to note that club training categories can change over time. Should a Member Association be asked to send player registration details, the information regarding club categories should always accurately reflect the club training category at the time the player was registered at that Club.
Please note that for the currently active registration, the "valid to" date should be left empty. For all other (historic) registrations, the "valid to" date should be provided. The "valid to" date of a registration should therefore always either be a date in the past, or empty (in case of a currently active registration).
As an example, FC AB, affiliated to Member Association X, may have had a club training category 3 during Season 2015/16 and a training category 2 during Seasons 2016/17 and Season 2017/18. Player Max Musterman played at FC AB during these three seasons. Should FIFA need to create an electronic player passport for Max Musterman, MA X will have to send the following information:
Player FIFA ID | Registration valid from | Registration valid to | Club FIFA ID | Player Status | Player Level | Discipline | Type of Registration | Club Training Category at the time of registration |
XYZ1234 | 1.7.2017 | 30.6.2018 | FIFA ID of FC AB | Active | Professional | Football | Permanent | Training Category 2 |
XYZ1234 | 1.7.2016 | 30.6.2017 | FIFA ID of FC AB | Active | Professional | Football | Permanent | Training Category 2 |
XYZ1234 | 1.7.2015 | 30.6.2016 | FIFA ID of FC AB | Active | Professional | Football | Permanent | Training Category 3 |