آگاه‌سازی‌ها
پاک‌کردن همه

ثبت فاکتور،دریافت و rest api

6 ارسال ها
2 کاربران
0 Likes
318 نمایش‌
0
شروع کننده موضوع

با سلام و تشکر بابت راهنمایی های شما تا به این لحظه لطفا در رابطه با موارد ذیل راهنمایی بفرمایید:

1- کد:

  <?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header/>
<s:Body>
<SaveInvoice xmlns="http://tempuri.org/">

<username>admin</username>
<password>admin</password>

<invoice
xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<d4p1:CrmObjectTypeCode>SalesInvoice</d4p1:CrmObjectTypeCode>
<d4p1:IdentityId>4631b8e4-b360-4c8d-ae3c-d34c43b88fbd</d4p1:IdentityId>

<d4p1:Subject>فاکتور تست SOAP</d4p1:Subject>
<d4p1:AssignedTo>Admin</d4p1:AssignedTo>

<d4p1:InvoiceDate>2025-11-13T02:55:21.283</d4p1:InvoiceDate>
<d4p1:VatPercent>9</d4p1:VatPercent>

<d4p1:Details>
<d4p1:InvoiceDetailInfo>
<d4p1:ProductId>46da9490-ee92-42df-ba61-64d62b4da6b9</d4p1:ProductId>
<d4p1:ProductCode>Product-1</d4p1:ProductCode>
<d4p1:ProductName>محصول اول</d4p1:ProductName>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:ProductUnitTypeName>قطعه</d4p1:ProductUnitTypeName>
<d4p1:BaseUnitPrice>100000</d4p1:BaseUnitPrice>
<d4p1:Count>1</d4p1:Count>
<d4p1:FinalUnitPrice>109000</d4p1:FinalUnitPrice>
<d4p1:TotalUnitPrice>100000</d4p1:TotalUnitPrice>
<d4p1:TotalVat>9000</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
</d4p1:Details>

<d4p1:TotalValue>100000</d4p1:TotalValue>
<d4p1:Vat>9000</d4p1:Vat>
<d4p1:FinalValue>109000</d4p1:FinalValue>

</invoice>

</SaveInvoice>
</s:Body>
</s:Envelope>

روی دامنه ی دمو درخواست میشه اما خطای

The service was not able to process your request [item 0]
s:Clientusername can not be null or empty
میگیره ، دسترسی های یوزر، مدیر هست و تمامی آنها از جمله ذخیره ی اولیه ی آیتم هم فعاله علاوه بر این فیلدی در فاکتور تیک الزامی مازاد بر ملزومات مستندات هم نخورده که از این بایت مشکل ساز بشه لطفا نمونه کد تست شده رو ارسال بفرمایید.
 
2- لطفا نمونه کد تست شده برای متد ثبت دریافت رو هم ارسال بفرمایید.
 
3- با فراخوانی http://pgtestagent.demo.payamgostar.com/api/ خطا دریافت میشه، آیا دسترسی ها به rest api  بسته است؟ اگر بله بفرمایید به چه صورت اقدام کنم؟ 
 
با تشکر
4 پاسخ
0

با سلام و احترام

1. کد create invoice شما اصلاح شد.

 

<s:Envelopexmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
</s:Header>
<s:Body>
<SaveInvoicexmlns="http://tempuri.org/">
<userName>admin</userName>
<password>admin</password>
<invoiceInfoxmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts"xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<d4p1:CrmObjectTypeCode>SalesInvoice</d4p1:CrmObjectTypeCode>
<d4p1:IdentityId>4631b8e4-b360-4c8d-ae3c-d34c43b88fbd</d4p1:IdentityId>
<d4p1:Subject>test</d4p1:Subject>
<d4p1:FinalValue>100</d4p1:FinalValue>
<d4p1:Details>
<d4p1:InvoiceDetailInfo>
<d4p1:BaseUnitPrice>100</d4p1:BaseUnitPrice>
<d4p1:Count>1</d4p1:Count>
<d4p1:FinalUnitPrice>100</d4p1:FinalUnitPrice>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:ProductCode>Product-1</d4p1:ProductCode>
<d4p1:TotalDiscount>0</d4p1:TotalDiscount>
<d4p1:TotalToll>0</d4p1:TotalToll>
<d4p1:TotalUnitPrice>0</d4p1:TotalUnitPrice>
<d4p1:TotalVat>0</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
</d4p1:Details>
<d4p1:Discount>0</d4p1:Discount>
<d4p1:InvoiceType>invoice</d4p1:InvoiceType>
<d4p1:Toll>0</d4p1:Toll>
<d4p1:TollPercent>0</d4p1:TollPercent>
<d4p1:TotalDiscountPercent>0</d4p1:TotalDiscountPercent>
<d4p1:TotalValue>100</d4p1:TotalValue>
<d4p1:Vat>0</d4p1:Vat>
<d4p1:VatPercent>0</d4p1:VatPercent>
</invoiceInfo>
</SaveInvoice>
</s:Body>
</s:Envelope>
 
 
 
