Перейти до вмісту
Для ШІ та розробників

Технічна довідка з імпорту карток

Ця довідка описує, як створювати посилання для імпорту карток Rememberry: формат даних, приклади коду для кодування посилань та вставлення даних.

Скопіюйте інструкції у свою розмову

Скопіюйте повідомлення та вставте його у свій чат ШІ.

Переглянути повідомлення
Створи картки Rememberry з корисних слів і фраз у цій розмові. Якщо потрібно, запитай, які мови використати. Відповідай українською. Технічні інструкції нижче достатні без відкриття сайту.

Use a JSON object {"v":1,"source":"ai","cards":[{"o":"hola","t":["hello"],"sl":"es","tl":"en"}]}. cards must be nonempty. o is original text; t contains 1–10 translations; sl and tl are exact supported language codes. Each original/translation must contain non-whitespace text and be at most 200 JavaScript UTF-16 code units, including surrounding whitespace. The app trims surrounding whitespace. Language pairs may differ between cards. No deck metadata. source is optional; ai and share control guidance, unknown values are accepted as neutral. Supported codes: af, sq, am, ar, hy, az, eu, be, bn, bs, bg, ca, ceb, crh, crh-Latn, ny, zh-cn, zh-tw, co, hr, cs, da, nl, en, eo, et, tl, fi, fr-ca, fr-fr, fy, gl, ka, de, el, gu, ht, ha, haw, he, hi, hmn, hu, is, ig, id, ga, it, ja, jw, kn, kk, km, rw, ko, ku, ckb, ky, lo, la, lv, lt, lb, mk, mg, ms, ml, mt, mi, mr, mn, my, ne, no, or, ps, fa, pl, pt-br, pt-pt, pa, ro, ru, sm, sa, gd, sr, st, sn, sd, si, sk, sl, so, es, es-mx, su, sw, sv, tg, ta, te, th, tr, uk, ur, ug, uz, vi, cy, xh, yi, yo, zu. French uses fr-fr or fr-ca (not fr), Portuguese pt-br or pt-pt, Chinese zh-cn or zh-tw. Ask which variant to use when unclear.
Direct link: https://app.rememberry.in/#import=<encodeURIComponent(JSON.stringify(payload))>. Encode only compact JSON once with UTF-8 percent encoding, not base64, not the whole URL, never query parameters. Complete URL limit: 8000 characters. Split larger batches into independent complete payloads. All cards must be valid or the entire batch is rejected.

