1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
| <?php
/**
* Used for importing Suppliers into Erply from a CSV spreadsheet.
*
* The format should look something like this:
*
* Code | First & Last Name | GroupID number | Notes
*
* Example:
* 100 Dieula Etienne 7 ED
*
*/
ini_set('max_execution_time', 180);
session_start();
// include ERPLY API class
include('EAPI.class.php');
// Initialise class
$api = new EAPI();
// Configuration settings
$api->url = "https://s3.erply.com/api/";
$api->clientCode = "49102";
$api->username = "<insert username>";
$api->password = "<insert password>";
////////////////////////////////////
// Supplier Groups
////////////////////////////////////
function getSupplierGroups() {
$supplierGroups = $api->sendRequest("getSupplierGroups", array());
$supplierGroupsOutput = json_decode($supplierGroups, true);
print "<pre>";
print_r($supplierGroupsOutput);
print "</pre>";
}
////////////////////////////////////
// Load CSV
////////////////////////////////////
function loadCSV() {
$csv = array();
$lines = file('suppliers.csv', FILE_IGNORE_NEW_LINES);
foreach ($lines as $key => $value)
{
$csv[$key] = str_getcsv($value);
}
echo '<pre>';
print_r($csv);
echo '</pre>';
return $csv;
}
////////////////////////////////////
// Get Suppliers
////////////////////////////////////
// Get client groups from API
// No input parameters are needed
$result = $api->sendRequest("getSuppliers", array("recordsOnPage" => 100));
// Default output format is JSON, so we'll decode it into a PHP array
$suppliers = json_decode($result, true);
//print_r($suppliers);
print "<pre>";
foreach (loadCSV() as $key => $row) {
$newCode = $row[0];
list($newFirst, $newLast) = explode(" ", $row[1]);
$newGroupID = $row[2];
$newNote = $row[3];
print "$newFirst | $newLast | $newCode | $newGroupID | $newNote <br />";
$isFound = FALSE;
$supplierId;
foreach ($suppliers["records"] as $key => $value) {
//print "Value code: " . strcmp($value["code"],$newCode) . " | " . $value["code"] . " | " . $newCode . " | <br />";
if(isset($value["code"]) && strcmp($value["code"],$newCode) == 0) {
$isFound = TRUE;
$supplierId = $value["supplierID"];
print "Found Code: $newCode for $newFirst with supplier id of $supplierId <br />";
break;
}
}
$saveSupplier;
if ($isFound) {
//Update supplier
$saveSupplier = array(
"supplierID" => $supplierId,
"firstName" => $newFirst,
"lastName" => $newLast,
"groupID" => $newGroupID,
"notes" => $newNote,
"code" => $newCode
);
print "Supplier will be *updated* with code: $newCode for $newFirst <br />\n";
} else {
//New Supplier
$saveSupplier = array(
"firstName" => $newFirst,
"lastName" => $newLast,
"groupID" => $newGroupID,
"notes" => $newNote,
"code" => $newCode
);
print "New Supplier will be added with code: $newCode for $newFirst <br />\n";
}
$result = $api->sendRequest("saveSupplier", $saveSupplier);
$suppliers = json_decode($result, true);
print_r($suppliers);
break;
}
print "</pre>";
?> |