2. سمپل برای دریافت
 
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
  </s:Header>
  <s:Body>
    <SavePayment xmlns="http://tempuri.org/">
      <userName>admin</userName>
      <password>؟؟؟</password>
      <paymentInfo xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <d4p1:CrmObjectTypeCode>Receipt_1</d4p1:CrmObjectTypeCode>
        <d4p1:IdentityId>de6ebafa-117c-4f34-892c-8e6301658d09</d4p1:IdentityId>
        <d4p1:Subject>تست</d4p1:Subject>
        <d4p1:FinalValue>100</d4p1:FinalValue>
        <d4p1:CrmPaymentType>Receipt</d4p1:CrmPaymentType>
        <d4p1:PayDate>2025-11-16T10:03:00</d4p1:PayDate>
        <d4p1:PaymentType>نقدی</d4p1:PaymentType>
      </paymentInfo>
    </SavePayment>
  </s:Body>
</s:Envelope>
 
 
 
3. دسترسی به rest api ها از طریق لینک زیر امکان پذیر میباشد.

 

0
شروع کننده موضوع

سلام وقت بخیر 

کد به این شکل تنظیم شد: 

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<SaveInvoice xmlns="http://tempuri.org/">
<userName>admin</userName>
<password>admin</password>
<invoiceInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts">
<d4p1:CrmObjectTypeCode>FACTOR</d4p1:CrmObjectTypeCode>
<d4p1:CrmObjectTypeId>97a23dc2-b54c-495b-8133-80c0c37adebf</d4p1:CrmObjectTypeId>
<d4p1:CrmObjectTypeIndex>5</d4p1:CrmObjectTypeIndex>
<d4p1:IdentityId>a3968425-049a-43ea-a798-8811e88a46fd</d4p1:IdentityId>
<d4p1:Subject>تست ن8ن (فاکتور فروش)</d4p1:Subject>
<d4p1:FinalValue>3612188</d4p1:FinalValue>
<d4p1:TotalValue>3663200</d4p1:TotalValue>
<d4p1:Discount>42738.5</d4p1:Discount>
<d4p1:DiscountPercent>3.5</d4p1:DiscountPercent>
<d4p1:Toll>0</d4p1:Toll>
<d4p1:TollPercent>0</d4p1:TollPercent>
<d4p1:Vat>0</d4p1:Vat>
<d4p1:VatPercent>0</d4p1:VatPercent>
<d4p1:TotalDiscountPercent>3.5</d4p1:TotalDiscountPercent>
<d4p1:InvoiceType>Invoice</d4p1:InvoiceType>
<d4p1:Details>
<d4p1:InvoiceDetailInfo>
<d4p1:ProductId>405a20b2-603e-467c-a098-a0ba7c5f4cec</d4p1:ProductId>
<d4p1:ProductCode>gold-18k-parsian-2pack-kids50-1</d4p1:ProductCode>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:Count>1</d4p1:Count>
<d4p1:BaseUnitPrice>11202000</d4p1:BaseUnitPrice>
<d4p1:FinalUnitPrice>1178361.5</d4p1:FinalUnitPrice>
<d4p1:TotalUnitPrice>1178361.5</d4p1:TotalUnitPrice>
<d4p1:InvoiceProperty0>0</d4p1:InvoiceProperty0>
<d4p1:InvoiceProperty1>9</d4p1:InvoiceProperty1>
<d4p1:InvoiceProperty2>1</d4p1:InvoiceProperty2>
<d4p1:InvoiceProperty3>0</d4p1:InvoiceProperty3>
<d4p1:InvoiceProperty4>0</d4p1:InvoiceProperty4>
<d4p1:TotalDiscount>42738.5</d4p1:TotalDiscount>
<d4p1:TotalToll>8200</d4p1:TotalToll>
<d4p1:TotalVat>0</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
</d4p1:Details>
</invoiceInfo>
</SaveInvoice>
</s:Body>
</s:Envelope>

 

