Treatstock API Документация по API Документация по API Для работы с нашим API Вам понадобится <api token> . Есть два типа токенов API: закрытый ключ и открытый ключ загрузки . Закрытый ключ обеспечивает полный доступ к API и не должен разглашаться пользователям, иначе у них появится возможность получать конфиденциальные данные о загрузках 3D-моделей другими пользователями. Открытый ключ загрузки ограничен для загрузки только новых моделей. Наш API поддерживает следующие форматы файлов для 3D-печати: STL, PLY и 3MF. Нужна помощь? Обратитесь в службу технической поддержки.
Получить API токены
Документация Treatstock API для Postman Загрузить
Чтобы загрузить файл 3D-модели, Вы должны сделать следующие запросы:
POST https://www.treatstock.com/api/v2/printable-packs/?private-key=<api-key>
с параметрами поста
files - файлы 3d модели (stl)location[country] - (не обязательно) - укажите iso-код страны https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 . Если Вы хотите получить цену за печать, Вы должны установить один из следующих параметров местоположения: страна или ip.location[ip] - (необязательно) - укажите ip клиента.
Примеры запросов
POST Запрос на загрузку файла
Пример CURL:
curl -F "files[]=@robots.stl" -F location[ip]=83.69.106.68 https://www.treatstock.com/api/v2/printable-packs?private-key=<api-token>
или
curl -F "files[]=@robots.stl" -F location[ip]=83.69.106.68 -F description="Some model description" https://www.treatstock.com/api/v2/printable-packs?private-key=<api-
или
curl -F "files[]=@robots.stl" -F location[country]=US https://www.treatstock.com/api/v2/printable-packs?private-key=<api-token>
или
curl -F "files-urls[]=https://mysite.com/my-model.stl" -F location[country]=US https://www.treatstock.com/api/v2/printable-packs?private-key=<api-token>
Результат для POST-запроса в формате JSON:
{
" success " : true ,
" id " : 223672 ,
" redir " : " https://www.treatstock.com/catalog/model3d/preload-printable-pack?packPublicToken=e6c2f63-60815dd-2f91e10 " ,
" widgetUrl " : " https://www.treatstock.com/api/v2/printable-pack-widget/?apiPrintablePackToken=e6c2f63-60815dd-2f91e10 " ,
" widgetHtml " : " <!-- ApiWidget: e6c2f63-60815dd-2f91e10 --><link href='https://www.treatstock.com/css/embed-user.css' rel='stylesheet' /><iframe class='ts-embed-userwidget' width='100%' height='650px' src='https://www.treatstock.com/api/v2/printable-pack-widget/?apiPrintablePackToken=e6c2f63-60815dd-2f91e10' frameborder='0'></iframe> " ,
" parts " : {
" MP:1815136 " : {
" uid " : " MP:1815136 " ,
" name " : " test.stl " ,
" qty " : 1 ,
" hash " : " 7e02f089e3e508459c967de27c10d45c "
}
}
}
id - создаётся распечатываемый идентификатор пакета
redir - ссылка для доступа к созданной 3D модели (ключ используется для личного доступа). Обратите внимание, что эта 3D-модель будет действительна только в течение 24 часов
widgetUrl - может использоваться для отмены вставки в iframe с пользовательскими настройками
widgetHtml - пожалуйста, вставьте этот код на страницу html, чтобы отобразить виджет Treatstock
Результат для запроса POST с примером ошибки:
{
" success " : false ,
" errors " : {
" file " : [
" No file "
],
}
}
Получить минимальную цену для загруженных файлов 3D-моделей
curl https://www.treatstock.com/api/v2/printable-packs/<id>?private-key=<api-token>
где <id> - это идентификатор из ответа на загрузку
Пример результата:
{
" id " : 223674 ,
" model3d_id " : 2965969 ,
" created_at " : " 2019-07-29 10:33:03 " ,
" affiliate_price " : " 0.0000 " ,
" affiliate_currency " : " USD " ,
" calculated_min_cost " : {
" materialGroup " : " PLA " ,
" color " : " White " ,
" cost " : 5.74
},
" success " : true ,
" scaleUnit " : " mm " ,
" largestPartSize " : {
" length " : 32.567 ,
" width " : 65.245 ,
" height " : 65.246 ,
" measure " : " mm "
},
" parts " : {
" MP:1815145 " : {
" uid " : " MP:1815145 " ,
" name " : " test.stl " ,
" qty " : 1 ,
" hash " : " 7e02f089e3e508459c967de27c10d45c " ,
" size " : {
" length " : 32.567 ,
" width " : 65.245 ,
" height " : 65.246 ,
" measure " : " mm "
},
" originalSize " : {
" length " : 32.567 ,
" width " : 65.245 ,
" height " : 65.246 ,
" measure " : " mm "
},
" weight " : 27.5 ,
" texture " : {
" color " : " White " ,
" materialGroup " : " PLA "
}
}
}
}
Расчётная стоимость - это минимальная цена для материала PLA и белого цвета.
Установите коэффициенты масштабирования или количество для пакета для печати по API Установите единицу измерения в дюймах:
curl -X PUT -d scaleUnit=in https://www.treatstock.com/api/v2/printable-packs/<id>?private-key=<api-token>
или в см:
curl -X PUT -d scaleUnit=cm https://www.treatstock.com/api/v2/printable-packs/<id>?private-key=<api-token>
или в мм:
curl -X PUT -d scaleUnit=mm https://www.treatstock.com/api/v2/printable-packs/<id>?private-key=<api-token>
изменить количество:
curl -X PUT -d qty["MP:1815155"]=7 https://www.treatstock.com/api/v2/printable-packs/<id>?private-key=<api-token>
где <id> - это идентификатор из ответа на загрузку
Пример результата:
{
" success " : true ,
}
Получите цены на разные материалы. Если вы укажете расположение печати, Вы сможете получать цены на разные материалы.
Пример CURL:
curl "https://www.treatstock.com/api/v2/printable-pack-costs/?printablePackId=<id>&private-key=e48b318e6dfa95718ef7f79e82af9de2"
или
curl "https://www.treatstock.com/api/v2/printable-pack-costs/?printablePackId=<id>&private-key=e48b318e6dfa95718ef7f79e82af9de2&location[ip]=83.69.106.68"
или
curl "https://www.treatstock.com/api/v2/printable-pack-costs/?printablePackId=<id>&private-key=e48b318e6dfa95718ef7f79e82af9de2&location[country]=US"
или
curl "https://www.treatstock.com/api/v2/printable-pack-costs/?printablePackId=<id>&private-key=e48b318e6dfa95718ef7f79e82af9de2&location[country]=US&&printerMaterialGroup=Pla&printerColor=Black"
Пример результата:
[
{
" printablePackId " : 30 ,
" materialGroup " : " Plastic2 " ,
" printer " : " US PS: Ditto-pro " ,
" color " : " Blue " ,
" price " : 4 ,
" url " :" https://www.treatstock.com/model3d/preload-printable-pack?packPublicToken=0...e&printerMaterialGroupId=6&printerColorId=90 "
},
{
" printablePackId " : 30 ,
" materialGroup " : " Plastic2 " ,
" printer " : " US 6: MakerBot Replicator " ,
" color " : " White " ,
" price " : 2.53 ,
" url " :" https://www.treatstock.com/model3d/preload-printable-pack?packPublicToken=0...e&printerMaterialGroupId=7&printerColorId=91 "
}
]
Если вы получите {"reason": "not_calculated_yet", "success": false}, попробуйте еще раз.
Сделать заказ Чтобы разместить заказ, вам необходимо получить providerId из запроса API "printable-pack-costs".
POST запрос
POST https://www.treatstock.com/api/v2/place-order/create?private-key=746189ff56c6b27
с параметрами POST:
{
" printablePackId " : " 223682 " ,
" providerId " : " 1371 " ,
" comment " : " Please print it as fast as possible. " ,
" location " : {
" email " : " test@company.com " ,
" company " : " Big company "
},
" shippingAddress " : {
" country " : " US " ,
" zip " : " 20003 " ,
" city " : " WASHINGTON " ,
" state " : " DC " ,
" street " : " 727 C ST SE " ,
" firstName " : " Bill " ,
" lastName " : " Jobs "
},
" modelTextureInfo " : {
" isOneMaterialForKit " : " 1 " ,
" modelTexture " : {
" color " : " Green " ,
" materialGroup " : " PLA "
}
}
}
Ответ:
{
" orderId " : 26448 ,
" total " : 132.02 ,
" url " : " https://www.treatstock.com/workbench/order/view/26448 "
}
Возможные ошибки: Ответ на недействительный адрес доставки:
{
" errors " : {
" deliveryform-street " : " This address is not supported by Treatstock Delivery Service. Please select another address. Reason: Address not found. "
}
}
Ответ в случае, если система предложит свой (утверждённый) вариант адреса вместо заданного:
{
" validatedAddress " : {
" id " : 58214 ,
" contact_name " : " User name " ,
" country " : " US " ,
" state " : " DC " ,
" city " : " WASHINGTON " ,
" street " : " 10 4TH ST SE " ,
" street2 " : null ,
" zip " : " 20003 " ,
" comment " : null ,
" phone " : null ,
" email " : " test@test.com " ,
" company " : null
}
}
Ответ в случае, если служба 3D-печати не может распечатать:
{
" success " : false ,
" message " : " Specified provider cannot print with given details "
}
Ответ, информирующий о недействительном запросе к API:
{
" success " : false ,
" message " : " Please specify printablePackId. "
}
Получите возможные группы материалов для принтера и цвета. Если Вам нужен полный список возможных групп материалов и цветов, Вы можете использовать этот запрос..
Пример CURL:
curl "https://www.treatstock.com/api/v2/material-group-colors/?private-key=e48b318e6dfa95718ef7f79e82af9de2"
Пример результата:
[
{
" code " : " Metals and Alloys " ,
" description " : " Aluminum, stainless steel, titanium, nickel and cobalt chromium are the available materials which are industrial grade metals that are laser sintered from metal powder. " ,
" colors " : [
{
" code " : " Silver " ,
" rgb " : " 230,232,230 "
},
{
" code " : " Gray " ,
" rgb " : " 190,190,190 "
}
]
}
]
Ограничения Ограничения для одного ключа api.
7 подключений одновременно для GET
15 подключений одновременно для POST
30 подключений одновременно для PUT
Один тип подключения независимо от других типов..
Примеры PHP Вы можете использовать оболочку api для нашего api:: https://github.com/Treatstock/apiv2/
Нужна помощь? Обратитесь в службу технической поддержки
Помогла ли вам эта информация?
Да |
Нет