Closed cte-ead closed 1 year ago
Ou seja, uma vez enviado o usuário, ele não será enviado novamente. Eu apenas preciso de um feedback dele informando se recebeu ou não. Um 200 ou 500 para eu registrar realmente na tabela de envio.
Qual o plugin de certificado mesmo ?
@srssaulo ,
O plugin é o customcert.
Será enviado um JSON (como no exemplo abaixo) no body da requisição: [{"cpf": "12345678901
Irei enviar o campo CPF da forma como ele estiver cadastrado no Moodle de origem dos dados.
Estou gerando exception caso não exista CPF cadastrado ou caso o id do usuário que gerou o Certificado não exista
$db_user = $DB->get_record('user', ['id'=>$uid], 'id, firstname, lastname', MUST_EXIST);//exception throws
$user = new \stdClass();
$user->user_id = $db_user->id;
$user->fullname = $db_user->firstname.' '.$db_user->lastname;
$user->cpf = $DB->get_record_sql("
SELECT uid.id, uid.data FROM {user_info_field} AS uif
INNER JOIN {user_info_data} AS uid ON uif.id = uid = fieldid
WHERE uif.name = ? AND uif.datatype=? AND uid.userid = ?
",['cpf', 'text', $db_user->id], MUST_EXIST)->data;//exception throws
enrolment_id, user_enrolment.id isso é realmente necessário? Isso vai te mostrar que ele apenas está inscrito em um curso x, de forma manual ou etc. @cte-ead
@cte-ead @kelsoncm JSON format retornado
[
{
"user_id":4,"fullname":"User Teste Dois","cpf":"11111111111","emissao_certificado":"1671736358","codigo_validacao":"pnn1vTK6F5"},
{"user_id":3,"fullname":"User Teste Um","cpf":"06881435479","emissao_certificado":"1671731035","codigo_validacao":"WCdiF97Sc0"}
]
@cte-ead @wagnerciencomp @kelsoncm Mais de 90% concluído. Está faltando entregar os dados ao endpoint e receber uma resposta para registrar na tabela que registra as ISSUES registradas no servidor que chamamos na API.
Favor ler o README.md
Ainda Não tenho um enpoint para teste com uma resposta definida !
Adicionar o e-mail do usuário, IF, NOME dos camping
Token e endpoint de teste informado por Breno: https://pnp.ifrn.edu.br/cadastrar_usuario/ Token: c02ca45c-92a9-11ed-81e0-dd87e3f52c22
Deixar os nomes o mais parecidos com o padrão cpf, nome, email, sigla_instituicao, nome_unidade
Vai retornar a lista de tudo que eu enviar apenas para testar.
Add novo campo com instituicao_ifs. Formato do dado. FRN - Campus Pau dos Ferros
[19:20, 13/01/2023] Wagner Ifrn: nome: instituicao_ept [19:20, 13/01/2023] Wagner Ifrn: tipo do campo: https://moodle.org/plugins/profilefield_autocomplete
[x] instituicao_ept -> IFRN - CAMPUS X, IFRN - CAMPUS Y
[x] Outro campo a ser add: perfil_pnp: menu dropdown
Regra de sincronização:
ID do certificado
, exemplo: 460Entrypoint do serviço da PNP
, exemplo https://pnp.mec.gov.br/api/arquivosdosaulo/Token de autenticação
, exemplo $-TRGFSEW$0%ŸTGFF[{"cpf": "12345678901", "fullname": "nome nome do meio sobrenome", "timestamp_emissao_certificado": "2000-10-31T01:30:00.000-05:00", "codigo_validacao_certificado": "3dr56gdse", "user_id": 1, "enrolment_id": 15}]
cpf
, custom field cujo nome écpf
, do tipo string, formato sugerido ao usuário é 000.000.000-00, se ele digitar errado o problema é dele.fullname
, user.firstname + ' ' + user.lastnametimestamp_emissao_certificado
, customcert_issue.timestampocodigo_validacao_certificado
, customcert_issue.timestampo.codeuser_id
, user.idenrolment_id
, user_enrolment.idToken de autenticação
deve fazer parte da requisição ao entrypoint como um HTTP HEADER, o nome do header deve ser "Authentication token".pnp_enviado
o id_issue, a data_envio.pnp_enviado
.