If you have a code execution tool, RUN the JavaScript recipe below with your cards and return each resulting URL as a Markdown link labeled Add cards to Rememberry. Do not encode character by character or invent a URL. If you cannot execute code, return the complete v1 payload as ONE JSON code block with no commentary inside it, plus [Open Rememberry import](https://app.rememberry.in/#import). Tell me to copy the JSON, open that link and paste it. Paste accepts raw JSON or a single fenced JSON block, up to 100000 JavaScript UTF-16 code units; split larger payloads. The user previews cards, chooses or creates a deck, and explicitly saves. Sign in first if needed, then reopen the link. Link imports and sharing require the seven-day Demo or Pro.

function buildRememberryLinks(cards) {
  if (!Array.isArray(cards) || cards.length === 0) throw new Error('No cards');
  const prefix = 'https://app.rememberry.in/#import=';
  const encode = (batch) => {
    const payload = { v: 1, source: 'ai', cards: batch };
    const json = JSON.stringify(payload);
    const url = prefix + encodeURIComponent(json);
    if (JSON.stringify(JSON.parse(decodeURIComponent(url.slice(prefix.length)))) !== json) {
      throw new Error('Encoding round trip failed');
    }
    return url;
  };
  const links = [];
  let batch = [];
  for (const card of cards) {
    if (encode([card]).length > 8000) throw new Error('One card exceeds URL limit');
    const next = [...batch, card];
    if (encode(next).length > 8000) {
      links.push(encode(batch));
      batch = [card];
    } else {
      batch = next;
    }
  }
  links.push(encode(batch));
  return links;
}

Full guide: https://www.rememberry.in/docs/card-import

Посилання не працює? Вставте картки

Попросіть ШІ надати всі дані карток одним блоком JSON. Скопіюйте блок, відкрийте імпорт Rememberry і натисніть «Вставити» або вставте дані в текстове поле. Перегляньте картки перед збереженням. Обсяг вставлених даних обмежено 100 000 кодових одиниць UTF-16 у JavaScript.

Відкрити імпорт Rememberry

Формат імпорту версії 1

Технічна довідка нижче призначена для ШІ та тих, хто створює посилання для імпорту. Посилання містить текст карток і мови, без даних колоди чи прогресу навчання.

Use a JSON object {"v":1,"source":"ai","cards":[{"o":"hola","t":["hello"],"sl":"es","tl":"en"}]}. cards must be nonempty. o is original text; t contains 1–10 translations; sl and tl are exact supported language codes. Each original/translation must contain non-whitespace text and be at most 200 JavaScript UTF-16 code units, including surrounding whitespace. The app trims surrounding whitespace. Language pairs may differ between cards. No deck metadata. source is optional; ai and share control guidance, unknown values are accepted as neutral. Supported codes: af, sq, am, ar, hy, az, eu, be, bn, bs, bg, ca, ceb, crh, crh-Latn, ny, zh-cn, zh-tw, co, hr, cs, da, nl, en, eo, et, tl, fi, fr-ca, fr-fr, fy, gl, ka, de, el, gu, ht, ha, haw, he, hi, hmn, hu, is, ig, id, ga, it, ja, jw, kn, kk, km, rw, ko, ku, ckb, ky, lo, la, lv, lt, lb, mk, mg, ms, ml, mt, mi, mr, mn, my, ne, no, or, ps, fa, pl, pt-br, pt-pt, pa, ro, ru, sm, sa, gd, sr, st, sn, sd, si, sk, sl, so, es, es-mx, su, sw, sv, tg, ta, te, th, tr, uk, ur, ug, uz, vi, cy, xh, yi, yo, zu. French uses fr-fr or fr-ca (not fr), Portuguese pt-br or pt-pt, Chinese zh-cn or zh-tw. Ask which variant to use when unclear.
Direct link: https://app.rememberry.in/#import=<encodeURIComponent(JSON.stringify(payload))>. Encode only compact JSON once with UTF-8 percent encoding, not base64, not the whole URL, never query parameters. Complete URL limit: 8000 characters. Split larger batches into independent complete payloads. All cards must be valid or the entire batch is rejected.

Приклад даних

{
  "v": 1,
  "source": "ai",
  "cards": [
    {
      "o": "ありがとう",
      "t": [
        "thank you"
      ],
      "sl": "ja",
      "tl": "en"
    }
  ]
}

Створюйте посилання за допомогою коду

Виконайте один із прикладів із масивом cards вашого об’єкта даних. JavaScript: buildRememberryLinks(payload.cards). Python: build_rememberry_links(payload["cards"]). Обидва повертають список посилань, ділять картки на групи з посиланнями до 8 000 символів і перевіряють відновлення даних після кодування. Перед кодуванням перевірте поля карток за описом формату. Надайте кожне посилання з підписом «Додати картки в Rememberry». Якщо виконати код неможливо, скористайтеся вставленням даних, описаним вище.

JavaScript

function buildRememberryLinks(cards) {
  if (!Array.isArray(cards) || cards.length === 0) throw new Error('No cards');
  const prefix = 'https://app.rememberry.in/#import=';
  const encode = (batch) => {
    const payload = { v: 1, source: 'ai', cards: batch };
    const json = JSON.stringify(payload);
    const url = prefix + encodeURIComponent(json);
    if (JSON.stringify(JSON.parse(decodeURIComponent(url.slice(prefix.length)))) !== json) {
      throw new Error('Encoding round trip failed');
    }
    return url;
  };
  const links = [];
  let batch = [];
  for (const card of cards) {
    if (encode([card]).length > 8000) throw new Error('One card exceeds URL limit');
    const next = [...batch, card];
    if (encode(next).length > 8000) {
      links.push(encode(batch));
      batch = [card];
    } else {
      batch = next;
    }
  }
  links.push(encode(batch));
  return links;
}

Python

import json
from urllib.parse import quote, unquote

def build_rememberry_links(cards):
    if not isinstance(cards, list) or not cards:
        raise ValueError('No cards')
    prefix = 'https://app.rememberry.in/#import='
    def encode(batch):
        payload = {'v': 1, 'source': 'ai', 'cards': batch}
        text = json.dumps(payload, ensure_ascii=False, separators=(',', ':'))
        url = prefix + quote(text, safe="~()*!.'-")
        if json.loads(unquote(url[len(prefix):])) != payload:
            raise ValueError('Encoding round trip failed')
        return url
    links, batch = [], []
    for card in cards:
        if len(encode([card])) > 8000:
            raise ValueError('One card exceeds URL limit')
        next_batch = batch + [card]
        if len(encode(next_batch)) > 8000:
            links.append(encode(batch))
            batch = [card]
        else:
            batch = next_batch
    links.append(encode(batch))
    return links

Підтримувані коди мов

Використовуйте точні коди зі списку. Французька: fr-fr або fr-ca; португальська: pt-br або pt-pt; китайська: zh-cn або zh-tw. Виберіть потрібний варіант мови, не вигадуйте коди.

af, sq, am, ar, hy, az, eu, be, bn, bs, bg, ca, ceb, crh, crh-Latn, ny, zh-cn, zh-tw, co, hr, cs, da, nl, en, eo, et, tl, fi, fr-ca, fr-fr, fy, gl, ka, de, el, gu, ht, ha, haw, he, hi, hmn, hu, is, ig, id, ga, it, ja, jw, kn, kk, km, rw, ko, ku, ckb, ky, lo, la, lv, lt, lb, mk, mg, ms, ml, mt, mi, mr, mn, my, ne, no, or, ps, fa, pl, pt-br, pt-pt, pa, ro, ru, sm, sa, gd, sr, st, sn, sd, si, sk, sl, so, es, es-mx, su, sw, sv, tg, ta, te, th, tr, uk, ur, ug, uz, vi, cy, xh, yi, yo, zu

Доступ і збереження

Імпорт карток і обмін ними доступні протягом семиденного Демо режиму та з Pro. Обмеження Демо режиму на імпорт файлів колод не поширюється на цей імпорт карток. Одна недійсна картка скасовує імпорт усієї групи. Відкриття посилання нічого не зберігає автоматично. Після скасування або збереження фрагмент імпорту видаляється з адреси; повторний імпорт тих самих карток може створити дублікати. Якщо потрібно ввійти в акаунт, зробіть це спочатку, а потім знову відкрийте початкове посилання або вставте дані.

Генерація карток з ШІ