Download the PHP package scell/sdk without Composer

On this page you can find all versions of the php package scell/sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sdk

Scell.io PHP SDK

Latest Version on Packagist Total Downloads License PHP Version

SDK PHP officiel pour l'API Scell.io - Facturation electronique (Factur-X/UBL/CII) et signature electronique (eIDAS EU-SES).

Features

Installation

Configuration

Variables d'environnement

Utilisation Standalone

Client API (integration backend)

Pour les integrations serveur-a-serveur avec API Key:

Creer une facture

Facturation internationale

Pour les parties non-francaises, le SIRET n'est pas requis. Utilisez les numeros de TVA pour les entreprises EU et legal_id avec un code de schema pour les entreprises hors-EU.

Facture avec acheteur belge (EU)

Note : Pour les transactions B2B intra-communautaires (ex: FR -> BE, FR -> DE), le taux de TVA est generalement 0% via le mecanisme d'autoliquidation. L'acheteur comptabilise la TVA dans son propre pays.

Facture avec acheteur UK (hors-EU)

Pour les acheteurs hors-EU, utilisez buyer_legal_id et buyer_legal_id_scheme en plus du numero de TVA :

Creer une signature

White-label avance + options de signature (v1.12.0)

Positions multiples par signataire (v2.27.0)

Le champ optionnel signerIndex (0-base) affecte explicitement une position de signature a un signataire precis (0 = premier signataire ajoute, 1 = deuxieme, etc.). EU-SES autorise desormais plusieurs positions pour un meme signataire : appelez addSignaturePosition() autant de fois que necessaire avec le meme signerIndex.

Notes :

Blocs personnalises (paraphe + mentions + date) — v2.12.0

Notes :

Client Dashboard (Bearer token)

Pour les operations via le dashboard utilisateur:

Onboarder un nouveau partenaire (SuperPDP OAuth2)

Le flow d'onboarding intègre SuperPDP pour gérer l'inscription, le KYB et la vérification d'identité de vos utilisateurs dans une popup. Une fois le flow complété, Scell provisionne automatiquement un tenant pour l'utilisateur.

Méthode Endpoint Description
createSession(array $input) POST /onboarding/sessions Créer une session d'onboarding
getSession(string $id) GET /onboarding/sessions/:id Consulter le statut d'une session
getSuperPDPAuthorizeUrl(string $sessionId) POST /onboarding/superpdp/authorize Obtenir l'URL OAuth2 SuperPDP
superpdpCallback(string $sessionId, string $code, string $state) POST /onboarding/superpdp/callback Finaliser l'enrôlement après redirect

Gerer les factures entrantes (fournisseurs)

Telecharger des fichiers

Gerer les sub-tenants

Méthode Endpoint Description
superpdpAuthorize(string $id) POST /tenant/sub-tenants/:id/superpdp-authorize Démarrer un flow OAuth2 SuperPDP pour un sub-tenant sans access token ({ authorize_url, state })
getResumeUrl(string $id) POST /tenant/sub-tenants/:id/resume-url Régénérer une URL signée de reprise d'onboarding (7 jours)
superpdpDisconnect(string $id) POST /tenant/sub-tenants/:id/superpdp-disconnect (v3.1.0) Révoquer les tokens SuperPDP du sub-tenant et repasser onboarding_status à pending_superpdp. Les factures déjà émises restent immuables (ISCA) ; les futures B2B passent en mode papier jusqu'à reconnexion. Retourne le SubTenantSummary
superpdpReconnect(string $id) POST /tenant/sub-tenants/:id/superpdp-reconnect (v3.1.0) Déconnexion suivie d'une nouvelle authorize_url en un seul appel. Retourne SuperPDPAuthorizeUrl
superpdpWidgetToken(string $id, bool $reset = false) POST /tenant/sub-tenants/:id/superpdp-widget-token (v3.1.0) Émettre un jeton signé (URL signée, scopée à UN sub-tenant, 24 h, anti-IDOR HMAC) pour le web component <scell-onboarding mode="superpdp" resume-token="...">. $reset = true déconnecte avant d'émettre le jeton

Factures pour les sub-tenants

Conformite fiscale (ISCA)

Documents de conformité ISCA

Statistiques et facturation

Gerer les avoirs (Credit Notes)

Resolution TVA cross-border (v2.18.0)

Avant d'emettre une facture vers un client etranger, interrogez le moteur de regles TVA pour determiner la categorie applicable (autoliquidation, hors-champ, taux reduit, etc.) :

VatCategory helpers (enum Scell\Sdk\Enums\VatCategory) :

Integration Laravel

Installation

Le SDK supporte l'auto-discovery Laravel. Publiez la configuration:

Configuration (.env)

Utilisation avec Facades

Controller de Webhook

Injection de dependances

Echeancier de paiement (Payment Schedule)

Associez un echeancier d'acomptes a un devis et convertissez chaque ligne en facture acompte.

Branding (Marque tenant et sub-tenant)

Personnalisez le logo, la couleur primaire et les textes des emails et PDFs emis.

Gestion des erreurs

Exceptions metier specifiques (v2.13.0+)

Types et Enums

Le SDK utilise des enums PHP 8.2+ pour les valeurs predefinies:

Configuration avancee

Tests

API Reference

ScellClient (Bearer token)