در خروجی به این صورت میاد:

a
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><SaveInvoiceResponse xmlns="http://tempuri.org/"><SaveInvoiceResult xmlns:a="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:Message>ردیفی برای فاکتور تعریف نشده است</a:Message><a:Success>false</a:Success><a:CrmId>00000000-0000-0000-0000-000000000000</a:CrmId></SaveInvoiceResult></SaveInvoiceResponse></s:Body></s:Envelope>

 

چندین متغیر رو عوض کردم اما بازم خطا میگیرم

این هم خروجی soapui واقعی فاکتورم:

 

 

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<FindInvoiceByIdResponse xmlns="http://tempuri.org/">
<FindInvoiceByIdResult xmlns:a="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Message i:nil="true"/>
<a:Success>true</a:Success>
<a:InvoiceInfo>
<a:CreatDate>2025-11-16T10:11:45.813</a:CreatDate>
<a:CrmId>a3ddc04a-9f53-484f-9f10-04a4aa5a6e7d</a:CrmId>
<a:CrmObjectTypeCode>FACTOR</a:CrmObjectTypeCode>
<a:CrmObjectTypeId>97a23dc2-b54c-495b-8133-80c0c37adebf</a:CrmObjectTypeId>
<a:CrmObjectTypeIndex>5</a:CrmObjectTypeIndex>
<a:CrmObjectTypeName>فاکتور فروش (شمش،سکه)</a:CrmObjectTypeName>
<a:ExtendedProperties>
<a:BaseCrmObjectExtendedPropertyInfo>
<a:Name>ننننن</a:Name>
<a:UserKey>fgfgf</a:UserKey>
<a:Value/>
</a:BaseCrmObjectExtendedPropertyInfo>
</a:ExtendedProperties>
<a:ModifyDate>2025-11-16T10:11:46.283</a:ModifyDate>
<a:ParentCrmObjectId>e891dd2d-251c-4b69-b1f8-9bf49f787aef</a:ParentCrmObjectId>
<a:ProcessStateIndex i:nil="true"/>
<a:RefId/>
<a:Stage/>
<a:StageId i:nil="true"/>
<a:Tags xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:Description/>
<a:IdentityId>1c8ddc2e-810d-432d-836b-c070584db02a</a:IdentityId>
<a:Subject>تست</a:Subject>
<a:BillableObjectState>تایید و شماره گذاری شده</a:BillableObjectState>
<a:FinalValue>5869228.00</a:FinalValue>
<a:Number>6817</a:Number>
<a:AdditionalCosts>69000.00</a:AdditionalCosts>
<a:AssignedTo>admin</a:AssignedTo>
<a:AssignedToId>cbebf403-74a7-496d-b989-4a4472aeec6f</a:AssignedToId>
<a:Details>
<a:InvoiceDetailInfo>
<a:BaseUnitPrice>11184000.00</a:BaseUnitPrice>
<a:Count>0.5000</a:Count>
<a:DetailDescription/>
<a:DiscountPercent>3.200</a:DiscountPercent>
<a:FinalUnitPrice>5792028.00</a:FinalUnitPrice>
<a:Id>10823</a:Id>
<a:InventoryCode/>
<a:InventoryName/>
<a:InvoiceProperty0>0</a:InvoiceProperty0>
<a:InvoiceProperty1>7.000</a:InvoiceProperty1>
<a:InvoiceProperty10/>
<a:InvoiceProperty11/>
<a:InvoiceProperty12/>
<a:InvoiceProperty13/>
<a:InvoiceProperty14/>
<a:InvoiceProperty15/>
<a:InvoiceProperty16/>
<a:InvoiceProperty17/>
<a:InvoiceProperty18/>
<a:InvoiceProperty19/>
<a:InvoiceProperty2>1</a:InvoiceProperty2>
<a:InvoiceProperty3>0.00</a:InvoiceProperty3>
<a:InvoiceProperty4>0.00</a:InvoiceProperty4>
<a:InvoiceProperty5/>
<a:InvoiceProperty6/>
<a:InvoiceProperty7/>
<a:InvoiceProperty8/>
<a:InvoiceProperty9/>
<a:IsService>false</a:IsService>
<a:ProductCode>parsian 0.500</a:ProductCode>
<a:ProductId>0ad2f6d8-df57-480f-9fdf-c40679f7dcca</a:ProductId>
<a:ProductName>سکه پارسیان ۵۰۰ سوت (۰٫۵۰۰گرمی طلای ۱۸ عیار) [وزن]: 0.5 [اج ساخته]: 0 [اج درصدسکه]: 7 [اج ثابت ]:</a:ProductName>
<a:ProductUnitTypeName>گرم</a:ProductUnitTypeName>
<a:ReturnedCount>0</a:ReturnedCount>
<a:Serial/>
<a:TotalDiscount>191472.00</a:TotalDiscount>
<a:TotalToll>0.00</a:TotalToll>
<a:TotalUnitPrice>5983500.00</a:TotalUnitPrice>
<a:TotalVat>0.00</a:TotalVat>
</a:InvoiceDetailInfo>
</a:Details>
<a:Discount>191472.00</a:Discount>
<a:DiscountPercent>3.20</a:DiscountPercent>
<a:ExpireDate i:nil="true"/>
<a:InvoiceDate>2025-11-16T10:11:45.843</a:InvoiceDate>
<a:InvoiceType>Invoice</a:InvoiceType>
<a:PriceListName i:nil="true"/>
<a:QuoteId i:nil="true"/>
<a:Toll>8200.00</a:Toll>
<a:TollPercent>0</a:TollPercent>
<a:TotalDiscountPercent>3.20</a:TotalDiscountPercent>
<a:TotalValue>5983500.00</a:TotalValue>
<a:Vat>0.00</a:Vat>
<a:VatPercent>0</a:VatPercent>
</a:InvoiceInfo>
<a:InvoiceInfoList i:nil="true"/>
</FindInvoiceByIdResult>
</FindInvoiceByIdResponse>
</s:Body>
</s:Envelope>

