INTEGRAÇÃO Ahgora PontoWeb X DataSul (Nativa)

Contexto de negócio (Introdução)

O Produto PontoWeb destina-se a realizar a apuração do ponto dos funcionários durante o período apuração. Ao final, temos o resultado para lançar na folha de pagamento.

Para facilitar as rotinhas diárias, ganhar tempo e reduzir riscos operacionais, o PontoWeb e o DataSul pode ser integrados de forma nativa. 

Os dados como cadastro de funcionários, afastamentos, códigos contábeis e sindicatos são enviados ao PontoWeb, para que não seja necessário realizar o cadastro novamente. Já os Resultados Apurados no período de apuração, são integrados/lançados diretamente na Folha de Pagamento.

Com estas integrações ativas, outras funcionalidades ocorrem como: 

  • Aplicar escala padrão para a apuração
  • Aplicar sindicato para aplicação de regras de apuração
  • Uso de hierarquia por líder imediato
  • Afastamento por diversos motivos

Sistemas Envolvidos

  • DataSul - Folha de Pagamento
  • Ahgora PontoWeb - Gestão e apuração de registros de marcação de ponto.

Integração

Para o processo de integração funcionar corretamente, é necessários que diversas informações estejam cadastradas de acordo com a folha de pagamento. Neste sentido, criamos este processo de integração.


  • Premissas
    • Patch do DataSul estar atualizado. 
    • No PontoWeb, quando o cliente já utiliza, precisa ajustar alguns cadastros:
      • Matrícula: Concatenar (Empresa + Estabelecimento + Matrícula)
      • Escala: Concatenar (Empresa + Escala)
      • Centro de Custo: Concatenar (Empresa + Centro de Custo)
      • Motivo de Afastamentos: (Empresa + Código do Motivo de Afastamento)


  • Arquitetura (Tecnologia)

Neste processo utilizamos APIs Rest Internas e o integrador 2.0 para a comunicação e orquestração de alguns fluxos. 


Escopo





1.Dados de Funcionários: Admissões, Movimentações e Demissões (carga e periódica)

    • Disparado pela Folha, que envia ao Integrador os dados de pessoas criadas, alteradas e demitidas na folha. O job é executado, conforme os gatilhos na folha. Para isso é necessário criar os agendamentos na folha.
    • A hierarquia será disparada através do agendado no Integrador 2.0 do PontoWeb, que realiza a criação e manutenção da árvore de hierarquia de acordo com os dados no cadastro do funcionário, sem delta (roda todos). Este precisa ser parametrizado no PontoWeb para rodar pelo menos uma vez ao dia.

2.Dados de Afastamentos: Criação, Alteração e Remoção (carga e periódica)

    • Disparado pela Folha, que envia ao Integrador os dados de afastamentos incluídos, alterados ou deletados na folha. O job é executado conforme os gatilhos na folha. Para isso é necessário criar os agendamentos na folha.

3.Sindicatos: Criação e Manutenção (carga)

4.Eventos/Rubricas: Criação e Manutenção (carga)

5.Resultados Apurados: Lançamentos (carga)

    • Disparado pelo Integrador 2.0, sempre que um usuário executa a integração através da tela de disparo manual do fluxo. O usuário seleciona os filtros para os dados serem enviados ao DataSul através de API Totvs.


Não esta contemplado neste Escopo


  • Retorno para a folha de registros de afastamentos lançados diretamente no PontoWeb;
  • Não está prevista a utilização de VPN ou qualquer ferramenta de segurança que não esteja mapeada nesse documento;
  • Fluxos não incluídos neste documento.


Pré-requisitos instalação/implantação/utilização


DataSul

  • Deve estar em um dos patches:


PontoWeb Novo

  • Para bases novas do PontoWeb, os dados abaixo devem ser cadastrados conformo modelos. Lembrando que os valores são apenas exemplos:

    • Escalas: As escalas no PontoWeb devem ser cadastradas com os códigos concatenados. Assim, será possível integrar a escala padrão do funcionário:

      Exemplo: Empresa (01) + Escala (111) 01111

    • Centro de Custo: Os códigos de centro de custo devem ser concatenados:

      Exemplo: Empresa (01) + Centro de Custo (022) 01022

    • Motivos de Afastamento: Os códigos de motivos de afastamentos, devem ser cadastrados no PontoWeb concatenando a coligada:

      Exemplo: Empresa (01) + Motivo (100) 01100


