ساختار درخواست‌های ارسالی

همه درخواست ها باید در قالب JSON به همراه Header احراز هویت ارسال شود.

METHOD https://envoice.ir/api/v1/{api}
Authorization: "Bearer {api_key}"
Content-Type: "appplication/json"
تمامی مقادیر قرار گرفته در { } متغیر بوده و باید با مقادیر واقعی در درخواست جایگزین شود.

کدهای خطا

پردازش درخواست شما ممکن است با خطا همراه باشد. خطای رخ داده با کدهای استاندارد HTTP در پاسخ در خواست شما به شرح زیر ارسال می‌شود:

دریافت اطلاعات حساب و اشتراک

به کمک این API می‌توانید اطلاعات حساب و اشتراک خود را دریافت کنید

const api = new HttpClient();
api.setHeader("Authorization", "Bearer qEnovbIIQiQfUoG0qCRbjbd64HA1BvclahG7tdSjSvcaoaTAC3GXfLXB102ojDVq");
const res = api.Get("https://envoice.ir/api/v1/me");

# Result
{
   "bootstraped": true,
   "economic_code": "12345678900",
   "expiration": "2024-03-19T20:29:59Z",
   "fiscal_id": "A0002T",
   "name": "نام شرکت شما",
   "remainder": 367
}

درج یا بروزرسانی مشتری

به کمک این API می‌توانید اطلاعات مشتریان خود را به حساب کاربری خود انتقال دهید یا اطلاعات مشتریان را بروز کنید. در هرمرحله مجاز به ارسال 500 مشتری هستید

const api = new HttpClient();
api.setHeader("Authorization", "Bearer qEnovbIIQiQfUoG0qCRbjbd64HA1BvclahG7tdSjSvcaoaTAC3GXfLXB102ojDVq");
api.setHeader("Content-type", "application/json");
const body = {
   "on_exists": "ignore",
   "customers": [
      {
         "name": "شرکت صنایع فولاد اصفهان",
         "type": 2,
         "code": 1,
         "economic_code": "10000364889",
         "economic": "",
         "passport_no": "",
         "branch_no": "0000",
         "postal_code": "",
         "address": "",
         "province": "",
         "city": "",
      }
   ]
}
const res = api.Post("https://envoice.ir/api/v1/customer", body);

# Result On Success
{
   "created": 1,
   "updated": 0,
}

# Error Response Example
{
   "duplicate": ["3", "100044329123"],
   "name": ["required"],
   "economic_code": ["number", "legal"],
}
مقادیر اختیاری می‌تواند خالی باشد ولی نمی‌تواند به صورت null ارسال شود

بدنه درخواست

خطاهای اعتبار سنجی

در صورت بروز خطای اعتبارسنجی اطلاعات، نتیجه با کد 422 و به صورت آرایه ای از خطاهای رخ داده در جواب درخواست شما بازگردانده می‌شود.

نتیجه درخواست

صدور صورتحساب فروش

به کمک این API می‌توانید اقدام به صدور صورتحساب فروش در سامانه نمایید. در هرمرحله مجاز به ارسال 500 صورتحساب هستید

این درخواست تنها صدور صورتحساب با شناسه یکتا 22 کاراکتری را انجام می‌دهد و اطلاعات را به کاپوشه سامانه مودیان ارسال نمی‌کند
const api = new HttpClient();
api.setHeader("Authorization", "Bearer qEnovbIIQiQfUoG0qCRbjbd64HA1BvclahG7tdSjSvcaoaTAC3GXfLXB102ojDVq");
api.setHeader("Content-type", "application/json");
const body = {
   "invoices": [
      {
         "date": "1402-10-01",
         "serial": 0,
         "is_private": false,
         "is_consumer": false,
         "customer": "10000364889",
         "description": "Test invoice from api",
         "tax17": 0,
         "pay_mode": 1,
         "items": [
            {
               "product": "1200009301234",
               "amount": 3,
               "fee": 100000,
               "discount": 0,
               "cash": 0,
               "contract_id": "",
            },
            {
               "product": "4",
               "amount": 25,
               "fee": 100000,
               "discount": 0,
               "cash": 200000,
               "contract_id": "",
            }
         ]
      }
   ]
}
const res = api.Post("https://envoice.ir/api/v1/sale", body);

# Result On Success
[ "A0002T04D1300000000019" ]

# Error Response Example
{
   "customers": ["3", "100044329123"],
   "account": ["information"],
   "date": ["invalid", "future"],
}
مقادیر اختیاری می‌تواند خالی باشد ولی نمی‌تواند به صورت null ارسال شود
صورتحساب‌های داخلی دارای شناسه یکتای 22 کاراکتری نمی‌باشد

بدنه درخواست

خطاهای اعتبار سنجی

نتیجه درخواست

آرایه‌ای از شناسه یکتا صورتحساب‌های صادر شده در جواب درخواست ارسال می‌شود. برای صورتحساب‌های داخلی به جای شناسه یکتا شماره سریال ارسال می شود