MAILCORE · MANAGEMENT API
Hisobni boshqarish API
Integratsiya yoki AI agent orqali cheklangan kalit bilan tashkilotlar, domenlar, pochta va Email API loyihalarini boshqaring.
Tez boshlash
Hisob sozlamalari → API tokenlar bo‘limida token yarating. Tayyor huquqlar to‘plami, kerakli resurslar va amal qilish muddatini tanlang. Sir faqat bir marta ko‘rsatiladi. Uni integratsiyangizning sirlar omborida saqlang.
# MAILCORE_MANAGEMENT_TOKEN is supplied by your secret store.
curl --fail-with-body https://mailcore.uz/api/management/v1/token/verify \
--header "Authorization: Bearer $MAILCORE_MANAGEMENT_TOKEN" \
--header 'Accept: application/json'
curl --fail-with-body https://mailcore.uz/api/management/v1 \
--header "Authorization: Bearer $MAILCORE_MANAGEMENT_TOKEN"Boshqaruv kaliti mcm_ bilan boshlanadi. mck_ yuborish kalitlari alohida Email API uchun ishlaydi. Xat yuborish uchun loyiha va oqimga email_keys.write huquqi bilan yuborish kaliti yarating.
AI agentga OpenAPI havolasini va MAILCORE_MANAGEMENT_TOKEN muhit o‘zgaruvchisi nomini bering. Agent avval token va ruxsat etilgan resurslarni tekshiradi, so‘ng siz ruxsat bergan o‘zgarishlarni bajaradi. Kalitni topshiriq matniga kiritmang.
Ruxsat va resurslar
- Hisob: token yaratuvchisi hozir kira oladigan barcha tashkilot va resurslar.
- Tashkilotlar: faqat tanlangan tashkilotlar va ulardagi ruxsat etilgan amallar.
- Domenlar: faqat tanlangan domenlar, ularning pochtasi va bog‘liq Email API loyihalari.
- Loyihalar: faqat tanlangan Email API loyihalari, ochiq
eaw_…ID orqali.
Token huquqlari har doim yaratuvchining joriy huquqlari bilan cheklanadi. A’zolik olib tashlansa, rol pasaysa, token bekor qilinsa yoki muddati tugasa, tegishli kirish to‘xtaydi. To‘lov, jamoa, yuborish kalitlari va webhook uchun huquqlar alohida. Domen va loyiha tokeni butun tashkilot moliyasiga kirish bermaydi.
Amallar uchun huquqlar
O‘qish resurslar va ro‘yxatlarni olishga ruxsat beradi. O‘zgartirish o‘qish hamda mavjud yaratish va yangilash amallarini o‘z ichiga oladi. Har bir metod kerakli huquqni ko‘rsatadi; domen huquqi o‘z-o‘zidan pochta qutilari yoki yuborish kalitlariga ruxsat bermaydi.
account · organizations · team · domains · mailboxes · aliases
email_projects · email_activity · email_keys · webhooks · billing · audit
<group>.read / <group>.writeAmallar jurnali faqat o‘qish uchun: audit.read. Token orqali hodisalarni o‘zgartirish yoki o‘chirish mumkin emas.
Domen va pochtani ulash
- Tashkilot yarating yoki tanlang va domen qo‘shing. Javobda domen va ulanish buyurtmasi ID’lari keladi.
- Tashkilot, domen va buyurtma ID’lari bilan ulanishni oling. DNS provayderingizda berilgan TXT yozuvni qo‘shing va egalikni tekshiring.
- Tarif va saqlash parametrlarini tanlang, to‘lov havolasini oling va to‘lov holatini tekshiring. Moliyaviy amallar uchun
billing.writekerak. - Pochtani yaratishni boshlang va amal hamda buyurtma holatini kuzating. Kerakli MX/SPF/DKIM/DMARC yozuvlarini qo‘shing va yakuniy DNS tekshiruvini bajaring.
API kerakli DNS yozuvlarini beradi va tekshiradi. Yozuvlar DNS provayderida o‘zgartiriladi. Bank kartasi va bank kodi xavfsiz to‘lov sahifasida tasdiqlanadi; API kerakli amal va havolani qaytaradi.
Email API loyihalari
Tasdiqlangan tashkilot domenida loyiha yarating. Marketingni alohida yoqing, DNS’ni sozlang, tekshiruvni boshlang va yuborish kalitlari hamda webhook yarating. Xatlar, paketlar va navbat faoliyati uchun email_activity.read kerak; transactional va marketing oqimlari alohida.
Paketlar, narxlar va qolgan xatlar uchun billing.read bilan GET /organizations/{organization_id}/email-api/billing ni chaqiring. Bu metod faqat moliyaviy ma’lumotlarni qaytaradi. Paket sotib olish uchun billing.write kerak.
Takroriy so‘rovlar va fon amallari
Har bir POST uchun Idempotency-Key kerak. Yangi amal uchun yangi qiymat ishlating; tarmoq uzilishidan so‘ng ayni so‘rovni ayni qiymat bilan takrorlang. Ayni kalit bilan boshqa ma’lumot yuborish ziddiyatga olib keladi. Sir yaratishni takrorlashdan oldin natijani tekshiring: yo‘qolgan sir qayta ko‘rsatilmaydi.
Pochta va resurs o‘zgarishlari cheklangan navbatda bajariladi. Muvaffaqiyatli HTTP javobi amal tugaganini emas, navbatga olinganini bildirishi mumkin. Qaytgan amal holatini kuzating. Boshlanmagan amal bajarilishidan oldin token va yaratuvchi huquqlari qayta tekshiriladi. Tokenni bekor qilish tugagan o‘zgarishni ortga qaytarmaydi.
Retry-After ni hisobga oling, vaqtinchalik xatolarni oshib boruvchi tanaffus bilan takrorlang va bir nechta tez-tez so‘rov siklini ishlatmang. Odatiy limit: token uchun daqiqasiga 120, hisob uchun 600 ta so‘rovgacha. Xat yuborishda alohida limit va navbat bor.
Alohida pochta qutisi yoki taxallus amali holati: GET /organizations/{organization_id}/domains/{domain_id}/operations/{operation_id}. Oraliq holatlar — queued, leased, retry; yakunlangan — done, xato — dead. Faqat javobda canRetry ruxsat berilsa takrorlang; parol amali uchun yangi parol kerak bo‘lishi mumkin.
Xatolar va jurnal
Javoblarda requestId bor; X-Request-Id sarlavhasi yordam xizmatiga so‘rovni topishga yordam beradi. 401 — kalit yaroqsiz; 403 — amal yoki resursga ruxsat yo‘q; 409 — holat yoki versiya ziddiyati; 422 — maydonlar xato; 429 — so‘rov limiti. Bog‘liq xizmatning vaqtinchalik xatosi alohida bildiriladi. O‘zgartirishdan oldin resursning joriy versiyasini oling.
Tashkilot amallari jurnali uchun audit.read kerak. Yordam xizmatiga so‘rov ID’si, xato kodi va vaqtini bering. Token, parol, bank kodi yoki sirli so‘rov tanasini yubormang.
Metodlar ma’lumotnomasi
Asosiy manzil: https://mailcore.uz/api/management/v1. Resurs ID’lari aniq beriladi; API brauzerda tanlangan tashkilotni o‘zgartirmaydi. Jadvalda mavjud metodlar va kerakli huquqlar bor. So‘rov maydonlari va qiymatlar OpenAPI’da berilgan.
| Metod | Yo‘l | Huquq |
|---|---|---|
| GET | /account | account.read |
| GET | /organizations | organizations.read |
| POST | /organizations | organizations.write |
| GET | /organizations/{organization_id} | organizations.read |
| GET | /organizations/{organization_id}/team | team.read |
| POST | /organizations/{organization_id}/team/invitations | team.write |
| POST | /organizations/{organization_id}/team/members/{account_id} | team.write |
| POST | /organizations/{organization_id}/team/invitations/{invitation_id}/revoke | team.write |
| POST | /organizations/{organization_id}/team/invitations/{invitation_id}/resend | team.write |
| GET | /account/invitations | account.read |
| POST | /account/invitations/{invitation_id}/accept | account.write |
| GET | /organizations/{organization_id}/domains | domains.read |
| POST | /organizations/{organization_id}/domains | domains.write |
| GET | /organizations/{organization_id}/domains/{domain_id} | domains.read |
| POST | /organizations/{organization_id}/domains/{domain_id}/services | domains.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/mail-readiness/check | domains.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/ownership/renew | domains.write |
| GET | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id} | domains.read |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/ownership/verify | domains.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/dns/setup-mode | domains.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/dns/domain-connect | domains.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/plan | billing.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/checkout | billing.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/provision | mailboxes.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/provision/recover | mailboxes.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/orders/{order_id}/dns/verify | domains.write |
| GET | /organizations/{organization_id}/domains/{domain_id}/mailboxes | mailboxes.read |
| POST | /organizations/{organization_id}/domains/{domain_id}/mailboxes | mailboxes.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/mailboxes/{mailbox_id}/suspend | mailboxes.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/mailboxes/{mailbox_id}/resume | mailboxes.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/mailboxes/{mailbox_id}/password-resets | mailboxes.write |
| GET | /organizations/{organization_id}/domains/{domain_id}/aliases | aliases.read |
| POST | /organizations/{organization_id}/domains/{domain_id}/aliases | aliases.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/aliases/{alias_id}/retarget | aliases.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/aliases/{alias_id}/offboard | aliases.write |
| POST | /organizations/{organization_id}/domains/{domain_id}/operations/{operation_id}/retry | mailboxes.write|aliases.write |
| GET | /organizations/{organization_id}/domains/{domain_id}/operations/{operation_id} | mailboxes.read|aliases.read |
| GET | /organizations/{organization_id}/domains/{domain_id}/capacity-quote | billing.read |
| POST | /organizations/{organization_id}/domains/{domain_id}/capacity-increases | billing.write |
| GET | /organizations/{organization_id}/domains/{domain_id}/capacity-increases/{change_id} | billing.read |
| GET | /organizations/{organization_id}/domains/{domain_id}/storage-quote | billing.read |
| POST | /organizations/{organization_id}/domains/{domain_id}/storage-increases | billing.write |
| GET | /organizations/{organization_id}/domains/{domain_id}/storage-increases/{entitlement_id} | billing.read |
| GET | /organizations/{organization_id}/subscription | billing.read |
| POST | /organizations/{organization_id}/subscription/{subscription_id}/cancel | billing.write |
| POST | /organizations/{organization_id}/subscription/{subscription_id}/resume | billing.write |
| POST | /organizations/{organization_id}/subscription/card/authorize | billing.write |
| GET | /organizations/{organization_id}/invoices/{invoice_id} | billing.read |
| POST | /organizations/{organization_id}/invoices/{invoice_id}/checkout | billing.write |
| GET | /organizations/{organization_id}/payment-attempts/{attempt_id} | billing.read |
| GET | /organizations/{organization_id}/email-api | email_projects.read |
| GET | /organizations/{organization_id}/email-api/billing | billing.read |
| POST | /organizations/{organization_id}/email-api/checkouts | billing.write |
| POST | /organizations/{organization_id}/email-api/projects | email_projects.write |
| GET | /organizations/{organization_id}/email-api/projects/{project_id} | email_projects.read |
| POST | /organizations/{organization_id}/email-api/projects/{project_id}/check | email_projects.write |
| POST | /organizations/{organization_id}/email-api/projects/{project_id}/marketing/enable | email_projects.write |
| GET | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/keys | email_keys.read |
| POST | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/keys | email_keys.write |
| POST | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/keys/revoke | email_keys.write |
| GET | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/webhooks | webhooks.read |
| POST | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/webhooks | webhooks.write |
| POST | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/webhooks/disable | webhooks.write |
| GET | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/activity/overview | email_activity.read |
| GET | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/activity/messages | email_activity.read |
| GET | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/activity/messages/{message_id} | email_activity.read |
| GET | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/activity/batches | email_activity.read |
| GET | /organizations/{organization_id}/email-api/projects/{project_id}/{stream}/activity/batches/{batch_id} | email_activity.read |
| GET | /organizations/{organization_id}/audit | audit.read |
Yuklab olish
Kontraktni dasturlash vositalaringizga import qiling. Misollar oddiy kod bo‘lib, rasmiy SDK emas.
OpenAPI 3.1Postman CollectionAI vositalari uchun hujjatlar