API
Terug naar website
Quickstart

Je eerste request in vijf minuten.

Aan het eind van deze pagina heb je een OAuth2-token opgehaald, je taal gevonden, een profiel gelezen en geschreven en een async batch job gestart.

Elke call voor catalogus en doelgroep hoort bij een taal. In stap 2 haal je een language_id op die je daarna overal gebruikt.

1Vraag een access token aan

De API gebruikt de OAuth2-client-credentials-flow. Wissel je client id en secret in voor een kort geldig access token en stuur dat als Bearer token mee met elke request.

POST/oauth/token
curl -X POST https://app.reloadify.com/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET"
  }'
$res = $client->post('https://app.reloadify.com/oauth/token', [
  'json' => [
    'grant_type'    => 'client_credentials',
    'client_id'     => getenv('RELOADIFY_CLIENT_ID'),
    'client_secret' => getenv('RELOADIFY_CLIENT_SECRET'),
  ],
]);
$token = json_decode($res->getBody())->access_token;
import os, requests

token = requests.post(
    "https://app.reloadify.com/oauth/token",
    json={
        "grant_type": "client_credentials",
        "client_id": os.environ["RELOADIFY_CLIENT_ID"],
        "client_secret": os.environ["RELOADIFY_CLIENT_SECRET"],
    },
).json()["access_token"]
require "httparty"

token = HTTParty.post(
  "https://app.reloadify.com/oauth/token",
  body: {
    grant_type: "client_credentials",
    client_id: ENV["RELOADIFY_CLIENT_ID"],
    client_secret: ENV["RELOADIFY_CLIENT_SECRET"]
  }
)["access_token"]

2Zoek je taal op

Vraag de talen (winkels of markten) op die je met je credentials kunt gebruiken. Het id van één taal gebruik je in elk pad voor catalogus en doelgroep.

GET/v2/languages
curl https://app.reloadify.com/api/v2/languages \
  -H "Authorization: Bearer {access_token}"
$languages = json_decode(
  $client->get('/api/v2/languages', $auth)->getBody()
);
languages = requests.get(
    "https://app.reloadify.com/api/v2/languages",
    headers={"Authorization": f"Bearer {token}"},
).json()
languages = HTTParty.get(
  "https://app.reloadify.com/api/v2/languages",
  headers: { "Authorization" => "Bearer #{token}" }
)
Response · 200
[
  { "id": "42", "name": "Nederlands", "code": "nl", "active": "true" },
  { "id": "43", "name": "English",    "code": "en", "active": "true" }
]

3Vraag profielen op

Lees de profielen van een taal. Lijsten zijn gepagineerd met page en per_page (maximaal 250) en accepteren de filters updated_after/created_after, zodat je alleen synchroniseert wat er veranderd is.

GET/v2/languages/{language_id}/profiles
curl "https://app.reloadify.com/api/v2/languages/42/profiles?per_page=3" \
  -H "Authorization: Bearer {access_token}"
$profiles = json_decode(
  $client->get('/api/v2/languages/42/profiles', [
    'query' => ['per_page' => 3],
  ] + $auth)->getBody()
);
profiles = requests.get(
    "https://app.reloadify.com/api/v2/languages/42/profiles",
    params={"per_page": 3},
    headers={"Authorization": f"Bearer {token}"},
).json()
profiles = HTTParty.get(
  "https://app.reloadify.com/api/v2/languages/42/profiles",
  query: { per_page: 3 },
  headers: { "Authorization" => "Bearer #{token}" }
)

4Maak een profiel aan of werk het bij

Stuur een PUT met een profile-object om het profiel aan te maken, of bij te werken als er al een profiel met dat id/email bestaat. Alleen email is verplicht.

PUT/v2/languages/{language_id}/profiles
curl -X PUT https://app.reloadify.com/api/v2/languages/42/profiles \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "profile": {
      "email": "noor@example.com",
      "first_name": "Noor",
      "subscribed_to_newsletter": true,
      "gender": "female"
    }
  }'
$client->put('/api/v2/languages/42/profiles', [
  'json' => ['profile' => [
    'email'                    => 'noor@example.com',
    'first_name'               => 'Noor',
    'subscribed_to_newsletter' => true,
  ]],
] + $auth);
requests.put(
    "https://app.reloadify.com/api/v2/languages/42/profiles",
    headers={"Authorization": f"Bearer {token}"},
    json={"profile": {
        "email": "noor@example.com",
        "first_name": "Noor",
        "subscribed_to_newsletter": True,
    }},
)
HTTParty.put(
  "https://app.reloadify.com/api/v2/languages/42/profiles",
  headers: { "Authorization" => "Bearer #{token}", "Content-Type" => "application/json" },
  body: { profile: { email: "noor@example.com", first_name: "Noor" } }.to_json
)

5Synchroniseer in bulk met batch jobs

Importeer je duizenden records? Stuur ze naar het batch_jobs-endpoint van de resource. Dat geeft direct een batch_id terug en verwerkt alles asynchroon; daarna vraag je het resultaat op.

POST/v2/languages/{language_id}/profiles/batch_jobs
curl -X POST https://app.reloadify.com/api/v2/languages/42/profiles/batch_jobs \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{ "profiles": [ { "email": "a@example.com" }, { "email": "b@example.com" } ] }'

# → 202 { "batch_id": "abc123", "status": "queued", "status_url": "…" }

# vraag de status op tot de job klaar is en lees dan de resultaten per record
curl https://app.reloadify.com/api/v2/batch_jobs/abc123 \
  -H "Authorization: Bearer {access_token}"

Volgende stappen