• yohanndev

    (@yohanndev)


    Bonjour,
    Nous sommes la société Luxuryance et nous cherchons à mettre en place votre plugin qui nous a été conseillé par l’agence colissimo du Var.
    La partie paramètre a bien été renseigné puisque nous recevons bien un numéro de suivi.

    Système :
    Concernant WordPress, le site est à jour, plugin/theme/wordpress
    Concernant le plugin il est configuré en automatique pour imprimer en ZPL_10x15 203dpi
    Concernant l’imprimante, elle fonctionne fonctionne sur un Windows 10 à jour avec les bons drivers du site Datamax-O’Neil :
    – impression d’étiquette via “Expeditor” OK
    – impression via le panneau impression windows sur un pdf en 10×15 OK
    – impression via le plugin sous wordpress KO!

    Déroulement :
    On utilise le bouton “automatique” de la passerelle pour récupérer le numéro de suivi, ( l’impression devrait elle se lancer automatiquement à la reception du numéro ? )puis en utilise le bouton “Etiquette” et ca ne marche pas toujours pas

    Les messages d’erreurs :
    – navigateur : Failed to load resource: the server responded with a status of 500 (Internal Server Error) => /wp-admin/admin.php?page=Colissimo-page
    – Et dans les logs NGINX :
    PHP message: *** LOG CDI – LINE:79 FILE:/includes/WC-function-Colissimo.php ***: error – request creds” while reading response header from upstream, client: 10.91.XXX.xxx, server: https://www.luxuryance.fr, request: “POST /wp-admin/admin.php?page=Colissimo-page HTTP/1.0”, upstream: “fastcgi://unix:/var/run/php-fpm/php-fpm.sock:”, host: “www.luxuryance.fr”, referrer: “/wp-admin/admin.php?page=Colissimo-page”
    2017/11/17 12:21:28 [error] 17890#17890: *23470044 FastCGI sent in stderr: “PHP message: *** LOG CDI – LINE:39 FILE:/includes/WC-colissimo-choix-livraison.php ***: legacy_flat_rate -” while reading response header from upstream, client: 10.xxx.xxx.xx, server: https://www.luxuryance.fr, request: “GET /?add-to-cart=9158 HTTP/1.0”, upstream: “fastcgi://unix:/var/run/php-fpm/php-fpm.sock:”, host: “www.luxuryance.fr”, referrer: “https://www.luxuryance.fr”

    Pouvez vous m’aider à identifier le soucis, faut il comme on nous l’a conseillé pour un prestashop, un plugin d’impression du type : SoNice étiquetage ??
    Merci pour toute l’aide que vous pourrez me fournir
    Cordialement
    Yohann

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Halyra

    (@harasse)

    Bonjour,

    On utilise le bouton “automatique” de la passerelle pour récupérer le numéro de suivi, ( l’impression devrait elle se lancer automatiquement à la reception du numéro ? )puis en utilise le bouton “Etiquette” et ca ne marche pas toujours pas

    ?:
    Le bouton “Etiquette” ne sert que pour produire des étiquettes adresse (non Colissimo) pour enveloppes et non pour les étiquettes d’affranchissement Colissimo.
    Après avoir cliqué sur le bouton “automatique” de la passerelle, le code de suivi doit appara?tre dans la passerelle. Ensuite vous devez retourner dans la liste des commandes et ouvrir la commande où vous trouverez alors un bouton d’impression dans la métabox Colissimo.

    Vos logs NGINX

    ?:
    Les étiquettes d’affranchissements et les CN23 sont stockés dans un répertoire ‘/wp-content/uploads/cdistore’ et non dans une table DB pour ne pas encombrer inconsidérément vos bases de données.
    L’erreur que vous avez signifie que votre système a refusé d’accorder les droits nécessaires à CDI quand celui-ci les a demandé pour stocker une étiquette d’affranchissement.
    C’est de ce coté la qu’il faudrait regarder. Ce n’est pas en rapport avec votre imprimante.

    Thread Starter yohanndev

    (@yohanndev)

    Bonjour,
    Tout d’abord merci pour votre réponse rapide. Hier j’ai décortiqué le code et effectivement il y a avait un problème pour créer le dossier cdistore dans uploads/.
    CDI a t’il des droits particuliers ??? WordPress possède les droits pour mettre à jour les plugins, ainsi qu’écrire dans uploads/ pour les dossiers photos : 2017/11/….
    Je ne l’ai pas précisé mais nous sommes en php7.0.24 et n’ayant pas l’imprimante DataMax à proximité pour les tests à domicile, je suis en mode “PDF 10×15”. Mais dès Lundi je regarderai à nouveau en mode “ZPL_10x15 203dpi”

    J’ai édité le fichier [includes/WC-function-Colissimo.php] :
    Dans la fonction cdi_uploads_put_contents() les références à request_filesystem_credentials() de WordPress sont en erreurs. a?e! Finalement après recherche je les ai mis en commentaire, idem pour $wp_filesystem->put_contents(). J’ai utilisé à la place la fonction file_put_contents() et le fichier c’est créé OK ??
    J’ai reporté ce type de modification dans les fonctions :

    cdi_uploads_get_contents() => file_get_contents() 
    cdi_delete_order() => unlink($filename);

    Le bouton “Print label” appara?t à présent en éditant la commande ( après avoir bien évidement utiliser le bouton “automatique pour récupérer un numéro de suivi )
    Et de nouveau un soucis, en cliquant dessus, je n’ai que du texte[code pdf] qui appara?t à l'écran. Est ce que ca devrait lancer l’aper?u d'impression Windows ? Je ne vois pas de code javascript document.print sur le bouton
    J'ai cherché alors dans le fichier WC_print-localpdf-labelandcn23.php() et j'ai certainement pas saisi la mécanique pour : header('Content-type: text/pdf' ); Je l'ai remplacé par :

    header('Content-type: application/pdf');
    header('Content-Disposition: inline; filename="' . $thepdffile . '"');
    header('Content-Transfer-Encoding: binary');
    header('Accept-Ranges: bytes');

    Ce qui me permet de récupérer le pdf en for?ant le téléchargement.., mais au final on s'éloigne du principe d'impression car grace au lien donné dans la Passerelle d'expédition, je peux récupérer aussi le fichier ici, pas sur que ce soit utile comme code.

    Vous l'aurez compris, je suis un peu perdu, mais optimiste ?? Votre code est très clair et bien écrit, je devrais pouvoir arriver à lui faire faire ce que je souhaite. Nous sommes à plus de 100 commandes jours, l'automatisation de certaine tache en minimisant les interactions dans l'admin WordPress va devenir crucial pour nous.

    Bon Weekend
    Yohann

    Plugin Author Halyra

    (@harasse)

    La référence url vers une étiquette va disparaitre très prochainement selon LaPoste-Colissimo.

    Vérifiez qu’il n’y a pas une constante FS_METHOD forcée dans wp-config.php.

    Thread Starter yohanndev

    (@yohanndev)

    Nous utilisons sur tout nos sites : FS_METHOD = ‘ssh2’ avec les paramètres qui vont avec, à savoir : FTP_BASE / FTP_USER / FTP_PASS / FTP_HOST
    Est ce que ca pourrait être à l’origine du soucis pour l’utilisation des fonctions request_filesystem_credentials() et la classe wp_filesystem ? Je n’ai jamais eu de soucis avec jusqu’à present.
    merci pour vos retours.

    Thread Starter yohanndev

    (@yohanndev)

    Je continue dans le debug intensif et nous sommes repassés en mode “ZPL” pour tester l’imprimante.
    PHP message: *** LOG CDI – LINE:328 FILE:/includes/WC-gateway-colissimo-auto.php ***:” while reading response header from upstream.

    La classe ColissimoAFServiceGenerate() qui permet de créer la variable $ok
    $ok = $ColissimoAFServiceGenerate->getResult();
    Renvoie le champ vide ‘pdfUrl’ de plus alors que précédement en mode ‘PDF’ dans uploads/cdistore j’obtenais CDI-label-13865.txt avec comme contenu un pdf. Maintenant je n’ai que “JVBERiUlRU9G” la meme séquence quelque soit les commandes .
    Est ce un mauvais réglage ?
    ex:

    ColissimoAFStructGenerateLabelResponse Object
    (
        [return] => ColissimoAFStructGenerateLabelResponseType Object
            (
                [labelXmlReponse] => 
                [labelResponse] => ColissimoAFStructLabelResponse Object
                    (
                        [label] => 
                        [cn23] => 
                        [parcelNumber] => 6C13649963551
                        [parcelNumberPartner] => 0092140116C1364996355802250Y
                        [pdfUrl] => 
                        [result:ColissimoAFWsdlClass:private] => 
                        [lastError:ColissimoAFWsdlClass:private] => 
                        [internArrayToIterate:ColissimoAFWsdlClass:private] => 
                        [internArrayToIterateIsArray:ColissimoAFWsdlClass:private] => 
                        [internArrayToIterateOffset:ColissimoAFWsdlClass:private] => 
                    )
    
                [messages] => Array
                    (
                        [0] => ColissimoAFStructMessage Object
                            (
                                [id] => 0
                                [messageContent] => La requ?ate a ??t?? trait??e avec succ?¨s
                                [type] => INFOS
                                [result:ColissimoAFWsdlClass:private] => 
                                [lastError:ColissimoAFWsdlClass:private] => 
                                [internArrayToIterate:ColissimoAFWsdlClass:private] => 
                                [internArrayToIterateIsArray:ColissimoAFWsdlClass:private] => 
                                [internArrayToIterateOffset:ColissimoAFWsdlClass:private] => 
                            )
    
                    )
    
                [result:ColissimoAFWsdlClass:private] => 
                [lastError:ColissimoAFWsdlClass:private] => 
                [internArrayToIterate:ColissimoAFWsdlClass:private] => 
                [internArrayToIterateIsArray:ColissimoAFWsdlClass:private] => 
                [internArrayToIterateOffset:ColissimoAFWsdlClass:private] => 
            )
    
        [result:ColissimoAFWsdlClass:private] => 
        [lastError:ColissimoAFWsdlClass:private] => 
        [internArrayToIterate:ColissimoAFWsdlClass:private] => 
        [internArrayToIterateIsArray:ColissimoAFWsdlClass:private] => 
        [internArrayToIterateOffset:ColissimoAFWsdlClass:private] => 
    )
Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Impression Datamax E-Class Mark III’ is closed to new replies.