menu
FR | EN

Documentation PHP pour l'API Octoplus

Pré-requis

require_once("api_library.php");

Authentification

Vos paramètres de connexion se trouvent dans la page "Paramètres API", disponible dans le menu de gauche. Les informations suivantes sont données à titre indicatif.

$login = "12345";
$password = "secret";

Interrogation du stock

Produits appelés sous la forme d'un tableau multidimensionnel

$product = array(
array(
"ean" => "3701348612517",
"franco" => 1,
"type" => 1
),
array(
"ean" => "5707562314648",
"franco" => 1,
"type" => 1
)
);

Paramètres de chaque tableau associatif
ean Obligatoire EAN du pneu recherché
franco Obligatoire 1 pour FRANCO2, 2 pour FRANCO6, 3 pour EXW
type Obligatoire 1 pour Meilleur prix, 2 pour Meilleur délai
quantity Facultatif Nombre de pneus souhaités
price Facultatif Prix HT souhaité
Appel de l'API

$stock = exchange_request($login,$password,$product);

Réponse

L'API renvoie un tableau multidimensionnel dont les clés correspondent aux EAN envoyés en paramètres ou une information textuelle en cas d'erreur.

// Gestion des erreurs

if (!is_array($stock))
{
       echo($stock);
       exit;
}

// Réponse API