0
شروع کننده موضوع

با متد rest هم این کد رو میفرستم و crmid میگیرم:

{
"crmObjectTypeCode": "FACTOR",
"identityId": "a3968425-049a-43ea-a798-8811e88a46fd",
"subject": "تست  (فاکتور فروش)",
"discountPercent": 3.5,
"invoiceDate": "2025-11-17T21:01:38.844Z",
"expireDate": "2025-11-17T21:01:38.844Z",

"details": [
{
"productId": "405a20b2-603e-467c-a098-a0ba7c5f4cec",
"productCode": "gold-18k-parsian-2pack-kids50-1",
"isService": false,

"count": 1,
"baseUnitPrice": 11202000,
"totalUnitPrice": 11202000,

"discountPercent": 3.5,
"totalToll": 8200,

"invoiceProperty0": 0,
"invoiceProperty1": 9,
"invoiceProperty2": 1,
"invoiceProperty3": 0,
"invoiceProperty4": 0
}
]
}

 

اما مشکلی که اینجا هم دارم اینه که مقادیر invoiceproperty نمیشینه

 

هر کردوم از راههای بالا رو بگید که به نتیجه برسم ممنون میشم ولی اگه متد rest رو بگید بهتر ممنونم

 

این رو هم اضافه کنم که فاکتور های من از نوع محاسباتیه و اکسل و فرمول داره که توی crm بارگذاری و تعریف شده

این نوشته در 3 هفته قبل 2 بار توسط haghanigold اصلاح شد
m.yadegar 28 آبان 1404 11:50 ق.ظ

@haghanigold
با سلام
invoiceproperty فیلد های اضافه ردیف فاکتور هستن که به فاکتور اضافه میشوند. من متوجه نشدم این فیلدها محاسباتی هستن یا extended property های اضافه شده به فاکتور؟

