Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
84 lines
5.8 KiB
Plaintext
84 lines
5.8 KiB
Plaintext
---
|
|
title: نقل البيانات
|
|
description: استيراد وتصدير بيانات CRM عبر ملفات CSV أو عبر API.
|
|
---
|
|
|
|
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
|
|
|
|
## طرق الاستيراد
|
|
|
|
تدعم Twenty طريقتين رئيستين لاستيراد البيانات:
|
|
|
|
| طريقة | الأفضل لـ | حد الحجم |
|
|
| --------------------- | ----------------------------------- | ------------------ |
|
|
| **استيراد CSV** | عمليات ترحيل قياسية، تحديثات منتظمة | 10,000 سجل لكل ملف |
|
|
| **الاستيراد عبر API** | عمليات ترحيل واسعة النطاق، أتمتة | غير محدود |
|
|
|
|
<Note>بالنسبة لمجموعات البيانات الكبيرة جداً (مئات الآلاف من السجلات)، استخدم API. يمكن لشركائنا في [التنفيذ](/l/ar/user-guide/getting-started/capabilities/implementation-services) المساعدة في تشغيل هذه النصوص البرمجية عند الحاجة.</Note>
|
|
|
|
## أساسيات استيراد CSV
|
|
|
|
يمكنك استيراد البيانات لأي جسم باستخدام ملفات CSV أو XLSX أو XLS. يجب أن يحتوي كل ملف على **نوع واحد فقط من الأجسام** (مثلًا، سجلات الأشخاص فقط).
|
|
|
|
<Note>**يجب أن تكون الحقول موجودة قبل الاستيراد.** يؤدي رفع ملف CSV إلى إنشاء سجلات لكنه لا ينشئ حقولاً. إذا كنت تحتاج إلى حقول مخصّصة، فأنشئها أولاً ضمن **الإعدادات → نموذج البيانات**.</Note>
|
|
|
|
### الخطوات
|
|
|
|
1. انتقل إلى الجسم الذي تريد استيراد البيانات إليه
|
|
2. انقر أيقونة **⋮** في أعلى اليمين (هذه هي قائمة الأوامر) ثم انقر **استيراد السجلات**
|
|
3. قم بتنزيل ملف القالب للتأكد من أن بياناتك بالتنسيق المتوقع
|
|
4. ارفع ملف CSV المُنسَّق الخاص بك
|
|
5. طابِق أعمدتك مع حقول Twenty
|
|
6. راجِع الأخطاء (المظلَّلة باللون الأصفر) وأصلحها من خلال التحرير مباشرةً في واجهة المستخدم
|
|
7. أكد الاستيراد
|
|
|
|
### استيراد العلاقات بين الكائنات
|
|
|
|
يمكنك استيراد العلاقات بين الكائنات باستخدام وظيفة استيراد CSV. تحتاج إلى الإشارة إلى الجسم المرتبط باستخدام حقل فريد من هذا الجسم: `id`، و`email` للأشخاص وأعضاء مساحة العمل، و`domain` للشركات، وأي حقل آخر مُعيَّن كفريد في نموذج البيانات لأي جسم آخر.
|
|
|
|
<Note>**تُحتسب السجلات المحذوفة ضمن التفرّد.** السجلات المحذوفة حذفاً ناعماً (المرئية ضمن قائمة الأوامر → عرض السجلات المحذوفة) تُدرج ضمن عمليات التحقق من التفرّد. إذا قمتَ باستيراد سجل بالقيمة الفريدة نفسها لسجل محذوف، فسيتم استعادة السجل المحذوف.</Note>
|
|
|
|
<Warning>
|
|
**ترتيب الاستيراد مهم!**
|
|
|
|
عند استيراد أجسام مترابطة، ارفع الملفات بهذا الترتيب:
|
|
1. **الشركات** أولاً (جانب "الواحد" من العلاقات)
|
|
2. **الأشخاص** ثانيًا (مرتبطون بالشركات عبر companyId)
|
|
3. **الفرص** ثالثًا (مرتبطة بالشركات/الأشخاص)
|
|
4. **الأجسام المخصّصة** ذات العلاقات أخيراً
|
|
|
|
لماذا؟ يجب أن يكون جانب "الواحد" من علاقة واحد إلى متعدد موجودًا قبل أن تتمكن من الإشارة إليه. على سبيل المثال، يجب أن يكون سجل الشركة موجودًا قبل أن تستورد شخصًا يحمل معرّف تلك الشركة.
|
|
</Warning>
|
|
|
|
يرجى الرجوع إلى [هذه المقالة](/l/ar/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) للاطلاع على دليل خطوة بخطوة حول كيفية المتابعة.
|
|
|
|
## تصدير البيانات
|
|
|
|
صدّر بيانات مساحة العمل للنسخ الاحتياطي أو إعداد التقارير أو الترحيل.
|
|
|
|
### الخطوات
|
|
|
|
1. انتقل إلى الجسم الذي تريد تصديره
|
|
2. قم بتهيئة العرض بالأعمدة التي تحتاجها
|
|
3. انقر **⋮** → **تصدير العرض**
|
|
4. احفظ ملف CSV
|
|
|
|
<Note>**يتم تصدير الأعمدة المرئية فقط.** سيحتوي ملف CSV فقط على الأعمدة المعروضة في عرضك الحالي. أضِف الأعمدة أو أخفها قبل التصدير للتحكم في البيانات المُدرجة.</Note>
|
|
|
|
<Note>**حدود التصدير**: حتى 20,000 سجل لكل عملية تصدير.</Note>
|
|
|
|
## الصلاحيات
|
|
|
|
يتطلّب استيراد وتصدير البيانات أذونات محددة:
|
|
|
|
* **الاستيراد**: يتطلب إذن "Import CSV"
|
|
* **التصدير**: يتطلب إذن "Export CSV"
|
|
|
|
تواصل مع مسؤول مساحة العمل لديك إذا لم تكن تملك هذه الأذونات.
|
|
|
|
## الخطوات التالية
|
|
|
|
* [حضّر ملفات CSV الخاصة بك](/l/ar/user-guide/data-migration/how-tos/prepare-your-csv-files)
|
|
* [استيراد العلاقات بين الأجسام](/l/ar/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
|
|
* [الاستيراد عبر API لمجموعات البيانات الكبيرة](/l/ar/user-guide/data-migration/how-tos/import-data-via-api)
|