foreach ($stock as $ean => $detail)
{
       echo("EAN : ".$ean.",
       Quantity : ".$detail["quantity"].",
       Price : ".$detail["price"].",
       Franco : ".$detail["franco"].",
       Type : ".$detail["type"].",
       Délai de livraison : ".$detail["delai"]);
}

Informations renvoyées par l'API
ean EAN du pneu recherché
franco 1 pour FRANCO2, 2 pour FRANCO6, 3 pour EXW
type 1 pour Meilleur prix, 2 pour Meilleur délai
quantity Nombre de pneus en stock
price Prix HT du pneu
delai Délai de livraison en jours
Codes erreurs
0 Identifiant manquant
1 Token manquant
2 Utilisateur non reconnu
3 Produit manquant
4 Mauvais format de produit
5 EAN manquant
6 Franco manquant
7 Type manquant
8 EAN inconnu
9 Franco inconnu
10 Franco incorrect
11 Stock insuffisant
12 Prix incorrect
13 Fournisseur incorrect
S0 Problème de connexion à l'API fournisseur
S1 Pas de réponse du fournisseur
S2 Produit inconnu chez le fournisseur
S3 Stock insuffisant chez le fournisseur
S4 Prix différent chez le fournisseur

Création d'une commande

La création d'une commande s'appuie sur 3 tableaux associatifs :

  • Coordonnées client,
  • Liste des produits (tableau multidimensionnel),
  • Données complémentaires.

// Client

$customer = array(
"contact_code" => "CRM123",
"contact_company" => "Octoplus",
"contact_juridicform" => "5",
"contact_siret" => "50045262300010",
"contact_notva" => "FR76300400500",
"contact_lastname" => "Dupont",
"contact_firstname" => "Pierre",
"contact_phone" => "0612345678",
"contact_mail" => "pierre.dupont@gmail.com",
"contact_street1" => "120 avenue de la République",
"contact_street2" => "ZA du Commerce",
"contact_zipcode" => "75015",
"contact_cityname" => "Paris",
"contact_country" => "FR",
"delivery_company" => "Octoplus",
"delivery_juridicform" => "5",
"delivery_siret" => "50045262300010",
"delivery_lastname" => "Dupont",
"delivery_firstname" => "Pierre",
"delivery_phone" => "0612345678",
"delivery_mail" => "pierre.dupont@gmail.com",
"delivery_street1" => "120 avenue de la République",
"delivery_zipcode" => "75015",
"delivery_cityname" => "Paris",
"delivery_country" => "FR",
"billing_company" => "Octoplus",
"billing_juridicform" => "5",
"billing_siret" => "50045262300010",
"billing_lastname" => "Dupont",
"billing_firstname" => "Pierre",
"billing_phone" => "0612345678",
"billing_mail" => "pierre.dupont@gmail.com",
"billing_street1" => "120 avenue de la République",
"billing_zipcode" => "75015",
"billing_cityname" => "Paris",
"billing_country" => "FR"
);

// Panier

$cart = array(
array(
"ean" => "5707562325330",
"quantity" => 8,
"price" => 15.59,
"franco" => 1,
"type" => 1
),
array(
"ean" => "3701348612517",
"quantity" => 4,
"price" => 20.01,
"franco" => 1,
"type" => 1
)
);

// Données complémentaires

$other = array(
"reference" => "TEST123",
"paymentmode" => "3",
"bankname" => "CIC",
"bankiban" => "FR765242135598",
"bankswift" => "CICBIC",
"deliverydate" => "2022-02-18"
);

Paramètres du tableau Client

Contact principal

contact_code Facultatif Code client dans l'ERP Octoplus
contact_company Facultatif Entreprise
contact_juridicform Facultatif Identifiant de la forme juridique (cf. liste ci-dessous)
contact_siret Facultatif Numéro de SIRET
contact_notva Facultatif Numéro de TVA intracommunautaire
contact_lastname Obligatoire Nom
contact_firstname Obligatoire Prénom
contact_phone Obligatoire Téléphone
contact_mail Obligatoire E-mail
contact_street1 Obligatoire Adresse
contact_street2 Facultatif Complément d'adresse
contact_zipcode Obligatoire Code postal
contact_cityname Obligatoire Ville
contact_country Obligatoire Code pays (ISO 3106)

Livraison

delivery_company Facultatif Entreprise
delivery_juridicform Facultatif Identifiant de la forme juridique (cf. liste ci-dessous)
delivery_siret Facultatif Numéro de SIRET
delivery_notva Facultatif Numéro de TVA intracommunautaire
delivery_lastname Obligatoire Nom
delivery_firstname Obligatoire Prénom
delivery_phone Obligatoire Téléphone
delivery_mail Obligatoire E-mail
delivery_street1 Obligatoire Adresse
delivery_street2 Facultatif Complément d'adresse
delivery_zipcode Obligatoire Code postal
delivery_cityname Obligatoire Ville
delivery_country Obligatoire Code pays (ISO 3106)

Facturation

billing_company Facultatif Entreprise
billing_juridicform Facultatif Identifiant de la forme juridique (cf. liste ci-dessous)
billing_siret Facultatif Numéro de SIRET
billing_notva Facultatif Numéro de TVA intracommunautaire
billing_lastname Obligatoire Nom
billing_firstname Obligatoire Prénom
billing_phone Obligatoire Téléphone
billing_mail Obligatoire E-mail
billing_street1 Obligatoire Adresse
billing_street2 Facultatif Complément d'adresse
billing_zipcode Obligatoire Code postal
billing_cityname Obligatoire Ville
billing_country Obligatoire Code pays (ISO 3106)
Paramètres de chaque tableau associatif du panier
ean Obligatoire EAN du pneu recherché
franco Obligatoire 1 pour FRANCO2, 2 pour FRANCO6, 3 pour EXW
type Obligatoire 1 pour Meilleur prix, 2 pour Meilleur délai
quantity Obligatoire Nombre de pneus souhaités
price Obligatoire Prix
Paramètres du tableau Données complémentaires
reference Facultatif Numéro de commande du client
paymentmode Facultatif Identifiant du mode de paiement (cf. liste ci-dessous)
bankname Facultatif Nom de la banque du client
bankiban Facultatif IBAN du client
bankswift Facultatif BIC du client
deliverydate Facultatif Date de livraison souhaitée, au format AAAA-MM-JJ
Appel de l'API

$order = order_request($login,$password,$customer,$cart,$other);

Réponse

L'API renvoie un numéro de commande (3 lettres en majuscules et 8 chiffres) sous la forme d'un tableau associatif dont la clé est "reference" ou une information textuelle en cas d'erreur.

// Gestion des erreurs

if (!is_array($order))
{
       echo($order);
       exit;
}

// Réponse API

echo("Reference : ".$order["reference"]);

Information renvoyée par l'API
reference Numéro de commande Octoplus
Codes erreurs
0 Identifiant manquant
1 Token manquant
2 Utilisateur non reconnu
3 Client manquant
4 Produits manquants
5 Données complémentaires manquantes
6 Mauvais format pour le client
7 Type d'interlocuteur inconnu
8 Nom manquant
9 Prénom manquant
10 Adresse manquante
11 Code postal manquant
12 Ville manquante
13 Pays manquant
14 Forme juridique inconnue
15 Numéro de TVA manquant
16 Pays inconnu
17 Mauvais format pour les produits
18 EAN manquant
19 Quantité manquante
20 Prix manquant
21  Franco manquant
22 Type manquant
23 EAN inconnu
24 Franco inconnu
25 Franco incorrect
26 Prix incorrect
27 Stock incorrect
28 Mauvais format pour les données complémentaires
29 Mode de paiement inconnu
30 Date de livraison non conforme
31 Panier vide
C0 Problème de connexion à l'API fournisseur
C1 Produit inconnu chez le fournisseur
C2 Commande refusée par le fournisseur

Statut d'une commande

Commandes appelées sous la forme d'un tableau multidimensionnel

$order = array(
array(
"reference" => "ABC12345678"
),
array(
"reference" => "DEF87654321"
)
);

Paramètres de chaque tableau associatif
reference Obligatoire Référence de la commande Octoplus (3 lettres et 8 chiffres) ou référence interne du client
Appel de l'API

$status = status_request($login,$password,$order);

Réponse

L'API renvoie un tableau multidimensionnel dont les clés correspondent aux références envoyées en paramètres ou une information textuelle en cas d'erreur.

// Gestion des erreurs

if (!is_array($status))
{
       echo($status);
       exit;
}

// Réponse API

foreach ($status as $reference => $infos)
{
       foreach ($infos as $detail)
       {
              echo("<p>Référence Octoplus :".$detail["reference"].",
              Référence client : ".$detail["internal"].",
              Statut : ".$detail["status"]."</p>"
              );
       }
}

Informations renvoyées par l'API
reference Référence Octoplus
internal Référence client
status

Statut de la commande (1 : En attente, 2 : Validée, 3 : Expédiée, 5 : Annulée)

Codes erreurs
0 Identifiant manquant
1 Token manquant
2 Utilisateur non reconnu
3 Commande manquante
4 Mauvais format de commande
5 Référence manquante
6 Référence inconnue

Tracking

Commandes appelées sous la forme d'un tableau multidimensionnel

$order = array(
array(
"reference" => "ABC12345678"
),
array(
"reference" => "DEF87654321"
)
);

Paramètres de chaque tableau associatif
reference Obligatoire Référence de la commande Octoplus (3 lettres et 8 chiffres) ou référence interne du client
Appel de l'API

$tracking = tracking_request($login,$password,$order);

Réponse

L'API renvoie un tableau multidimensionnel dont les clés correspondent aux références envoyées en paramètres ou une information textuelle en cas d'erreur.

// Gestion des erreurs

if (!is_array($tracking))
{
       echo($tracking);
       exit;
}

// Réponse API

foreach ($tracking as $reference => $infos)
{
       foreach ($infos as $detail)
       {
              echo("<p>Référence Octoplus :".$detail["reference"].",
              Référence client : ".$detail["internal"].",
              ID : ".$detail["id"].",
              Link : ".$detail["link"].",
              Carrier : ".$detail["carrier"]."</p>"
              );
       }
}

Informations renvoyées par l'API

En cas de tracking manquant, les valeurs du numéro de tracking, du lien de tracking et du transporteur sont vides.

reference Référence Octoplus
internal Référence client
id Numéro de tracking
link Lien de tracking
carrier Transporteur
Codes erreurs
0 Identifiant manquant
1 Token manquant
2 Utilisateur non reconnu
3 Commande manquante
4 Mauvais format de commande
5 Référence manquante
6 Référence inconnue

Factures

Commandes appelées sous la forme d'un tableau multidimensionnel

$order = array(
array(
"reference" => "ABC12345678"
),
array(
"reference" => "DEF87654321"
)
);

Paramètres de chaque tableau associatif
reference Obligatoire Référence de la commande Octoplus (3 lettres et 8 chiffres) ou référence interne du client
Appel de l'API

$billing = billing_request($login,$password,$order);

Réponse

L'API renvoie un tableau multidimensionnel dont les clés correspondent aux références envoyées en paramètres ou une information textuelle en cas d'erreur.

// Gestion des erreurs

if (!is_array($billing))
{
       echo($billing);
       exit;
}

// Réponse API

foreach ($billing as $reference => $infos)
{
       foreach ($infos as $detail)
       {
              echo("<p>Référence Octoplus :".$detail["reference"].",
              Référence client : ".$detail["internal"].",
              Référence de facture : ".$detail["number"].",
              Lien de la facture : ".$detail["link"]."</p>
              );
       }
}

Informations renvoyées par l'API

En cas de facture manquante, les valeurs de la référence de facture et du lien de la facture sont vides.

reference Référence Octoplus
internal Référence client
number Référence de facture
link Lien de la facture
Codes erreurs
0 Identifiant manquant
1 Token manquant
2 Utilisateur non reconnu
3 Commande manquante
4 Mauvais format de commande
5 Référence manquante
6 Référence inconnue

Annexes

Identifiants des formes juridiques
1 Association
2 EURL
3 SARL
4 SAS
5 SASU
6 SCI
7 SNC
8 Société civile
9 Entreprise individuelle
10 Auto-entreprise
11 EIRL
12 SCA
13 SCS
14 SA à conseil d'administration
15 Collectif
16 Collectivité territoriale
17 SELARL
18 SELAS
19 SELCA
20 Affaire personnelle commerçant
Identifiants des modes de paiement
1 Paiement en ligne
2 Chèque
3 Virement bancaire
4 Lettre de change
5 Prélèvement
expand_less