haghanigold شروع کننده موضوع 30 آبان 1404 5:39 ب.ظ

سلام ممنونم
بله این ها invoiceproperty هستند مثلا اجرت یا سود یا هزینه ی ارسال یا هزینه ی جعبه و مقادیرش هم ریالی یا درصدی هستند، اون موضوعی که عرض کردم این بود که فاکتورم از نوع محاسباتیه یعنی در تنظیمات فاکتور تیک محاسباتی رو زدم و یک اکسل فرمول دار رو بارگذاری کردم و invoiceproperty رو روش تنظیم کردم

0

با سلام و احترام

با سلام و احترام
در rest api ها متاسفانه invoiceproperty مشکل دارد که به زودی توسط تیم فنی مرتفع خواهد شد.
در سرویس های soap مشکلی ندارند.

اروری که ارسال فرمودید "ردیفی برای فاکتور تعریف نشده است" میباشد مربوط به invoiceproperty نمیباشد.

نمونه کد زیر بدون خطا میباشد.

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
</s:Header>
<s:Body>
<SaveInvoice xmlns="http://tempuri.org/">
<userName>admin</userName>
<password>؟؟؟</password>
<invoiceInfo xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<d4p1:CrmObjectTypeCode>sales_invoice</d4p1:CrmObjectTypeCode>
<d4p1:ExtendedProperties>
<d4p1:BaseCrmObjectExtendedPropertyInfo>
<d4p1:Name>تست متن</d4p1:Name>
<d4p1:UserKey>Text_1</d4p1:UserKey>
<d4p1:Value>تست</d4p1:Value>
</d4p1:BaseCrmObjectExtendedPropertyInfo>
</d4p1:ExtendedProperties>
<d4p1:IdentityId>de6ebafa-117c-4f34-892c-8e6301658d09</d4p1:IdentityId>
<d4p1:Subject>فکتور تست</d4p1:Subject>
<d4p1:Details>
<d4p1:InvoiceDetailInfo>
<d4p1:BaseUnitPrice>100</d4p1:BaseUnitPrice>
<d4p1:Count>1</d4p1:Count>
<d4p1:FinalUnitPrice>100</d4p1:FinalUnitPrice>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:ProductCode>A1</d4p1:ProductCode>
<d4p1:ReturnedCount>0</d4p1:ReturnedCount>
<d4p1:TotalDiscount>0</d4p1:TotalDiscount>
<d4p1:TotalToll>100</d4p1:TotalToll>
<d4p1:TotalUnitPrice>100</d4p1:TotalUnitPrice>
<d4p1:TotalVat>0</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
<d4p1:InvoiceDetailInfo>
<d4p1:BaseUnitPrice>200</d4p1:BaseUnitPrice>
<d4p1:Count>1</d4p1:Count>
<d4p1:FinalUnitPrice>200</d4p1:FinalUnitPrice>
<d4p1:InvoiceProperty0>100</d4p1:InvoiceProperty0>
<d4p1:InvoiceProperty1>200</d4p1:InvoiceProperty1>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:ProductCode>A100</d4p1:ProductCode>
<d4p1:ReturnedCount>0</d4p1:ReturnedCount>
<d4p1:TotalDiscount>0</d4p1:TotalDiscount>
<d4p1:TotalToll>200</d4p1:TotalToll>
<d4p1:TotalUnitPrice>200</d4p1:TotalUnitPrice>
<d4p1:TotalVat>0</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
</d4p1:Details>
<d4p1:Discount>0</d4p1:Discount>
<d4p1:InvoiceType>Invoice</d4p1:InvoiceType>
<d4p1:Toll>0</d4p1:Toll>
<d4p1:TollPercent>0</d4p1:TollPercent>
<d4p1:TotalDiscountPercent>0</d4p1:TotalDiscountPercent>
<d4p1:TotalValue>300</d4p1:TotalValue>
<d4p1:Vat>0</d4p1:Vat>
<d4p1:VatPercent>0</d4p1:VatPercent>
</invoiceInfo>
</SaveInvoice>
</s:Body>
</s:Envelope>

اشتراک:
پیمایش به بالا