REST API v4: POST imports
Je kunt een import starten door een HTTP POST-request te sturen naar de volgende URL:
https://api.copernica.com/v4/imports
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('CopernicaRestAPI.php');
// verander dit naar je access token
$api = new CopernicaRestAPI("your-access-token", 4);
// 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('CopernicaRestAPI.php');
// verander dit naar je access token
$api = new CopernicaRestAPI("your-access-token", 4);
// 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"
}