Export des données du plugin Mondial Relay

  • Posts: 88
  • Thank you received: 8
  • Hikashop Business
2 years 1 month ago #345301

Bonjour!

J'ai fait l'acquisition du plugin Mondial Relay, qui marche bien et je me trouve face à une difficulté : Je voudrai exporter la liste de mes commandes pour l'importer (après mise en forme du CSV) dans l'interface Mondial Relay. Mais voilà le Hic : sauf erreur de ma part, les infos du Point Relay (n°ID, nom, adresse) ne sont pas exportable depuis les actions de masse... est-ce que je me trompe? Si non, comment pourrais-je faire pour récupérer ces infos nécessaires?

Merci d'avance pour votre réponse, bonne journée!

Last edit: 2 years 4 weeks ago by walkyrie.

Please Log in or Create an account to join the conversation.

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
2 years 1 month ago #345304

Bonjour,

Alors oui et non. Les données du point relai sont stockés dans la colonne order_shipping_params qui est exportable. Mais les données sont sérialisées ( en.wikipedia.org/wiki/Serialization ). Donc ce n'est pas une colonne pour l'id du point relai, une pour le nom, une pour l'adresse. Donc c'est potentiellement exploitable mais ça dépend de ce que vous voulez en faire suite à l'export.

Please Log in or Create an account to join the conversation.

  • Posts: 88
  • Thank you received: 8
  • Hikashop Business
2 years 1 month ago #345317

Merci pour cette réponse... ce que je veux en faire, c'est importer mes colis en csv sur l'interface de Mondial Relay pour pas avoir à faire des copié-collés à longueur de journée depuis mon site vers celui des expéditions de Mondial Relay....
Dans le champ "order_shipping_params" j'ai ce type de chaîne : O:8:"stdClass":1:{s:6:"prices";a:1:{s:3:"5@0";O:8:"stdClass":2:{s:14:"price_with_tax";s:7:"0.00000";s:3:"tax";d:0;}}}
Je comprends bien que c'est un encodage, mais je doute que, une fois décodé, on en sorte une adresse ou un nom de point relay...?

Please Log in or Create an account to join the conversation.

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
2 years 1 month ago #345320

Bonjour,

Etes-vous sûr que vous regardez le order_shipping_params pour une commande avec un point relai Mondial Relay de sélectionné ?
Mais bon, même avec les données dans le order_shipping_params, ce sera aussi "encodé".
Ce qu'il faudra faire, c'est soit:
- développer quelque chose pour permettre aux plugins de modifier à la volée le CSV exporté dans les actions de masse et modifier le plugin Mondial Relay pour implémenter cela pour qu'il rajoute ses colonnes.
- développer un script VBA sous Excel avec des regex ( www.automateexcel.com/vba/regex/ ) pour extraire les informations du CSV.

Please Log in or Create an account to join the conversation.

  • Posts: 88
  • Thank you received: 8
  • Hikashop Business
2 years 1 month ago #345598

Bonjour,

En effet, dans les cellules de la colonne "order_shipping_params" il y a un retour à la ligne, et j'y trouve les infos que je cherche (ex : s:12:"mondialrelay";a:1:{i:0;a:8:{s:2:"id";s:6:"083291";s:5:"addr1";s:12:"NOMXXX";s:5:"addr2";s:0:"";s:5:"addr3";s:28:"route de st georges d'orques";s:5:"addr4";s:23:"cc les portes du soleil";s:8:"postcode";i:34990;s:4:"city";s:8:"XXXNOM";s:7:"country";s:2:"FR";}}})

J'ai plus qu'à aller extraire tout ça en VB, ça va le faire.

Merci!

Please Log in or Create an account to join the conversation.

  • Posts: 88
  • Thank you received: 8
  • Hikashop Business
2 years 1 month ago #345919

Ca marche! Un peu laborieux à codé en VB sous excel, mais ça permet de créer un import exploitable par Mondial Relay...

Je vous mets la partie du code spécifique au découpage du champ mondial relay ici, à toutes fins utiles :

Sub decompmr()
Dim Caractere As String 'le caractère recherché
For L = 2 To 250
LaPositionentree = 0
LaPositionavant = 0
I = 0
J = 0
K = 2
chaine = Cells(L, 16)
Caractere = """"
N = 21
Do
    LaPositionentree = InStr(LaPositionentree + 1, chaine, Caractere)
    If LaPositionentree = 0 Then Exit Do
    I = I + 1
    J = J + 1
        If I = N Then
            J = 1
            LaPositionavant = LaPositionentree
        End If
            If I > N Then
                resnom = Mid(chaine, LaPositionavant + 1, LaPositionentree - LaPositionavant - 1)
                    If J Mod 2 = 0 Then
                        If resnom = "postcode" Then resnom = Mid(chaine, LaPositionavant + 13, LaPositionentree - LaPositionavant - 4)
                      '  MsgBox "" & resnom
                        Cells(L, K) = resnom
                        K = K + 1
                     End If
                LaPositionavant = LaPositionentree
            End If
Loop Until I = N + 30
Next
End Sub

Last edit: 2 years 1 month ago by nicolas.
The following user(s) said Thank You: nicolas

Please Log in or Create an account to join the conversation.

Time to create page: 0.064 seconds
Powered by Kunena Forum