question

Upvotes
Accepted
3 0 1 2

OpenPermId Match API does not return matches for the Person datatype

The permid API does not return record matches for the Person datatype. The API fails in 2 different ways, depending on if the input data has a single row or multiple rows, as shown in the examples below. Calling the API with a .csv file, csv string, or dataframe all run into the same issue.

The example files both use the OpenPermID Python library (https://github.com/Refinitiv-API-Samples/Article.OpenPermID.Python.APIs) for simplicity. When using the permid API without a library, the same results are returned.

Example data is taken from https://github.com/Refinitiv-API-Samples/Example.OpenPermID.Python.Jupyter

Example 1:

Code:

from OpenPermID import OpenPermID
import pandas as pd

opid = OpenPermID()
opid.set_access_token("ACCESS_TOKEN")
opid.set_timeout(10000)

person = pd.DataFrame(columns = ['LocalID',
                                 'FirstName',
                                 'MiddleName',
                                 'PreferredName',
                                 'LastName',
                                 'CompanyPermID',
                                 'CompanyName',
                                 'NamePrefix',
                                 'NameSuffix']) 
person = person.append(pd.Series(['1','Satya','','','Nadella','4295907168','','',''], 
                                 index=person.columns),ignore_index=True)

output,err = opid.match(person, dataType='Person')
print(output)

Issue: A match is expected but no match is found

Expected output:

Input_First NameInput_Last NameInput_LocalIDInput_OrgNameInput_OrgOpenPermIDMatch First NameMatch Last NameMatch LevelMatch OpenPermIDMatch OrdinalMatch OrgNameMatch OrgOpenPermIDMatch ScoreOriginal Row NumberProcessingStatus 0SatyaNadella1NaNhttps://permid.org/1-4295907168SatyaNadellaExcellenthttps://permid.org/1-344132626121MICROSOFT CORPORATIONhttps://permid.org/1-42959071680.952OK

Actual output:

ProcessingStatus Match Level Original Row Number Input_LocalID Input_First Name Input_Last Name Input_OrgOpenPermID 0 OK No Match 2 1 Satya Nadella https://permid.org/1-4295907168

Example 2:

Code:

from OpenPermID import OpenPermID
import pandas as pd

opid = OpenPermID()
opid.set_access_token("ACCESS_TOKEN")
opid.set_timeout(10000)

person = pd.DataFrame(columns = ['LocalID',
                                 'FirstName',
                                 'MiddleName',
                                 'PreferredName',
                                 'LastName',
                                 'CompanyPermID',
                                 'CompanyName',
                                 'NamePrefix',
                                 'NameSuffix']) 
person = person.append(pd.Series(['1','Satya','','','Nadella','','Microsoft Corp','',''], 
                                 index=person.columns),ignore_index=True)
person = person.append(pd.Series(['2','Satya','','','Nadella','4295907168','','',''], 
                                 index=person.columns),ignore_index=True)

output,err = opid.match(person, dataType='Person')
print(output)

Issue: 2 Matches are expected but the server returns a timeout error

Expected output:

Input_First NameInput_Last NameInput_LocalIDInput_OrgNameInput_OrgOpenPermIDMatch First NameMatch Last NameMatch LevelMatch OpenPermIDMatch OrdinalMatch OrgNameMatch OrgOpenPermIDMatch ScoreOriginal Row NumberProcessingStatus 0SatyaNadella1Microsoft CorpNaNSatyaNadellaGoodhttps://permid.org/1-344132626121MICROSOFT CORPORATIONhttps://permid.org/1-42959071680.752OK 1SatyaNadella2NaNhttps://permid.org/1-4295907168SatyaNadellaExcellenthttps://permid.org/1-344132626121MICROSOFT CORPORATIONhttps://permid.org/1-42959071680.953OK

Result: There is no output as the server returns the following response text:

{"ignore":" ","errorCode":9,"errorCodeMessage":"Processing Timeout - timeout reached. Please try again later."}
pythonpermid-apiopen-permid-apitime-outrecord-matching-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
52.9k 136 44 63

@Matthew Charters

I checked and found that I can retrieve the data properly.
1663146376803.png


1663146399579.png

Could you please confirm if the problem has been resolved?


1663146376803.png (46.7 KiB)
1663146399579.png (64.1 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

It does look like it's working again. Thanks for looking into it!
Upvotes
52.9k 136 44 63

@Matthew Charters

Thank you for reporting this issue.

It looks like there is a problem with the Person matching service.

I have contacted the product team to investigate this issue.

I will keep you updated.


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.