Skip to content

Feat: add prepare_request_data for ORCID API integration#1024

Merged
robertatakenaka merged 2 commits intoscieloorg:masterfrom
Rossi-Luciano:prepare_request_data
Sep 1, 2025
Merged

Feat: add prepare_request_data for ORCID API integration#1024
robertatakenaka merged 2 commits intoscieloorg:masterfrom
Rossi-Luciano:prepare_request_data

Conversation

@Rossi-Luciano
Copy link
Collaborator

O que esse PR faz?

Adiciona funcionalidade para extrair e transformar dados de artigos XML (formato SciELO SPS) em payloads compatíveis com APIs externas, especificamente para integração com ORCID. A função prepare_request_data processa metadados de autores (ORCID, nome, email) e trabalhos acadêmicos (título, journal, DOI, datas de publicação) com validações rigorosas para garantir qualidade dos dados.

Onde a revisão poderia começar?

Inicie pela leitura do arquivo packtools/sps/utils/prepare_request_data.py que contém a implementação principal com as classes Author, Authors e Work. Em seguida, examine test_prepare_request_data.py para entender os casos de uso e validações implementadas.

Como este poderia ser testado manualmente?

  1. Prepare um arquivo XML no formato SciELO SPS com contribuidores que possuam ORCID e nome completo
  2. Execute o código:
from lxml import etree
from packtools.sps.utils.prepare_request_data import prepare_request_data

xml_tree = etree.parse('seu_arquivo.xml')
results = list(prepare_request_data(xml_tree))
print(results)
  1. Verifique se o payload retornado contém todos os campos obrigatórios: orcid_id, author_name, work_data, year, external-id
  2. Teste com XMLs que tenham campos ausentes para validar as rejeições automáticas

Algum cenário de contexto que queira dar?

NA

Screenshots

NA

Quais são tickets relevantes?

NA

Referências

orcid-profile-publication-service

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants