Documentation

BaseService
in package

AbstractYes

Classe responsável por reunir metodos comuns entre as classes que a implementem.

Definição do CNPJ da empresa e do cliente Geração do UUID. Define a instância da classe Api com o cookie de sessão. Define a data de competência. Captura os dados da empresa. Captura os dados do empregado. Define metodos abastratos que devem ser implementados nas classes filhas.

Table of Contents

Properties

$api  : mixed
Este atributo mantém a instância da classe Api, que é utilizada para realizar chamadas à API externa.
$companyCnpj  : string|null
Este atributo armazena o CNPJ da empresa, informado na invocação do serviço.
$competency  : string|null
Este atributo armazena a data de competência.
$customerCnpj  : string|null
Este atributo armazena o CNPJ da cliente, informado na invocação do serviço.
$employer  : array<string|int, mixed>|null
Este atributo armazena os dados relacionados à empresa, como nome, CNPJ e entre outros.
$invoiceId  : string|null
Este atributo armazena o ID da guia.
$paymentInvoicePdfUrl  : string|null
Este atributo armazena a URL do PDF da guia de pagamento.
$uuid  : string|null
Este atributo armazena o UUID para contexto de logs.

Methods

companyCnpj()  : self
Define o CNPJ da empresa.
competency()  : self
Define o mês e ano de competência para a instância da classe.
customerCnpj()  : self
Define o CNPJ do cliente.
generate()  : mixed
Método abstrato para geração da guia
createApiWithCnpj()  : MonthlyApi|TerminationApi
downloadInvoice()  : mixed
Faz o download de uma fatura a partir da URL informada.
getApiClass()  : string
Classe da API específica (deve ser definida nas classes filhas)
getDetailedInvoiceById()  : string|array<string|int, mixed>|null
Busca a guia de detalhamento pelo ID da guia.
getUuid()  : string
Gera um UUID aleatório no formato padrão.
returnError()  : string
sanitizeCompetency()  : string
Sanitiza a competência recebida, ajustando-a para o formato exigido pela API.
setEmployer()  : self
Define os dados do empregador.
validateRequiredFields()  : void
Método abstrato que deve ser implementado pelas classes filhas
validateCnpjType()  : string
Valida se o CNPJ informado é de uma empresa matriz.

Properties

$api

Este atributo mantém a instância da classe Api, que é utilizada para realizar chamadas à API externa.

protected mixed $api = null

$companyCnpj

Este atributo armazena o CNPJ da empresa, informado na invocação do serviço.

protected string|null $companyCnpj = null

$competency

Este atributo armazena a data de competência.

protected string|null $competency = null

$customerCnpj

Este atributo armazena o CNPJ da cliente, informado na invocação do serviço.

protected string|null $customerCnpj = null

$employer

Este atributo armazena os dados relacionados à empresa, como nome, CNPJ e entre outros.

protected array<string|int, mixed>|null $employer = null

$invoiceId

Este atributo armazena o ID da guia.

protected string|null $invoiceId = null

$paymentInvoicePdfUrl

Este atributo armazena a URL do PDF da guia de pagamento.

protected string|null $paymentInvoicePdfUrl = null

$uuid

Este atributo armazena o UUID para contexto de logs.

protected string|null $uuid = null

Methods

companyCnpj()

Define o CNPJ da empresa.

public companyCnpj(string $cnpj) : self

Este método recebe o CNPJ da empresa e o formata, além de criar a instância da classe Api.

Parameters
$cnpj : string

O CNPJ da empresa.

Return values
self

A própria instância da classe.

competency()

Define o mês e ano de competência para a instância da classe.

public competency(string $competency) : self

O parâmetro deve ser informado no formato "mes/ano", por exemplo "04/2025". O valor informado será sanitizado pelo método sanitizeCompetency para se adequar ao padrão exigido pela API.

Parameters
$competency : string

Mês e ano de competência no formato "mes/ano".

Return values
self

Retorna a própria instância para permitir encadeamento de métodos.

customerCnpj()

Define o CNPJ do cliente.

public customerCnpj(string $cnpj) : self

Este método recebe o CNPJ do cliente e o formata. Além disso, ao definir o CNPJ do cliente, a instância da classe Api é (re)criada utilizando o CNPJ da empresa e o CNPJ do cliente.

Parameters
$cnpj : string

O CNPJ do cliente.

Return values
self

A própria instância da classe.

generate()

Método abstrato para geração da guia

public abstract generate() : mixed

createApiWithCnpj()

protected createApiWithCnpj(string $companyCnpj, string $customerCnpj) : MonthlyApi|TerminationApi
Parameters
$companyCnpj : string

O CNPJ da empresa.

$customerCnpj : string

O CNPJ do cliente utilizado em conjunto com o CNPJ da empresa.

Return values
MonthlyApi|TerminationApi

A instância da classe Api configurada com o cookie de sessão.

downloadInvoice()

Faz o download de uma fatura a partir da URL informada.

protected downloadInvoice(string $invoiceUrl) : mixed
Parameters
$invoiceUrl : string

URL da fatura a ser baixada.

Return values
mixed

Conteúdo da fatura detalhada obtida pelo download.

getApiClass()

Classe da API específica (deve ser definida nas classes filhas)

protected abstract getApiClass() : string
Return values
string

getDetailedInvoiceById()

Busca a guia de detalhamento pelo ID da guia.

protected getDetailedInvoiceById(mixed $invoiceId) : string|array<string|int, mixed>|null

Caso a guia detalhada seja encontrada, retorna o conteúdo do arquivo através da URL. Se não for possível gerar ou encontrar a guia detalhada, lança uma exceção.

Parameters
$invoiceId : mixed

ID da guia para busca do detalhamento.

Tags
throws
DataNotFoundException

Caso não seja possível gerar ou encontrar a guia detalhada.

Return values
string|array<string|int, mixed>|null

Conteúdo do arquivo detalhado ou nulo.

getUuid()

Gera um UUID aleatório no formato padrão.

protected getUuid() : string

Este método é utilizado apenas para cumprir um requisito da API, que exige o envio de uma string UUID em algumas requisições. O UUID gerado não possui relação com outros dados do sistema.

Return values
string

UUID gerado aleatoriamente.

returnError()

protected returnError(int $code, string $message) : string
Parameters
$code : int
$message : string
Return values
string

sanitizeCompetency()

Sanitiza a competência recebida, ajustando-a para o formato exigido pela API.

protected sanitizeCompetency(string $competency) : string

Este método recebe uma string representando a competência no formato 'mes/ano', valida e converte para o formato 'ano + mes' utilizado pela API. Trata casos especiais como 13º salário (décimo terceiro).

Parameters
$competency : string

Data de competência no formato 'MM/YYYY'.

Tags
throws
InvalidArgumentException

Se a competência estiver em formato inválido.

Return values
string

Competência ajustada no formato 'YYYYMM' ou '13YYYY' para décimo terceiro.

setEmployer()

Define os dados do empregador.

protected setEmployer(array<string|int, mixed> $employer) : self

Recebe um array com os dados do empregador e atribui ao atributo da classe.

Parameters
$employer : array<string|int, mixed>

Array contendo os dados do empregador.

Return values
self

validateRequiredFields()

Método abstrato que deve ser implementado pelas classes filhas

protected abstract validateRequiredFields() : void

validateCnpjType()

Valida se o CNPJ informado é de uma empresa matriz.

private validateCnpjType(string $cnpj) : string
Parameters
$cnpj : string

O CNPJ a ser validado.

Tags
throws
InvalidArgumentException

Se o CNPJ não for válido ou não for de uma empresa matriz.

Return values
string

        
On this page

Search results