Resource Description
invoices() Gestion des factures electroniques (+ depositGroups()/depositGroup() pour les deals multi-factures, v3.5.0)
signatures() Gestion des signatures electroniques
companies() Gestion des entreprises
products() Catalogue produits/services (CRUD, scope tenant + sub_tenant)
productCategories() Categories du catalogue produits (CRUD)
balance() Consultation du solde
webhooks() Gestion des webhooks
branding() Configuration marque tenant (logo, couleur, textes emails, upload direct, apercu avec overrides)
documents() Apercu HTML non persiste d'un document en cours de saisie
invoiceTemplates() Templates de personnalisation factures/avoirs (CRUD, default, logo, derive-colors email + facture, preview, v3.5.0)
invoiceMentions() Assistant de mentions legales de facture : assistant() + preview() (v3.5.0)

ScellApiClient (API Key)

Resource Description
invoices() Factures (builder, download, audit trail, sendByEmail, depositGroups()/depositGroup() v3.5.0)
signatures() Signatures (builder, download, audit trail)
subTenants() Gestion des sub-tenants (CRUD, recherche)
tenantInvoices() Factures des sub-tenants (create, submit, update)
directInvoices() Factures directes (create, bulk operations)
incomingInvoices() Factures entrantes (accept, reject, markPaid)
creditNotes() Avoirs (create, send, download)
fiscal() Conformite fiscale ISCA (integrite, clotures, FEC)
stats() Statistiques (overview, monthly, par sub-tenant)
billing() Facturation plateforme (invoices, usage, top-up)
quotes() Devis (builder, send, convert, echeancier, paymentSchedule())
products() Catalogue produits/services (CRUD, scope tenant + sub_tenant)
productCategories() Categories du catalogue produits (CRUD)
branding() Configuration marque tenant + sub-tenant (logo, couleur, emails, upload direct, apercu avec overrides)
documents() Apercu HTML non persiste d'un document en cours de saisie
invoiceTemplates() Templates de personnalisation factures/avoirs (CRUD, default, logo, derive-colors email + facture, preview, v3.5.0)
invoiceMentions() Assistant de mentions legales de facture : assistant() + preview() (v3.5.0)

ScellTenantClient (Multi-Tenant Partner)

ScellTenantClient API Reference

Resource Methods
Direct methods me(), update(data), balance(), stats(), regenerateKey()
subTenants() list(), create(data), get(id), update(id, data), delete(id), findByExternalId(externalId)
directInvoices() list(filters), create(data), bulkCreate(invoices), bulkSubmit(ids), bulkStatus(ids)
directCreditNotes() list(filters), create(data), get(id), send(id), update(id, data), download(id), remainingCreditable(invoiceId)
invoices() listForSubTenant(subId, filters), createForSubTenant(subId, data), get(id), update(id, data), delete(id), submit(id), status(id), remainingCreditable(id)
creditNotes() listForSubTenant(subId, filters), createForSubTenant(subId, data), get(id), update(id, data), delete(id), send(id), download(id), remainingCreditable(invoiceId)
incomingInvoices() listForSubTenant(subId, filters), create(subId, data), get(id), accept(id, data), reject(id, reason, code), markPaid(id, ref, data)
signatures() (v2.7.0+) list(filters), get(id), listForSubTenant(subId, filters), getForSubTenant(subId, id) — read-only, scope tenant URL-nested. Pour les writes (create/remind/cancel/download/auditTrail), utiliser ScellApiClient::signatures().
fiscal() compliance(), integrity(params), integrityHistory(params), integrityForDate(date), closings(params), performDailyClosing(data), fecExport(params), attestation(year), attestationDownload(year), entries(params), killSwitchStatus(), killSwitchActivate(data), killSwitchDeactivate(data), anchors(params), rules(params), ruleDetail(key), ruleHistory(key, params), createRule(data), updateRule(id, data), exportRules(params), replayRules(data), forensicExport(params)
billing() invoices(params), showInvoice(id), downloadInvoice(id), usage(params), topUp(data), confirmTopUp(data), transactions(params)
detailedStats() overview(params), monthly(params), subTenantOverview(subId, params)

Webhook Events

Event Description
invoice.created Facture creee
invoice.validated Facture validee et conforme
invoice.transmitted Facture transmise au PDP
invoice.accepted Facture acceptee par le destinataire
invoice.rejected Facture rejetee
invoice.error Erreur de traitement de la facture
invoice.incoming.received Facture entrante recue
invoice.incoming.accepted Facture entrante acceptee
invoice.incoming.rejected Facture entrante rejetee
invoice.incoming.disputed Facture entrante contestee
invoice.incoming.paid Facture entrante payee
signature.created Signature creee
signature.waiting Signature en attente des signataires
signature.signer_completed Un signataire a signe
signature.signed Tous les signataires ont signe
signature.completed Tous les signataires ont signe
signature.refused Signature refusee
signature.expired Signature expiree
signature.error Erreur de traitement de la signature
balance.low Solde bas (seuil configurable)

Requirements

Contributing

Les contributions sont bienvenues. Merci de:

  1. Fork le repository
  2. Creer une branche (git checkout -b feature/amazing-feature)
  3. Commit les changements (git commit -m 'Add amazing feature')
  4. Push sur la branche (git push origin feature/amazing-feature)
  5. Ouvrir une Pull Request

Code Standards

Security

Si vous decouvrez une vulnerabilite, merci d'envoyer un email a [email protected] plutot que d'ouvrir une issue publique.

Changelog

Voir CHANGELOG.md pour l'historique des versions.

License

MIT License. Voir LICENSE pour plus d'informations.

Support


All versions of sdk with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
guzzlehttp/guzzle Version ^7.0
psr/http-message Version ^1.0 || ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package scell/sdk contains the following files

Loading the files please wait ...