canislupus / api-client-omie
Client for Omie ERP API
0.2.0
2023-07-13 17:36 UTC
Requires
- php: ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7
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
Licença
- MIT License