PontoWeb Já Em Uso

  • Para bases que já possuem dados cadastrados e estão em uso, alguns dados precisam ser ajustados para que seja possível realizar a integração. Os ajustes são os mesmos do "PontoWeb Novo", onde os códigos de Escala, Centros de Custo e Motivos de Afastamentos precisam ser ajustados. Além disso, precisa ajustar o campo "Matrícula":

    • Matrícula: O campo matrícula deve ser único no PontoWeb, sendo necessária a concatenação de dados para garantir a unicidade desta chave.

      Exemplo: Empresa (01) + Estabelecimento (10) + Matrícula (12345) → 011012345

      • Transferência de CNPJ: Para transferência, o sistema esta preparado para realizar a troca de matrícula. No DataSul, deve-se realizar um desligamento com o motivo de "Transferência". Realize o procedimento no RM Labore que a troca ocorrerá automaticamente.

Geral

  • Na primeira integração, deve-se seguir a seguinte ordem de ações:


  1. Verificar e ajustar no DataSul, o campo "Elegibilidade do Ponto";
  2. Ajuste do cadastro de funcionários (Matrícula);
  3. Cadastramento ou ajustes dos códigos de Centros de Custo;
  4. Cadastramento ou ajustes dos códigos de Escalas;
  5. Cadastramento ou ajustes dos códigos de Motivos de Afastamentos;
  6. Realizar a Carga Sindicatos (Integração de Sindicatos) e configurações necessárias; 
  7. Realizar a Carga de Eventos/Rubricas e configurações necessárias;
  8. Realizar a Carga de Dados de Funcionários (Integração de Funcionários);
  9. Realizar a Carga de Afastamentos (Integração de Afastamentos);
  10. Realizar o envio de Resultados Apurados (Integração de Resultados Apurados).



Configuração e Informações Adicionais




Ativação e Configuração dos Fluxos

Para ativar o serviço na base do PontoWeb, entre em:

Ativação Integração - TOTVS (Nativas) x PontoWeb


Fluxo das Informações

 

Os dados possuem o seguinte fluxo:

ID

Descrição

Origem

Destino

01

Dados de Funcionários

DataSul

PontoWeb

02

Dados de Afastamentos

DataSul

PontoWeb

03

Sindicatos

DataSul

PontoWeb

04

Eventos/Rubricas

DataSul

PontoWeb

05

Resultados Apurados

PontoWeb

DataSul

Layout de Campos 01 - Dados de Funcionários


Dados de Funcionários (Pessoas)

Item

Descrição

Fluxo:DataSul (Cliente) → PontoWeb
URL API:https://api.ahgora.com.br/people
Método:POST


Campos do PontoWeb que são integrados e sua origem no DataSul:

PontoWeb
DataSul
CampoTipoDescriçãoObrigatórioRegra
CampoDescrição / Regra
matriculaAlfanuméricoIdentificação do colaboradorXCampo chave
Enviar sempre a matricula atual
Concatenar dados
sem separador

funcionario.cdn_funcionarioMatricula do Funcionario
Enviar concatenado Empresa + Estabelecimento + Matricula
nomeStringNome do FuncionárioX

funcionario.nom_pessoa_fisicNome do Funcionario
pisStringPIS do Funcionário*XCampo chave
*Quando não existir PIS, deve ser informado o campo “sem_pis” : “ true “

funcionario.cod_pisNumero do PIS do Funcionário
matricula_esocialStringMatrícula do E-Social
Obrigatório para múltiplos vínculos
sped_participan.cod_matr_spedMatricula do eSocial
dataAdmissaoDateData em que o Funcionário foi AdmitidoX(DD/MM/AAAA)
funcionario.dat_admis_funcData de Admissão
dataDemissaoDateData de Demissão*X(DD/MM/AAAA)
*Quando for demissão, obrigatório

funcionario.dat_desligto_funcData de Demissão
localizacoesArrayLocalizações do funcionário
Manter campo aberto para que o cliente consiga enviar informação que mais se adequa

Podemos avaliar quais informações podemos colocar aqui. O que mais se aproxima é local de marcação, avaliar se temos mais informações que podemos flexibilizar.

