Skip to main content

Point important : à l’heure actuelle, il est obligatoire de faire la demande auprès de Kreezalid pour intégrer le script à son site afin de faire une redirection de checkout.

La redirection vers un service de livraison lors du checkout d’une commande est bien possible sur une marketplace kreezalid.

Cette redirection s’effectue grâce à un script que vous devrez écrire dans l’index de votre site. Il y a différentes étapes à suivre pour mettre en place cette redirection.

PS : les exemples montrés dans cet article montre comment créer une redirection vers le service de livraison Mondial Relay, mais cette demarche fonctionne avec tous les autres services de livraison.

Les étapes de cette procédure vont vous faire rajouter du code PHP directement dans votre index.

Etape 1 : Configuration

Dans un premier temps, vous devrez définir des variables essentielles à cette redirection. Voici la liste de ces variables :
-API_KEY
-API_SECRET
-API_BASE_URL
-MONDIAL_RELAY_ID (à changer par le système de livraison que vous souhaitez intégrer)
-MONDIAL_RELAY_BRAND (même chose qu’au-dessus)

Etape 2 : Extraire les id des commandes

Dans cette étape, vous devrez écrire le code qui vous permettra de récupérer la ou les id des différentes commandes du panier de votre site.

Etape 3 : Se connecter à l’API de Kreezalid

Dans cette étape, vous allez vous connecter à notre API en utilisant les éléments que vous aurez initiés dans la première étape. Voici un exemple de cette connexion :

$kreezalidApiClient = new KreezalidKreezalidApi();
$kreezalidApiClient->Config->setApiSecret(API_SECRET);
$kreezalidApiClient->Config->setApiKey(API_KEY);
$kreezalidApiClient->Config->setApiUrl(API_BASE_URL);

Etape 4 : Récupérer les informations de commandes

Dans cette étape, vous devrez récupérer les informations de commandes à l’aide des id que vous avez extraites à l’étape 2. Cette extraction pourra se faire à l’aide de la boucle for each suivante :

$orders = [];
$orders = [];
foreach ($orderIDs as $_orderID) {
    $orders[] = $kreezalidApiClient->Orders->get($_orderID);
}

unset($orderIDs);
unset($orderIDs);

Vous noterez qu’on vide notre $order_ID après avoir récuperer les informations de commande dans un tableau nouvellement créé.

Etape 5 : Vérifier si la méthode de livraison choisie est bien celle que vous configurez (dans notre exemple Mondial Relay)

Dans cette étape, vous devrez vérifier que le système de livraison est bien celui vers qui on a choisi de rediriger le client. Pour ce faire, vous devrez encore une fois employer une boucle for each qui va parcourir les informations de commandes que vous avez récupérées à l’étape précédente. Voici un exemple du code nécessaire pour cette étape :

foreach ($orders as $order) {
    if(is_array($order->shippings) && !empty($order->shippings)) {
        if($order->status === 'draft' && $order->shippings['id'] === MONDIAL_RELAY_ID) {
            $ordersWithMondialRelay[] = $order;
            if(
                    isset($order->shippings['address'])
                    && !empty($order->shippings['address'])
                    && isset($order->shippings['address']['postcode'])
            ) {
                $defaultPostCode = $order->shippings['address']['postcode'];
            }
        }
    }
}

unset($orders);

Etape 6 : Afficher la map qui permet de choisir son point de relais

Dans cette étape, vous devrez vérifier s’il y a au moins une commande qui utilise le système de livraison vers qui vous voulez rediriger vos clients. Si c’est le cas, vous devrez faire en sorte d’afficher la carte montrant les points de relais disponibles.

Etape 7 : Sauvegarder le point de relais choisi et la vérification dans les métadonnées

Dans cette étape, vous devrez faire en sorte de sauvegarder le point relais choisi par l’utilisateur et stocker les informations de ce point dans les métadonnées de votre site.

Etape 8 : La redirection vers le checkout

Dans cette étape, vous allez configurer la redirection vers la page de checkout en ajoutant ce bout de code à votre index :

header(‘Location: ‘ . $redirect_url);
exit;

N’oubliez pas de charger les éléments nécessaires à cette redirection dans votre code. (Jquery, Leaflet et le widget de votre méthode de livraison)