canislupus/api-client-omie

0.2.0 2023-07-13 17:36 UTC

This package is auto-updated.

Last update: 2024-09-30 01:19:20 UTC


README

Cliente para integração com a API do sistema ERP Omie. Conheça o Omie

Instalação

Composer

"canislupus/api-client-omie": "dev-master"

Utilização

use CanisLupus\ApiClients\Omie\v1\OmieApiClient;
use CanisLupus\ApiClients\Omie\v1\OmieApiConfig;

$clientOmie = new OmieApiClient(new OmieApiConfig('#appKey', '#appSecret'));

// A variável $clientOmie agora poderá ser utilizada para chamar os métodos da API

// Exemplo para a API de serviços

// LISTAR SERVIÇOS
// Irá trazer a primeira página de registros de serviços do Omie, permitindo filtros.
$servicos = $clientOmie->servicos->cadastro->listar();

// Há duas formas de filtrar a listagem, usando o objeto ListarServicosRequest.
$request = new ListarServicosRequest();
$request->inativo = 'N';
$servicosFiltrados = $clientOmie->servicos->cadastro->listar($request);

// Ou passando um array
$servicosFiltrados = $clientOmie->servicos->cadastro->listar(['inativo' => 'N']);


// LISTAR TODOS
// Irá trazer todos os serviços do Omie. Também permite os mesmos filtros do método listar. 
$servicos = $clientOmie->servicos->cadastro->listarTodos();
$servicosFiltrados = $clientOmie->servicos->cadastro->listarTodos($request);

Exemplos

Ordens de Serviço

use CanisLupus\ApiClients\Omie\v1\OmieApiClient;
use CanisLupus\ApiClients\Omie\v1\OmieApiConfig;

$clientOmie = new OmieApiClient(new OmieApiConfig('#appKey', '#appSecret'));

// LISTAR
// Irá trazer a primeira página de registros de ordens de serviço do Omie, permitindo filtros.
$ordensDeServico = $clientOmie->servicos->ordens->listar();

// Há duas formas de filtrar a listagem, usando o objeto ListarOrdensRequest
$request = new ListarOrdensRequest();
$request->ordenarPor = 'DATA_LANCAMENTO';
$request->filtrarPorEtapa = '50';
$ordensDeServicoFiltrados = $clientOmie->servicos->ordens->listar($request);

// Ou passando um array
$ordensDeServicoFiltrados = $clientOmie->servicos->ordens->listar([
    'ordenarPor'      => 'DATA_LANCAMENTO',
    'filtrarPorEtapa' => '50',
]);


// LISTAR TODOS
// Irá trazer todos os serviços do Omie. Também permite os mesmos filtros do método listar.
$ordensDeServico = $clientOmie->servicos->ordens->listarTodos();
$ordensDeServicoFiltrados = $clientOmie->servicos->ordens->listarTodos($request);


// INCLUIR
$ordemDeServico = new OrdemOmieModel();
$ordemDeServico->cabecalho->idIntegracao = '2';
$ordemDeServico->cabecalho->etapa = 10;
$ordemDeServico->cabecalho->dataPrevisao = '11/07/2023';
$ordemDeServico->cabecalho->idOmieCliente = '1266115471';
$ordemDeServico->cabecalho->quantidadeParcelas = 1;
$ordemDeServico->cabecalho->codigoParcela = '000';

$ordemDeServico->informacoesAdicionais->codigoCategoria = '1.01.02';
$ordemDeServico->informacoesAdicionais->idOmieContaCorrente = 1266022922;
$ordemDeServico->informacoesAdicionais->dadosAdicionaisNF = 'OS incluída via API';
$ordemDeServico->informacoesAdicionais->cidadeDePrestacaoDoServico = 'JUIZ DE FORA (MG)';

$servico1 = new ServicoPrestadoSubModel();
$servico1->idOmieServico = 2021517985;
$servico1->quantidade = 1;
$servico1->valorUnitario = 11.85;
$servico1->tipoDesconto = 'V';
$servico1->valorDesconto = 0;

$ordemDeServico->servicosPrestados[] = $servico1;

$result = $clientOmie->servicos->ordens->incluir($ordemDeServico);


// EXCLUIR
// Pegaremos uma OS qualquer para testar a exclusão
$ordensDeServico = $clientOmie->servicos->ordens->listarTodos();
$os = $ordensDeServico[0];

// É possível excluir passando 1 dos 3 tipos de identificadores possíveis
// O idOmie, podendo omitir o segundo argumento para este caso
$result = $clientOmie->servicos->ordens->excluir($os->cabecalho->idOmie, 'idOmie');
$result = $clientOmie->servicos->ordens->excluir($os->cabecalho->idOmie);

// idIntegracao ou numeroOs, devendo passar o segundo argumento de acordo
$result = $clientOmie->servicos->ordens->excluir($os->cabecalho->idIntegracao, 'idIntegracao');
$result = $clientOmie->servicos->ordens->excluir($os->cabecalho->numeroOs, 'numeroOs');


// ALTERAR
$os = $clientOmie->servicos->ordens->consultar(118, 'numeroOs');
$os->informacoesAdicionais->dadosAdicionaisNF = "Dados alterados pela API";

$result = $clientOmie->servicos->ordens->alterar($os);


// CONSULTAR
// É possível consultar passando 1 dos 3 tipos de identificadores possíveis
// O idOmie, podendo omitir o segundo argumento para este caso
$result = $clientOmie->servicos->ordens->consultar(2036552875, 'idOmie');
$result = $clientOmie->servicos->ordens->consultar(2036552875);

// idIntegracao ou numeroOs, devendo passar o segundo argumento de acordo
$result = $clientOmie->servicos->ordens->consultar('1222', 'idIntegracao');
$result = $clientOmie->servicos->ordens->consultar(102, 'numeroOs');


// VERIFICAR STATUS    
// Há duas formas de verificar o status, passando o objeto VerificarStatusOrdemRequest
$request = new VerificarStatusOrdemRequest('2036552875');
$request->exibirRecibo = true;
$statusOs = $clientOmie->servicos->ordens->verificarStatus($request);

// ou passando um array
$statusOs = $clientOmie->servicos->ordens->verificarStatus([
    'nCodOS' => '2036552875',
    'lRps'   => true,
]);


// TROCAR ETAPA
// Há duas formas de trocar o status, passando o objeto TrocarEtapaOrdemRequest
$request = new TrocarEtapaOrdemRequest('2036552875');
$request->etapa = 30;
$result = $clientOmie->servicos->ordens->trocarEtapa($request);

// ou passando um array
$result = $clientOmie->servicos->ordens->trocarEtapa([
    'nCodOS' => '2036552875',
    'cEtapa'   => 20,
]);

Em breve exemplos de utilização aqui.

Abrangência das API's

Lista de API's

Contribua

Faça a sua contribuição ao código abrindo um Pull Request.
Ou
Faça uma doação
Doe utilizando o PayPal!

Licença

  • MIT License