Podemos concatenar várias informações separadas com pipe |
escala_padraoStringCódigo da escala/ turno do funcionário
Código da Escala existente no PontoWeb para atribuição.
funcionario.cdn_turno_trabTurno (horário que foi contratado - ex: trab se seg a sex 08:00 as 18:00 com 01:30 de intervalo). Enviar sempre o mais atual.
lastChangeDefaultScheduleDateData da alteração de escala/turno
Data da alteração relacionado ao campo "escala_padrao".

Sempre enviar a data do ultimo histórico de turno.
tipo_escala
Tipo de Escala de Trabalho
Manter padrão mensal
Campo que pode ser utilizado como filtro, para disponibilizar as escalas. Ex. Pode ser diurna, noturna


Enviar sempre as horas padrão mensal do FP1400
ctpsStringCarteira de Trabalho


funcionario.cod_cart_trab
funcionario.cod_ser_cart_trab
funcionario.cod_unid_federac_cart_trab
Carteira de Trabalho do Funcionário. Podemos separar com barra, hifen
cargoStringTítulo do Cargo
Padrão: dado enviado para e-social (Cod + Descrição)
funcionario.cdn_cargo_basic + cargo.des_cargoCódigo do Cargo + descrição
departamentoStringDescrição do departamento do Funcionário


funcionario.cod_unid_lotacCódigo + Descrição. Concatenar os dois campos e separa com traço "-".
sexoStringGênero do Funcionário
"F"eminino, "M"asculino ou "O"utros
rh_pessoa_fisic.idi_sexo {database/inpy/i01py257.i 06 cb_idi_sexo}Sexo.
emailStringE-mail do Funcionário
Único por funcionário
rh_pessoa_fisic.nom_e_mail rh_pessoa_fisic.nom_mail_contatE-mail e E-mail contato. Avaliar se precisamos flexibilizar
cpfStringCPF do Funcionário*X*Obrigatório, se não for enviado PIS
juntamente com o campo “sem_pis” : “ true “

rh_pessoa_fisic.cod_id_feder funcionario.cod_id_federCPF. Enviar sem ponto e hifen
rgStringRG do Funcionário
sem SSP e sem data emissão
rh_pessoa_fisic.cod_id_estad_fisicCarteira Identidade
cnpjStringCNPJ da filial do Funcionário



CNPJ da PJ do estabelecimento sem caracateres
dataCnpjDateData da atribuição do CNPJ da empresa ao funcionário
(DD/MM/AAAA)

Data da transferência entre estabelecimentos.Sempre olhar o histórico e enviar a ultima transferência
centroCustoStringCódigo do centro de custo do funcionário


funcionario.cod_rh_ccusto rh_ccusto.cod_rh_ccustoCentro Custo
regimeTrabalhoStringRegime de Trabalho do Funcionário*X*Obrigatório quando possuir fluxo de Resultados
Uma das opções (descrição):
- CLT - estatutario
- estagiario - temporario
- rda - comissionado
- terceirizado - menoraprendiz
- intermitente - horista
- pensaovitalicia - folhaconfidencial
- autonomo - conselheiro
- pensaovitalicia


Precisa criar DE-PARA para o cliente informar o tipo de funcionário com o tipo na Ahgora
dataNascimentoDateData de Nascimento do Funcionário
(DD/MM/AAAA)
rh_pessoa_fisic.dat_nascimentoData Nascimento
dataCargoDateData de Alteração de Cargo



Data da transferência entre cargos. Sempre olhar o histórico e enviar a ultima alteração de cargo
carga_horarianumberDefinição de carga horária
Se definida, apenas escalas com a mesma quantidade de carga horária poderá ser aplicada para este funcionário
Quantidade de horas mensais


Qauntidade de horas mês
bate_pontoObjetoPonto Obrigatório
Não possuem a informação na folha
Opções:
- "Ponto Obrigatorio" para quem deve registrar o ponto;
- "Ponto Livre" para quem não precisa registrar o ponto.

Orientações:
1. se enviar o campo "bate_ponto" e "data_troca_elegibilidade_ponto" (tem que enviar os dois) vai verificar:
2. se o valor da string "bate_ponto" for "Ponto Obrigatorio" (exatamente assim) e a data enviada em "data_troca_elegibilidade_ponto" for válida vai inserir no funcionário o histórico de ponto obrigatório "true" para data enviada em "data_troca_elegibilidade_ponto"
3. caso o valor da string "bate_ponto" for diferente e a data enviada em "data_troca_elegibilidade_ponto" for válida vai inserir no funcionário o histórico de ponto obrigatório "false" para data enviada em "data_troca_elegibilidade_ponto"

