REST API v3: POST imports
Je kunt een import starten door een HTTP POST-request te sturen naar de volgende URL:
https://api.copernica.com/v3/imports?access_token=xxxx
Beschikbare parameters
De volgende parameters kunnen aan de URL als variabelen worden toegevoegd:
- database: ID van de database.
- name: Naam van de import.
- followups: Moeten opvolgacties uitgevoerd worden op (sub)profielen in import? (true/false)
- autostart: Moet de import direct uitgevoerd worden? (true/false)
- rebuild: Moeten de selecties worden opgebouwd na de import? (true/false)
- action: Welk doel heeft de import? Opties: add, update, update or add, ignore or add, delete.
- keyFields: Array van sleutelvelden die gebruikt worden bij de import.
- ignoreEmptyFields: Moeten lege velden in het importbestand genegeerd worden en de originele waarde blijven bestaan? (true/false)
- removeMissing: Moeten de (sub)profielen die niet in het importbestand voorkomen verwijderd worden uit de database? (true/false)
- deleteTarget: Bij de action delete kun je hier aangeven wat je wilt verwijderen. (profile/subprofile)
- location: URL naar een externe locatie waar het importbestand te vinden is.
- source: De data als je de import niet vanuit een externe locatie ophaalt (string of array).
- format: Optionele parameter waarin het formaat van de source aangegeven kan worden zodra er gebruik gemaakt wordt van een string als source. (csv/json)
- delimiter: Scheidingsteken van de data. Verplicht bij een CSV-bestand en geen array-input. ("\t", ",", ";")
Opmerking: de standaardwaarde is vetgedrukt.
Voorbeeld in JSON
De volgende JSON demonstreert hoe je de API methode kunt gebruiken:
{
"database": 1,
"name": "import_name",
"followups": true,
"autostart": true,
"rebuild": "false",
"action": "update or add",
"keyFields": ["email"],
"ignoreEmptyFields": false,
"removeMissing": false,
"format": "json",
"source": [
{
"email": "email@example.com",
"name": "John"
},
{
"email": "email2@example.com",
"name": "Jane"
}
]
}
Voorbeeld in PHP
Het volgende PHP script demonstreert hoe je de API-methode kunt aanroepen:
// vereiste scripts
require_once('copernica_rest_api.php');
// verander dit naar je access token
$api = new CopernicaRestAPI("your-access-token", 3);
// data voor de methode
$data = array(
"database" => 1,
"name" => "TestImport",
"rebuild" => true,
"action" => "update or add",
"keyFields" => array("Email"),
"format" => "json",
"source" => '[
{
"Email": "support@copernica.com",
"Contactpersoon": "Jeroen"
},
{
"Email": "info@copernica.com",
"Contactpersoon": "Danny"
}
]'
);
// voer de methode uit en print het resultaat
$api->post("imports/", $data);
Dit voorbeeld vereist de REST API-klasse.
Belangrijk
De volgorde van de velden die gebruikt worden in de 'source' parameter moeten voor alle profielen in dezelfde volgorde staan. Op basis van bovenstaand voorbeeld zal dit niet werken:
{
"Email": "support@copernica.com",
"Contactpersoon": "Jeroen"
},
{
"Contactpersoon": "Danny",
"Email": "info@copernica.com"
}
Voorbeeld met subprofielen in PHP
Het volgende PHP-script demonstreert hoe je de API-methode kunt aanroepen in combinatie met subprofielen:
// vereiste scripts
require_once('copernica_rest_api.php');
// verander dit naar je access token
$api = new CopernicaRestAPI("your-access-token", 3);
// data voor de methode
$data = array(
"database" => 1,
"name" => "TestImport",
"rebuild" => true,
"action" => "update or add",
"keyFields" => array("Email", "Order.OrderID"),
"format" => "json",
"source" => '[
{
"Email": "support@copernica.com",
"Contactpersoon": "Jeroen",
"Order.OrderID": "00001",
"Order.Status": "Completed"
},
{
"Email": "info@copernica.com",
"Contactpersoon": "Danny",
"Order.OrderID": "00002",
"Order.Status": "Shipped"
}
]'
);
// voer de methode uit en print het resultaat
$api->post("imports/", $data);
Dit voorbeeld vereist de REST API-klasse.
Belangrijk
De volgorde van de velden die gebruikt worden in de 'source' parameter moeten voor alle (sub)profielen in dezelfde volgorde staan. Op basis van bovenstaand voorbeeld zal dit niet werken:
{
"Email": "support@copernica.com",
"Contactpersoon": "Jeroen",
"Order.OrderID": "00001",
"Order.Status": "Completed"
},
{
"Email": "info@copernica.com",
"Contactpersoon": "Danny",
"Order.Status": "Shipped",
"Order.OrderID": "00002"
}