@horizon-integrations/publisher-crm
v3.0.0
Published
Adapter de integração com o CRM Publisher — padrão Airbyte (@horizon-js/integrations-core)
Downloads
334
Maintainers
Readme
@horizon-integrations/publisher-crm
Adapter de integração com o CRM Publisher, seguindo o padrão canônico
Airbyte do @horizon-js/integrations-core (TypeScript-first). Mesma estrutura
de jetimob-crm e si9-crm.
Instalação
pnpm add @horizon-integrations/publisher-crmUso rápido
import { PublisherSource } from "@horizon-integrations/publisher-crm"
import { SyncMode } from "@horizon-js/integrations-core"
const source = new PublisherSource()
const { ok } = await source.check({ email, password })
if (!ok) throw new Error("credenciais Publisher inválidas")
const [stream] = source.streams({ email, password })
for await (const property of stream.readRecords(SyncMode.FULL_REFRESH)) {
await db.properties.upsert(property)
}Alto nível (sem streams):
import { fetchAll } from "@horizon-integrations/publisher-crm"
const { properties, errors } = await fetchAll({ credentials: { email, password } })3 camadas
- Camada 1 — Airbyte:
PublisherSource,PublisherPropertyStream,PublisherAuth,publisherManifest,publisherSpec. - Camada 2 — Conveniência:
fetchAll,getListing,fetchByRef,PropertyDownloader. - Camada 3 — Conversão/schemas:
convertPublisherRawToHorizon,publisherPropertySchema,HorizonPropertySchemaByPublisherZod.
Características da API (ver docs/)
- Auth por login → JWT (
POST /api/v1/auth). Cache + refresh emPublisherAuth. - Paginação cursor (
?startKey). - Campos extras com
audit.origin: "provider-extra"(taxonomia canônica).
Docs: docs/API_REFERENCE.md ·
docs/FICHA_TECNICA_INTEGRACAO.md ·
CHANGELOG.md.
Licença
MIT
