定制 canislupus/api-client-omie 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

canislupus/api-client-omie

Composer 安装命令:

composer require canislupus/api-client-omie

包简介

Client for Omie ERP API

README 文档

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

Total de API's 128
Total de API's abrangidas 100% 1
Percentual abrangido 100% 1,28%

Lista de API's

Grupo SubGrupo Recurso Situação
Geral Clientes, Fornecedores, Transportadoras, etc 75%
Geral Clientes - Características 0%
Geral Clientes - Tags 75%
Geral Vendedores 0%
Geral Projetos 0%
Geral Empresas 50%
Geral Departamentos 0%
Geral Categorias 0%
Geral Parcelas 0%
Geral Tipos de Atividade da Empresa 0%
Geral Cidades 5%
Geral Países 0%
Geral Documentos Anexos 0%
Geral Tipos de Anexos 0%
Geral Tipo de Entrega 0%
Geral Tipo de Assinante 0%
Geral Finanças Tipos de Documento 0%
Geral Finanças Tipos de Contas Correntes 0%
Geral Finanças Contas Correntes 25%
Geral Finanças Bancos 0%
Geral Finanças Contas do DRE 0%
Geral Finanças Finalidade de Transferência 0%
Geral Finanças Origem de títulos 0%
Geral Finanças Bandeiras de Cartão 0%
Geral Produtos Produtos 25%
Geral Produtos Produtos - Características 0%
Geral Produtos Produtos - Estrutura 0%
Geral Produtos Produtos - Kit 0%
Geral Produtos Familias de Produto 0%
Geral Produtos Unidades 0%
Geral Produtos Cenário de Impostos 50%
Geral Produtos Características 0%
Geral Produtos Meios de Pagamento 0%
Geral Produtos Origem do Pedido 0%
Geral Produtos Motivos de Devolução 0%
CRM Contas 0%
CRM Contas - Características 0%
CRM Contatos 0%
CRM Oportunidades 0%
CRM Oportunidades - Resumo 0%
CRM Tarefas 0%
CRM Tarefas - Resumo 0%
CRM Auxiliares Soluções 0%
CRM Auxiliares Fases 0%
CRM Auxiliares Usuários 0%
CRM Auxiliares Status 0%
CRM Auxiliares Motivos 0%
CRM Auxiliares Tipos 0%
CRM Auxiliares Parceiros 0%
CRM Auxiliares Finders 0%
CRM Auxiliares Origens 0%
CRM Auxiliares Concorrentes 0%
CRM Auxiliares Verticais 0%
CRM Auxiliares Tipos de Tarefas 0%
Finanças Contas Correntes - Lançamentos 0%
Finanças Contas a Pagar - Lançamentos 0%
Finanças Contas a Receber - Lançamentos 25%
Finanças Contas a Receber - Boletos 25%
Finanças Contas a Receber - PIX 0%
Finanças Extrato de Conta Corrente 0%
Finanças Orçamento de Caixa 0%
Finanças Pesquisar Títulos 0%
Finanças Movimentos Financeiros 0%
Finanças Resumo 0%
Produtos Compras Requisições de Compra 0%
Produtos Compras Pedidos de Compra 0%
Produtos Compras Ordens de Produção 0%
Produtos Compras Nota de Entrada 0%
Produtos Compras Nota de Entrada - Faturamento 0%
Produtos Compras Recebimento de Nota Fiscal 0%
Produtos Compras Resumo 0%
Produtos Auxiliares Formas de Pagamento 0%
Produtos Auxiliares NCM 0%
Produtos Auxiliares Etapas de Faturamento 0%
Produtos Auxiliares Tabela de Preços 75%
Produtos Impostos CFOP 0%
Produtos Impostos CNAE 0%
Produtos Impostos ICMS - CST 0%
Produtos Impostos ICMS - CSOSN 0%
Produtos Impostos ICMS - Origem da Mercadoria 0%
Produtos Impostos PIS - CST 0%
Produtos Impostos COFINS - CST 0%
Produtos Impostos IPI - CST 0%
Produtos Impostos IPI - Enquadramento 0%
Produtos Impostos Tipo de Cálculo 0%
Produtos Impostos CEST 0%
Produtos Venda Pedidos de Venda - Resumido 0%
Produtos Venda Pedidos de Venda 75%
Produtos Venda Pedidos de Venda - Faturamento 0%
Produtos Venda Pedidos de Venda - Etapas 0%
Produtos Venda CT-e / CT-e OS 0%
Produtos Venda Remessa de Produtos 0%
Produtos Venda Remessa de Produtos - Faturamento 0%
Produtos Venda Resumo 0%
Produtos Venda Obter Documentos 0%
Produtos Cupom Fiscal Adicionar 0%
Produtos Cupom Fiscal Cancelar ou excluir 0%
Produtos Cupom Fiscal Consultar 0%
Produtos Cupom Fiscal Importar NFC-e 0%
Produtos Cupom Fiscal Importar CFe-Sat 0%
Produtos NF-e Consultas 0%
Produtos NF-e Utilitários 0%
Produtos NF-e Importar 0%
Estoque Ajustes de Estoque 0%
Estoque Consulta Estoque 25%
Estoque Movimento Estoque 0%
Estoque Locais de Estoque 25%
Estoque Resumo do Estoque 0%
Estoque Auxiliares Compradores 0%
Estoque Auxiliares Produto x Fornecedor 0%
Serviços Serviços 25%
Serviços Ordens de Serviço 100%
Serviços Ordens de Serviço - Faturamento 0%
Serviços Contratos de Serviço 0%
Serviços Contratos de Serviço - Faturamento 0%
Serviços Resumo 0%
Serviços Obter Documentos 0%
Serviços NFS-e Consultas 0%
Serviços Auxiliares Serviços no Município 0%
Serviços Auxiliares Tipos de Tributação 0%
Serviços Auxiliares LC 116 0%
Serviços Auxiliares NBS 0%
Serviços Auxiliares IBPT 0%
Serviços Auxiliares Tipo de Faturamento de Contrato 0%
Serviços Auxiliares Tipo de utilização 0%
Serviços Auxiliares Classificação do Serviço 0%
Contador Documentos Fiscais 0%
Contador Resumo 0%

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

canislupus/api-client-omie 适用场景与选型建议

canislupus/api-client-omie 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 16 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 07 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「api」 「client」 「ERP」 「omie」 「canis lupus」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 canislupus/api-client-omie 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 canislupus/api-client-omie 我们能提供哪些服务?
定制开发 / 二次开发

基于 canislupus/api-client-omie 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 16
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-07-12