Aller au contenu principal

Frameworks

Drupal 10 — Intégration Scell.io

Module Drupal via SDK PHP + Hook System

Le SDK PHP `scell/sdk` v3.5.0 s'intègre dans un module Drupal 10 via `composer require` au niveau racine. Service défini dans `mymodule.services.yml`, injecté dans les controllers/services via dependency injection. Hook `hook_entity_insert()` pour générer une facture sur création d'une commande Commerce. Compatible Drupal Commerce 3.

À retenir

  • `composer require scell/sdk` à la racine Drupal
  • Service défini dans `mymodule.services.yml`
  • Hook `hook_entity_insert()` pour Commerce orders
  • Configuration via `Drupal::config('mymodule.settings')`
  • Compatible Drupal 10.2+, PHP 8.2+

Exemple de code

use Scell\Sdk\Client;
use Drupal\commerce_order\Entity\OrderInterface;

function mymodule_commerce_order_insert(OrderInterface $order) {
  $apiKey = \Drupal::config('mymodule.settings')->get('scell_api_key');
  $client = new Client($apiKey);
  $builder = $client->invoices()->builder()->facturX();

  foreach ($order->getItems() as $item) {
    $builder->addLine($item->getTitle(), (int)$item->getQuantity(), (float)$item->getTotalPrice()->getNumber(), 20.0);
  }
  $invoice = $builder->create();
  $order->set('field_scell_invoice', $invoice->id)->save();
}

Voir aussi

Vos préférences cookies

Nous utilisons des cookies pour améliorer votre expérience. Les cookies essentiels sont toujours actifs. Politique cookies.