定制 joseluis21/integradte-sdk-php 二次开发

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

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

joseluis21/integradte-sdk-php

Composer 安装命令:

composer require joseluis21/integradte-sdk-php

包简介

SDK en PHP para consumir la API de IntegraDte.

README 文档

README

SDK en PHP para consumir la API de IntegraDte, basado en arquitectura hexagonal.

Instalacion

composer require IntegraDte/integradte-sdk-php

Estructura hexagonal

  • src/Domain: DTOs y builder para data_dte
  • src/Ports: contrato de salida (IntegraDteApiInterface)
  • src/Application: capa de servicio/casos de uso
  • src/Adapters/HttpIntegra: adapter HTTP para la API

Uso recomendado

<?php

require 'vendor/autoload.php';

use IntegraDte\Adapters\HttpIntegra\Client;
use IntegraDte\Adapters\HttpIntegra\Config;
use IntegraDte\Application\Service;
use IntegraDte\Domain\CreateDocumentRequest;

$adapter = new Client(new Config(
    apiKey: 'TU_X_API_KEY'
    // baseUrl: 'https://api.integradte.cl' // opcional
));

$service = new Service($adapter);

$dataDte = Client::encodeDataDte([
    'Encabezado' => [
        'IdDoc' => [
            'TipoDTE' => 33,
            'FchEmis' => '2026-02-03',
        ],
    ],
]);

$response = $service->createDocument(new CreateDocumentRequest(
    codeSii: '33',
    dataDte: $dataDte,
    idempotencyKey: 'mi-idempotency-key-1'
));

var_dump($response);

Crear data_dte desde string

<?php

use IntegraDte\Domain\DteBuilder;

$request = DteBuilder::createDocumentRequestFromString(
    codeSii: '33',
    dataDte: '{"Encabezado":{"IdDoc":{"TipoDTE":33,"FchEmis":"2026-02-03"}}}',
    userId: 'user_id',
    businessId: 'business_id',
    idempotencyKey: 'idem-key'
);

Crear data_dte desde structs tipadas (como SDK Go)

<?php

use IntegraDte\Domain\Dte\Detalle;
use IntegraDte\Domain\Dte\Dte33Data;
use IntegraDte\Domain\Dte\Emisor;
use IntegraDte\Domain\Dte\Encabezado33;
use IntegraDte\Domain\Dte\IdDocBase;
use IntegraDte\Domain\Dte\Receptor;
use IntegraDte\Domain\Dte\Totales;
use IntegraDte\Domain\DteBuilder;

$dte = new Dte33Data(
    encabezado: new Encabezado33(
        idDoc: new IdDocBase(tipoDte: 33, fchEmis: '2026-02-03'),
        emisor: new Emisor(
            rutEmisor: '12345689-3',
            rznSoc: 'EMPRESA DE PRUEBA',
            giroEmis: 'Servicios de desarrollo de software',
            dirOrigen: 'Av. Apoquindo 3000',
            cmnaOrigen: 'Las Condes'
        ),
        receptor: new Receptor(rutRecep: '12236547-6', rznSocRecep: 'Cliente de Prueba Ltda'),
        totales: new Totales(mntTotal: 119000, mntNeto: 100000, iva: 19000)
    ),
    detalle: [
        new Detalle(nroLinDet: 1, nmbItem: 'Servicio', montoItem: 100000),
    ]
);

$request = DteBuilder::dte33ToRequest(
    userId: 'user_id',
    businessId: 'business_id',
    idempotencyKey: 'idem-key',
    dte: $dte
);

Endpoints implementados

  • createDocument
  • getDocument
  • getDocumentStats
  • createCession
  • generatePdf
  • createBusiness
  • updateBusiness
  • uploadCertificate
  • getCertificateInfo
  • getMe
  • createPurchase
  • getNumerationSummary
  • getLastUsedFolio
  • uploadNumeration
  • deleteNumeration

Workflows incluidos

  • CI (.github/workflows/ci.yml): valida composer y ejecuta tests.
  • Release Please (.github/workflows/release-please.yml): PR/tag/release automaticos con Conventional Commits.
  • Auto Merge Release PR (.github/workflows/auto-merge-release-pr.yml): habilita automerge para PRs de release.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-18