CAMPO NOVODisponível somente quando habilita o produto do ponto
data_troca_elegibilidade_pontoObjetoData de troca da elegibilidade do registro de ponto
Data relacionada ao dado do campo "registra_ponto"
CAMPO NOVOEnviar a data quando passou a utilizar ponto, ou quando deixou de utilizar ponto.
matricula_chefiaStringMatrícula Chefia Imediata
Campo chave para Montagem da Hierarquia

Enviar a matricula do lider imediato da tabela de permissões
nome_chefiaStringNome Chefia Imediata
Montagem da Hierarquia

Com a matricula, buscar da tabela funcionário
email_chefiaStringe-mail Chefia Imediata
Montagem da Hierarquia

Com a matricula, buscar da tabela funcionário
codSindicatoPerson StringCódigo do Sindicato
Verificar o ID do campo
funcionario.cdn_sindicato sind_estab.cdn_sindicato
dataCodSindicatoDateData da alteração do código do sindicato
Este campo é relacionado a troca da informação do campo "codSindicato"


telefonestringTelefone



rh_pessoa_fisic.num_telefone rh_pessoa_fisic.num_telef_contat
sem_pisstring
*X*Obrigatório para envios sem PIS
Esperado:
"true" ou "false"


Preencher com true quando não tiver o PIS cadastrado
codInternostring

Concatenar dados com separador
Separado por pipe

funcionario.cdn_funcionarioMatricula do Funcionario
Enviar concatenado Empresa + Estabelecimento + Matricula
matricula_anteriorstring
*X1) Sempre será enviada a matricula corrente no campo "matricula";
2)Quando houver transferência entre CNPJ com troca de matricula, a nova matricula deverá ser enviada no campo "matricula" e a antiga deverá ser enviada em um campo "matricula_anterior");
3) Para novas alterações cadastrais dessa matricula alterada, os envios seguintes não deverão conter o campo matricula_antiga preenchida, pode ser enviada em branco, ou não ser enviado.
4) Não enviar datas de demissão e admissão
5) Concatenar dados sem separador



custo_da_horaStringDefine o custo hora do funcionário, utilizado para cálculos financeiros.



Salário Hora.
financeiroObjeto
Indica os campos financeiros

Este campo está relacionados ao campos: salario, beneficios e vr


salarioStringValor do salário do colaborador
Formatado ou não. (2.245,50 ou 224550)
Este campo é opcional e para clientes que utilizam o módulo financeiro


Caso o colaborar for mensalista, enviar o salário mensal
Caso o colaborar for horista, enviar o salário da hora

Exemplos (Json)

Request (Chamadas de Solicitação)

[
    {
        "matricula": "0123456",
        "matricula_anterior": "1234567",
        "nome""John Doe",
        "pis""44799198333",
        "sem_pis"true,
        "matricula_esocial""44799198333",
        "codInterno""01|001|1234",
        "dataAdmissao""2020-10-10",

        
"dataDemissao""2020-10-10",
        "localizacoes": [

            "TESTES 1",
            "TESTES 2"
        ],
        "escala_padrao": "006",
        "lastChangeDefaultSchedule": "2020-08-05",
        "ctps": "2413892",
        "cargo": "Human Resources Chief",
        "dataCargo": "2025-10-01",
        "departamento": "Human Resources",
        "sexo": "M",
        "email": "john.doe@abcd.com",
        "cpf": "000.000.000-00",
        "rg": "012345",
        "cnpj": "48.603.081/0001-40",
        "dataCnpj": "2022-09",
        "centroCusto": "00000001",
        "regimeTrabalho": "CLT",
        "dataNascimento": "1990-10-25",
        "carga_horaria": "40",
        "bate_ponto": "Ponto Obrigatorio",
        "data_troca_elegibilidade_ponto": "2025-10-01",
        "matricula_chefia": "00001",
        "nome_chefia": "Nome Chefia",
        "email_chefia": "email_chefia@mail.com.br",
        "codSindicato": "0001",
        "dataCodSindicato": "2025-10-01",
        "telefone": "999999999",
        "custo_da_hora": "12,00",
        "financeiro": {
            "salario": "2.245,50"
        }
    }
]

Response (Retornos)
Exemplo Solicitação Bem Sucedida - Code 200

{
    "company": "a133595",
    "message": "Employee's Integration on progress",
    "unique": "aabb1122",
    "subunique": "f9422c17"
}

Erro de Validação - Code 400

{
    "message": "Request format must be an Array",
    "code": 400
}

Erro de Autenticação - Code 401

{
    "message": "Unauthorized",
    "code": 401



Layout de Campos 02 - Dados de Afastamentos


Dados de Afastamentos

Idem

Descrição

Fluxo:

DataSul (Cliente) → PontoWeb

URL API:

https://api.ahgora.com.br/absences

Tipo de Requisição:

POST


Campos do PontoWeb que são integrados e sua origem no DataSul:

PontoWeb


DataSul

Campo

Tipo

Descrição

Obrigatório

Regra


Campo

Descrição / Regra

matriculaStringIdentificação do colaboradorXCampo chave
Enviar sempre a matricula atual
Concatenar dados sem separador

funcionario.cdn_funcionarioMatricula do Funcionário
Enviar concatenado Empresa + Estabelecimento + Matricula
motivoStringMotivo do AfastamentoXEnviar o Código ou String, é obrigatória uma das informações.
Cadastro prévio no PW exatamente iguais ao sitetema de origem

sit_afast_func.cdn_sit_afast_func sif_afast.cdn_sit_afast_funcSituação
inicioStringData e/ou hora Inicial do AfastamentoXYYYY-MM-DDTHH:MM (0000)
Somente afastamentos em dias

sit_afast_func.dat_inic_sit_afastData Início
fimStringData e/ou hora Final do AfastamentoXYYYY-MM-DDTHH:MM (Enviando hora final 2400 corresponde ao dia total)
Se data fim vazio, trocar para 31/12/2050

sit_afast_func.dat_term_sit_afastDat Término
Sempre envia data fim
cod_internoStringCódigo interno do AfastamentoXA manutenção da ausência depende do campo 'internalCode', caso o mesmo não seja informado não será possível alterar ou remover a ausência pela integração
Este código é armazenado para servir de chave para alterações no afastamento

sit_afast.idi_signif_sit database/inpy/i03py169.iSignificado
operationStringAção a ser realizadaXDEL para remoção da ausência (é possível remover enviando somente 2 campos: "cod_interno" e "operation"


Exemplos (Json)

Request (Chamadas de Solicitação)

[
    {
        "matricula": "00000001",
        "motivo": "00110100",
        "inicio": "2024-01-11T10:00",
        "fim": "2024-01-15T23:00",
        "cod_interno": "w289fdf2",
        "operation": "INS"
    }
]

Deleção

Completo

Simplificado


[
    {
        "matricula": "00000001",
        "motivo": "00110100",
        "inicio": "2024-01-11T10:00",
        "fim": "2024-01-15T23:00",
        "cod_interno": "w289fdf2",
        "operation": "DEL"
    }
]

[
    {
        "cod_interno": "w289fdf2",
        "operation": "DEL"
    }
]

Response (Retornos)

Solicitação Bem Sucedida - Code 200

{
    "company""a133595",
    "message""Absences Integration on progress",
    "unique""aabb1122",
    "subunique""f9422c17"
}

Erro de Validação - Code 400

{
    "message": "Request format must be an Array",
    "code": 400
}

Erro de Autenticação - Code 401

{
    "message": "Unauthorized",
    "code": 401
}

Layout de Campos 03 - Sindicatos - (EM DESENVOLVIMENTO)


Sindicatos

Idem

Descrição

Fluxo:DataSul (Cliente) → PontoWeb
URL API:xxx
Tipo de Requisição:GET


Campos do DataSul que são integrados e sua origem no PontoWeb:


Layout de Campos 04 - Eventos/Rubricas - (EM DESENVOLVIMENTO)


Eventos/Rubricas

Idem

Descrição

Fluxo:DataSul (Cliente) → PontoWeb
URL API:xxx
Tipo de Requisição:GET


Campos do DataSul que são integrados e sua origem no PontoWeb:


Layout de Campos 05 - Resultados Apurados


Resultados Apurados

Idem

Descrição

Fluxo:PontoWeb → DataSul (Cliente)
URL API:xxx
Tipo de Requisição:POST


Campos do DataSul que são integrados e sua origem no PontoWeb:

PontoWeb


DataSul

Campo

Descrição

Regra


Tabela

Campo

Obrigatório

Descrição / Regra

matriculaIdentificação do colaboradorPode ser alfanumerica
Campo matrícula

lote_movto_infor_fpcdn_funcionarioxMatricula do Funcionario
Enviada concatenado Empresa + Estabelecimento + Matricula
anocomAno da competênciaPadrão AAAA
lote_movto_infor_fpnum_ano_refer_movto_lote_fpxCódigo do Período. Enviar concatenado AnoMes (AAAAMM)
mescomMês da competênciaPadrão MM
Ex. Janeiro enviar 01

----
campoAdicional
Pode ser informado o
Período / Envelope na tela do integrador "Campo Adicional"
Informação do campo adicional no PW
Não é obrigatório

lote_movto_infor_fpidi_tip_movto_lote_fpxTem que ser um dado parametrizável por cliente
Puxar dado do "Campo Adicional" da apuração
rubricaCódigo do Evento / RubricaSerá cadastrado no PW igual o sistema de destino
lote_movto_infor_fpcdn_event_fix_movtoxTem que ser um dado parametrizável por cliente
referenciaReferencia em horas ou diasHoras sexagesimal (serparador ",")
Ex: 1h30min, enviar 1,30
Dias em número inteiro
Ex: 3 dias, enviar 3

lote_movto_infor_fpqtd_fix_movtoxEnviar a quantidade, em horas ou em dias. Enviar em minutos (referência * 60)
datafaltaEnvio de evento de falta, envio da data em período sequencial deve ser enviada a data dia-a-diaEnvio de altas dia-a-dia formato (AAAAMMDD)
----
codfuncionario

Código Interno do cadastro de funcionários

Dados com separador por pipe


x

Matrícula do Funcionário
Enviar concatenado com separador pipe "|"
Coligada + Chapa (matrícula)

Exemplos (Json)

Request (Chamadas de Solicitação)

{
    "items": [
        {
            "matricula": "0101000001",
            "anocom": "2024",
            "mescom": "07",
            "campoAdicional": "1",
            "codfuncionario": "01|01|000001",
            "resultados": [
                {
                    "rubrica": "001",
                    "referencia": "10,45",
                    "datafalta": ""
                },
                {
                    "rubrica": "002",
                    "referencia": "1",
                    "datafalta": "20240722"
                },
                {
                    "rubrica": "002",
                    "referencia": "1",
                    "datafalta": "20240723"
                }
            ]
        }
    ]
}

Response (Retornos)
Sucesso - Code 200

{
    "response": [
        {
            "resultados": [
                {
                    "matricula": "0101000001",
                    "rubrica": "001",
                    "status": "S",
                    "mensagem": "Operação realizada com sucesso!",
                    "referencia": "10,45",
                    "datafalta": ""
                },
                {
                    "matricula": "0101000001",
                    "rubrica": "002",
                    "status": "S",
                    "mensagem": "Operação realizada com sucesso!",
                    "referencia": "1",
                    "datafalta": "20240722"
                },
                {
                    "matricula": "0101000001",
                    "rubrica": "002",
                    "status": "S",
                    "mensagem": "Operação realizada com sucesso!",
                    "referencia": "1",
                    "datafalta": "20240723"
                }
            ]
        }
    ]
}

Erro - Code 200
{
    "response": [
        {
            "resultados": [
                {
                    "matricula": "0101000001",
                    "rubrica": "001",
                    "status": "E",
                    "mensagem": "Verba não encontrada na base de dados.",
                    "referencia": "10,45",
                    "datafalta": ""
                },
                {
                    "matricula": "0101000001",
                    "rubrica": "002",
                    "status": "E",
                    "mensagem": "Verba não encontrada na base de dados.",
                    "referencia": "1",
                    "datafalta": "20240722"
                },
                {
                    "matricula": "0101000001",
                    "rubrica": "002",
                    "status": "E",
                    "mensagem": "Verba não encontrada na base de dados.",
                    "referencia": "1",
                    "datafalta": "20240723"
                }
            ]
        }
    ]
}
Erro - Code 400 / 401 / 500 e outros

Processos


Situações comuns (opcional)


Checklist de suporte da aplicação


Anexos